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, and what each one weighs. A phrase match is a fact about a phrase, not about who wrote the text.

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 samples do and do not show

5 of the 22 phrase categories appear in the licensed samples we checked. That is a fact about those samples, not a claim about how often the detector is right. A category that does not appear is still a live rule. Absence from the samples limits what those samples can show.

A category that never appears in the samples is still a live rule. It says nothing about who wrote a new draft.

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 no sample hit

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 no sample hit

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 no sample hit

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 no sample hit

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 no sample hit

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 no sample hit

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

AI metaphor 3 patterns no sample hit

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 no sample hit

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

Buzzword 2 patterns no sample hit

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

AI structure 2 patterns no sample hit

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 licensed samples; 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 licensed samples it fires on.

AI cliche weight 3 no sample hit
/harness the power/gi

One phrase: "harness the power".

Cliche weight 1 no sample hit
/\bat the end of the day\b/gi

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

Filler weight 1 no sample hit
/\bwhen it comes to\b/gi

One phrase: "when it comes to".

GPT-4 sycophant phrase weight 4 no sample hit
/\bi['']?d be happy to\b/gi

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

Pompous connector weight 3 no sample hit
/in the realm of/gi

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

Prescriptive tone weight 1 no sample hit
/\bit is essential\b/gi

One phrase: "it is essential".

Self-answered rhetorical weight 4 no sample hit
/\?\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 these licensed samples 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. Human documents can trigger these categories, and machine-written documents can trigger none of them. Treat a score as a starting point, not proof.

If a detector score has been used against you, start with what a score actually proves. Formal writing can be flagged even when a person wrote every word: why that happens.

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-10-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.