Skip to main content

Tells and the report

A tell is a construction a model produces far more often than a person does. Not a mistake — most tells are grammatically fine. They are the fingerprints.

The report scores your draft as you type. It runs in your browser, against the active policy, with no network call and nothing sent anywhere.

Two dimensions

Every check feeds one of two numbers, and the split matters.

AI — evidence the text was machine-written. Em dash density, metronomic sentence rhythm, banned vocabulary, antithesis (not just X, but Y), throat-clearing openers (It is important to note that), triads of adjectives.

Voice — evidence the text does not sound like the target voice. Emoji. Profanity. These say nothing about whether a machine wrote it, so they do not move the AI number.

Keeping them apart is why the score is worth reading. Counting "contains an emoji" toward an AI percentage produces a plausible-looking number that means nothing.

The bands

VerdictShown as
cleanNo detected tells
fewA few tells
reviewReview recommended

The boundaries come from the deployment's tell policy, served by GET /api/policy. One copy, so the label and the number can never disagree.

What gets flagged

It is important to note that this is not just a change, but a transformation — one that will empower teams to unlock a robust, scalable, and seamless workflow.

This changes how teams work. The workflow gets faster and breaks less often.

Five findings in twenty-eight words: an opener that asserts nothing, an antithesis, two vocabulary hits, and a triad. None of them are errors. All of them are tells.

Findings you cannot see in a span

Some findings are about the document, not a phrase — sentence lengths that are too even, paragraphs that are all the same size. Those appear in the report without a highlight, because there is nothing to highlight. They are often the strongest signal in the draft.

The policy is configurable

Thresholds, vocabulary lists, and pattern rules live in a policy the operator can edit. The client ships with the defaults so the detector works before any fetch finishes, and forever if the fetch fails. GET /api/policy returns the active one.

What it is not

It is not a detector verdict on someone else's writing, and it should not be used as one. It tells you what a model tends to leave behind so you can take it out of your own draft. Detect is the same machinery pointed at a score rather than a rewrite, and it carries the same caveat.