Telltale

Accuracy report, November 2026

98.3%of AI agent sessions caught.0people wrongly flagged as AI agents.

98.3% includes 14.8% at medium confidence, which is held for review and never charged; 83.5% is high confidence. This research data also informed our rules, so it shows how well they fit it, not an independent estimate. The recordings carry no device timing, so the 159 people stayed Unknown: none was flagged as an AI agent and none was read as Human.

Measured on a published research study of seven commercial AI agents and consenting people. What to keep in mind

1,410 AI agent sessions in the research test
High confidence: 1,178 of 1,410Medium confidence: 208 of 1,410Unknown: 24 of 1,4101,178208
Show as a table: AI agent sessions in the test
AI agent sessions in the test
VerdictSessionsShare
AI agent, high confidence1,17883.5%
AI agent, medium confidence20814.8%
Unknown241.7%
Mistaken for a person00%
Total1,410100%

Every agent in the study

Seven commercial agents did the same shopping, flight-booking and forum tasks. 4 were caught every time. Claude is the hardest: 89.8% caught, the rest left Unknown and never mistaken for a person.

Share of each agent's sessions, ranked by catch rate
  1. Atlas Atlas, high confidence: 196 of 196 100% 196 of 196
  2. ChatGPT Agent ChatGPT Agent, high confidence: 204 of 204 100% 204 of 204
  3. Comet Comet, high confidence: 203 of 203 100% 203 of 203
  4. Skyvern Skyvern, high confidence: 179 of 188Skyvern, medium confidence: 9 of 188 100% 188 of 188
  5. Browser Use Browser Use, high confidence: 206 of 223Browser Use, medium confidence: 15 of 223Browser Use, Unknown: 2 of 223 99.1% 221 of 223
  6. Manus Manus, high confidence: 119 of 210Manus, medium confidence: 88 of 210Manus, Unknown: 3 of 210 98.6% 207 of 210
  7. Claude Claude, high confidence: 71 of 186Claude, medium confidence: 96 of 186Claude, Unknown: 19 of 186 89.8% 167 of 186
Show as a table: AI agent sessions per agent
AI agent sessions per agent
AgentSessionsHigh confidenceMedium confidenceUnknownMistaken for a personCaught
Atlas196196000100%
ChatGPT Agent204204000100%
Comet203203000100%
Skyvern188179900100%
Browser Use223206152099.1%
Manus210119883098.6%
Claude186719619089.8%

People

0 of 159 people were wrongly flagged as AI agents.

Telltale only calls someone a person after it sees the input delay a real mouse or keyboard produces. These research recordings did not capture that delay. The chart shows the recorded results: 0 Human, 159 Unknown and 0 AI agent.

Separate modeled estimate: 130 of 159 recognised as a person (81.8%), an estimate assuming real mouse and keyboard input. People in the research recordings' test set, given the input timing a real mouse and keyboard show on live sites.

On live sites

Telltale recognises people from real hardware input, typically within a few seconds of moving the mouse and clicking. In our own testing, a person browsing a live site in Chrome was recognised as a person, and our own recorded sessions read Human.

One mark per person in the test
Show as a table: People in the test
People in the test
VerdictPeople
Flagged as AI agent0
Not yet confirmed (Unknown)159
Human0
Total159

What high and medium mean

Every AI agent verdict says how strong its evidence is. It's a band, not a probability, and it decides what happens next.

Confidence bands and what each does
ConfidenceWhat backs itProtected actionsBillingIn this test
HighA verified agent, signs of browser automation, input injected by software, or several independent behaviour signals agreeingFollows your AI agent rule, so Deny blocksChargeable1,178
MediumOne kind of behaviour pattern alone, such as how the pointer moved or how keys were typedHeld for review, such as a passkey check. You can switch it to blockNever charged208

Unknown means not enough evidence either way. It is never treated as a person, follows your rule for Unknown, and is never charged: 24 sessions here.

Agents built to imitate people

We built 20 agents to pass as people: smoothed mouse paths, human-like typing, a normal browser with automation hidden. They are a test set we set aside and never tuned on.

15 of 20 passed as a person in an earlier version; now 0 do, and 15 of 20 are caught with high confidence.

