Skip to content

Every phrase our AI detector looks for

Most detectors will not tell you what they are matching on. Ours is 70 regular expressions in 22 named categories, and this is all of them — the expressions as written, what each one weighs, and what each one actually did to the 48 licensed, dated, human- and machine-written samples in our published benchmark.

Phrases are one of four models in the score, and on their own they are the weakest kind of evidence about authorship: nearly everything below appears in human writing too. That is the point of showing them.

What the benchmark does and does not exercise

5 of the 22 labels appear anywhere in the 48-sample benchmark. That is a fact about the benchmark, not about the engine. 48 samples of 72-172 words do not contain an instance of most of what the detector looks for. Every label in the table fires on text matching its own pattern, and this file is regenerated by a script that fails the build if any of them stops doing so. The gap is a limit on what our published error rates can mean, and the reason the corpus is the thing worth widening.

Read that as a limit on us, not as a boast about coverage. A category that never appears in the benchmark is a category our published false positive and false negative rates say nothing about. Widening the corpus is what would change that.

The 13 categories with a page of their own

A label earns a URL when the engine spends 2 or more regex rows on it. One row is one phrase, and a page about one phrase is a page about a string. Two or more rows means the engine is describing a habit, which is the smallest thing a reader can be told something useful about. The single-row labels are listed in full, patterns included, rather than each being given a URL of its own.

AI vocabulary 16 patterns 2 human / 3 AI

Sixteen rows spanning weight 1 to weight 3 — everything from "delve into" to the word "significant". It is the largest single label in the engine and the one most likely to fire on ordinary prose.

Formal connector 4 patterns 2 human / 3 AI

Four rows, weight 2 each, matching the standard connectives of academic and administrative English. They are the only phrase family with a verdict floor of its own, shared with the structural markers.

GPT-4 closer 8 patterns 0 human / 1 AI

Eight rows, weight 1 to 3, matching the way a chat assistant ends a turn: an offer to revise, an invitation to reply, or a summarising adverb.

GPT-4 sycophant opener 7 patterns not in benchmark

Seven rows at weight 4 — the top weight in the engine — each anchored to the start of a line and each requiring the word to be followed immediately by punctuation.

GPT-4 labeled output 4 patterns not in benchmark

Four rows at weight 4 matching meta-commentary that leaked past an instruction to output only the text: an announcement, a claim of having done the work, or a bold label above it.

Structural marker 4 patterns not in benchmark

Four rows at weight 3 matching the signposts of a five-paragraph essay. They share a verdict floor with the formal connectors: hits of the two labels are counted together, and enough of them override the rest of the ensemble.

Hedging filler 3 patterns not in benchmark

Three rows at weight 3 matching the phrase families "it's important to note", "it is important to note" and "it's worth noting".

AI opening 3 patterns not in benchmark

Three rows at weight 3: an invitation to delve, an invitation to dive in, and the "in today's (world|digital|fast-paced|rapidly)" opener.

GPT-4 elevation 3 patterns not in benchmark

Three rows at weight 2, each matching a sentence-opening adverb followed by a comma.

AI metaphor 3 patterns not in benchmark

Three rows at weight 2 matching the habit of treating an abstract subject as terrain: a landscape to survey, a world to enter, a path to navigate.

Overused structure 2 patterns not in benchmark

Two rows at weight 3, both matching a fixed collocation rather than a single word.

Buzzword 2 patterns not in benchmark

Two rows at weight 2, both from the vocabulary of marketing rather than of chat assistants.

AI structure 2 patterns not in benchmark

Two rows at weight 1 — the lowest in the table — matching a purpose clause bolted onto a statement.

3 of these 13 appear in the benchmark; 10 do not, and their pages say so instead of showing an invented example.

The 9 single-phrase categories

These match exactly one expression each. A page about one phrase would be a page about a string, so they are published here in full instead — the same information, without a URL that exists to have a URL.

Vague summary weight 1 0 human / 2 AI
/\boverall\b/gi

The bare word "overall", weight 1. Note that "Overall," also matches a "GPT-4 closer" row, so the word contributes to both labels at once.

Meta-reference weight 1 1 human / 0 AI
/\bin this article\b/gi

One phrase: "in this article". Watch which side of the benchmark it fires on.

AI cliche weight 3 not in benchmark
/harness the power/gi

One phrase: "harness the power".

Cliche weight 1 not in benchmark
/\bat the end of the day\b/gi

One phrase: "at the end of the day".

Filler weight 1 not in benchmark
/\bwhen it comes to\b/gi

One phrase: "when it comes to".

GPT-4 sycophant phrase weight 4 not in benchmark
/\bi['']?d be happy to\b/gi

One phrase, at the table's top weight: "I'd be happy to".

Pompous connector weight 3 not in benchmark
/in the realm of/gi

Matches the exact string "in the realm of" and nothing else.

Prescriptive tone weight 1 not in benchmark
/\bit is essential\b/gi

One phrase: "it is essential".

Self-answered rhetorical weight 4 not in benchmark
/\?\s*(?:probably|maybe|honestly|sort of|kind of|hard to say|yes and no)\b/gi

A question mark followed immediately by a hedge ("? Probably", "? Honestly"). It carries weight 4 and contributes NOTHING to the score: an adversarial review showed one ordinary human sentence — "Would I watch it again? Probably not." — flipping a human film review in this benchmark from 13 to 80, because the hit re-armed the em-dash floor. Q&A, FAQ, interview and review writing are canonical human registers for the construction. It is now surfaced as an observation and never scored.

How to read any of this

A phrase match is not a finding about who wrote something. Our own benchmark contains human documents — a US federal rulemaking notice, peer-reviewed research published years before any general-purpose model existed — that trigger these categories, and machine-written documents that trigger none of them. We publish the resulting error rates, both directions, on the accuracy page.

If a detector score has been used against you, start with what a score actually proves. If you want to know which kinds of writing our engine scores highest, that ranking is published too, and it is close to inverted for the cases that matter.

Check your own text

Free, no account, and it names every category it matched along with the words that triggered it.

Run the detector

Generated 2026-08-28 by scripts/build-detector-tells.mjs from functions/api/tools/detect.js and the corpus files data/corpus-human-modern.json, data/corpus-ai-documented.json. Nothing on this page is typed by hand.