The other 5 stay Unknown.

The same 20 runs, before and now (one mark per run)
  1. Earlier 0 caught 5 Unknown 15 passed as a person
  2. Today 15 caught 5 Unknown 0 passed as a person
Show as a table: Agents built to imitate people, before and now
Agents built to imitate people, before and now
VersionCaughtUnknownMistaken for a person
Earlier version0515
Today1550

How fast

On the agents built to imitate people, every catch lands within 10 seconds of the first click or key press, and nothing changes after that.

When a person hands over to an agent, proof such as software-injected input or Claude's cursor driving the clicks switches the verdict at the next reading. We have checked this in tests, not yet on recorded handovers.

The 20 agents built to imitate people, seconds after their first interaction
  1. 0 of 202 s
  2. 5 of 205 s
  3. 15 of 2010 s
  4. 15 of 2020 s
  5. 15 of 2030 s
Show as a table: Agents built to imitate people, caught over time. Every catch here was high confidence.
Agents built to imitate people, caught over time. Every catch here was high confidence.
Seconds after the first click or key pressCaught, highUnknownMistaken for a person
2 s0200
5 s5150
10 s1550
20 s1550
30 s1550

How we measured

The research recordings come from FP-Agent: a research study of seven commercial AI agents and consenting people doing the same shopping, flight-booking and forum tasks (the study’s code).

  1. A test set we set aside. Every person and every agent task was assigned automatically to either rule-setting or testing, never by hand, and the test list was then locked.
  2. Only test sessions count. 1,410 agent sessions and 159 people from the study, plus the 20 runs of agents built to imitate people.
  3. Unknown is never a right answer. Not for agents and not for people. Its share is shown beside every figure.

What to keep in mind

  • This research data also informed how we set our rules, so it shows how well they fit it, not an independent estimate.
  • Results from live customer sites will follow.
  • Not covered yet: named agents in a normal visible browser, people using assistive technology such as screen readers, Safari, Firefox and phones.
For researchers: reproduce these numbers

Every number on this page is generated from the published data file and never edited by hand. The plain-text report has every test set, agent and confidence interval.

Test list fingerprint (SHA-256): da8d370870f4a59b4aea9e07ca920ff78e9e8c92f08ed4585e01a79ad2f2e7a6

# Adversarial humanisers: the committed runs are evaluation/bench/adversarial-2026-11-03.json (heuristic-v4.25), evaluation/bench/adversarial-2026-11-03-v432.json (heuristic-v4.32) and evaluation/bench/adversarial-2026-11-03-v433.json (heuristic-v4.33). To re-run (headless, muted; about 20 minutes):
node tools/detection-bench.js --kinds adversarial --seeds held-out --ports 4761-4769 --out .scratch/accuracy/adversarial.json
# FP-Agent page summaries and event replay input (needs the research dataset; see tools/fp-agent-benchmark/README.md)
.scratch/fp-agent-data/venv/bin/python -I tools/fp-agent-benchmark/pages.py RAW.json .scratch/accuracy/fp-pages.jsonl
.scratch/fp-agent-data/venv/bin/python -I tools/fp-agent-benchmark/convert.py RAW.json .scratch/accuracy/fp-events.jsonl
# The verdict over time
node tools/evidence-checkpoints.js --fp-agent-events .scratch/accuracy/fp-events.jsonl --adversarial evaluation/bench/adversarial-2026-11-03-v433.json --out .scratch/accuracy/checkpoints.json
# The report: the data file (JSON), this page (Markdown) and the /accuracy page, which renders from the JSON
node tools/accuracy-bench.js --date 2026-11-03 --adversarial evaluation/bench/adversarial-2026-11-03-v433.json --adversarial-before evaluation/bench/adversarial-2026-11-03-v432.json --compare heuristic-v4.32 --fp-agent-pages .scratch/accuracy/fp-pages.jsonl --fp-agent-events .scratch/accuracy/fp-events.jsonl --checkpoints .scratch/accuracy/checkpoints.json --json docs/public/accuracy-report-2026-11.json --markdown docs/public/accuracy-report-2026-11.md