← Back to app

AI detector rubric

This page lists every signal the in-product authenticity check uses. The live scorer reads the same YAML rubric as this page (via a build step) so documentation cannot drift from the model prompt.

Rubric version 1.1.0 · Last updated 2026-08-13. Scores start from a neutral baseline of 50 and move based on the weighted indicators below (clamped 0–100).

Modes

The UI chip summarises AI-likeness using score bands (human-polish and pure-human also consider mixed signals from the model).

  • Pure human — AI-likeness ≤ 24%
  • Human polish — 25–49%
  • AI-assisted — 50–79%
  • Pure AI — ≥ 80%

Excluded from scoring

  • code — Fenced or inline code — implementation detail, not author voice
  • log — Log or stack-trace style blocks
  • blockquote — Attributed or quoted third-party text
  • url — Raw URL tokens; link text is still scored

Very short posts (< 300 words after exclusions) bump uncertainty. Bodies longer than 5000 words are truncated for scoring.

One-click fixes, and when you will not get one

The strongest AI-like findings come with a suggested rewrite you can apply, undo, or ignore. Applying it edits your draft directly and marks the score as out of date until you re-run the check.

Some findings deliberately have no Apply button. Rewriting the wrong sentence is worse than offering nothing, so we refuse rather than guess when:

  • The wording repeats — the same phrase appears more than once, so we cannot tell which one was meant.
  • The text moved — you edited or regenerated since the check ran. Re-run it for fresh suggestions.
  • It sits in code or a link — we will not rewrite inside a code block, an image marker, or a URL.
  • It needs your judgement — some fixes call for a detail only you have, like a real number or a story. We say what to add rather than inventing it.

Findings in the “what’s working” list never have an Apply button — they describe writing worth keeping.

AI-like signals (increase the score)

Repetitive phrasing / same sentence shapes (ai-repetitive-phrasing)

Weight +8 to +15

Multiple paragraphs reuse the same opener, transition, or syntactic pattern.

Sounds AI-like

As noted earlier, planning is essential. Similarly, execution matters. As noted earlier, review is key.

Sounds human

Planning matters. Execution matters more — and most teams forget the third step: actually shipping.

Fix: Vary sentence openers; cut transitional crutches.

Mechanical transitions (ai-mechanical-transitions)

Weight +4 to +9

Phrases like Firstly / Secondly / Lastly or In conclusion used as filler rather than real structure.

Sounds AI-like

Firstly, plan. Secondly, execute. Lastly, review.

Sounds human

Plan first. Then ship something rough. Review only after it is live.

Fix: Remove numbered connectors; let one idea lead to the next in plain language.

Generic blog openers (ai-generic-openers)

Weight +5 to +10

Vague context-setting that could apply to any post in the category.

Sounds AI-like

In today’s fast-paced world, content is more important than ever.

Sounds human

We deleted half our blog posts last quarter — traffic went up.

Fix: Open with a specific image, number, or moment; delete throat-clearing.

Hedging / laundry-list qualifiers (ai-hedging-language)

Weight +4 to +8

Strings of mitigations (may, might, arguably) that blur any claim.

Sounds AI-like

It might arguably be suggested that performance could potentially improve.

Sounds human

This cut p95 latency by 38% on our worst tenant.

Fix: Make one falsifiable claim per paragraph.

Outline pasted as prose (ai-list-heavy-structure)

Weight +6 to +12

Dense bullets where each item has the same grammatical shape — reads like a slide deck.

Sounds AI-like

- Benefit one… - Benefit two… - Benefit three…

Sounds human

Two wins mattered — fewer timeouts, and support stopped paging us nightly.

Fix: Keep bullets sparse; turn the strongest items into narrative paragraphs.

Suspiciously uniform paragraphs (ai-perfect-symmetry)

Weight +5 to +10

Paragraphs are similar length with parallel closing rhythms — typical of templated generation.

Sounds AI-like

Three paragraphs each ending with "…which drives better outcomes."

Sounds human

Mixed lengths; one paragraph is a single blunt sentence.

Fix: Break rhythm on purpose — short punchy line after a dense paragraph.

Stock AI template phrases (ai-template-phrases)

Weight +5 to +10

Phrases like "delve into", "landscape", "robust", "leverage", "unlock value" without specifics.

Sounds AI-like

Let’s delve into the robust landscape of modern tooling.

Sounds human

We replaced Cron with a tiny worker — here is what broke first.

Fix: Swap abstract nouns for verbs you actually performed.

Abstraction without anchoring examples (ai-abstraction-no-examples)

Weight +7 to +14

Claims stay at principle level — no numbers, tools, dates, or places readers can picture.

Sounds AI-like

Teams should align stakeholders across the initiative lifecycle.

Sounds human

We rolled Postgres 15 on a Tuesday; rollback script lived in /ops/rollback.sh.

Fix: Add one concrete anchor — version, metric, filename, or date.

Human-like signals (decrease the score)

First-person experience with stakes (human-personal-stakes)

Weight -20 to -10

First-person story attached to a consequence — failure, trade-off, or uncomfortable choice.

Sounds AI-like

Teams should consider trade-offs before deploying.

Sounds human

We deployed on a Friday and our pager went off at 2 a.m. Never again.

Fix: Keep the honest anecdote — specificity lowers AI-likeness scores.

Specific proper nouns and numbers (human-specific-detail)

Weight -15 to -8

Named tools, versions, metrics, customers redacted but concrete ("tenant

Sounds AI-like

Monitoring helps catch issues faster.

Sounds human

Datadog fired before users noticed — p95 dropped from 4.2s to 890ms.

Fix: Swap vague benefits for one measurable delta.

Opinionated voice / mild bias (human-opinion-voice)

Weight -12 to -6

Takes a side; uses judgment words a neutral encyclopedia would avoid.

Sounds AI-like

Both approaches have merits.

Sounds human

I would ship the boring queue before the clever cache — every time.

Fix: State what you would do, not what "one might consider".

Conversational asides (human-conversational-asides)

Weight -10 to -5

Parenthetical humor, self-interruption, informal punctuation — marks human drafting rhythm.

Sounds AI-like

Organizations must prioritize reliability.

Sounds human

Reliability first — yes, even before the roadmap theme (sorry, PMs).

Fix: One aside per section is enough; keep it tight.

Imperfect rhythm / fragment sentences (human-imperfect-rhythm)

Weight -10 to -5

Deliberate fragments, em-dash thought breaks, uneven sentence length — unlike polished templates.

Sounds AI-like

It is important to note that implementation requires careful planning.

Sounds human

Careful planning — honestly? — matters less than starting messy.

Fix: Allow one fragment or short sentence for emphasis.

Domain jargon used precisely (human-domain-jargon-used-well)

Weight -12 to -6

Terms of art appear in context that proves the author works in the domain — not buzzword salad.

Sounds AI-like

Leverage synergies across the ecosystem.

Sounds human

We pinned libc at 2.35 — glibc DNS bug bit us last summer.

Fix: Define jargon by example, not by synonym chaining.

Rubric 1.1.0 · Educational heuristic only — not a forensic or legal claim about authorship.

We use analytics cookies to understand how the site is used. They are off until you accept. See our Privacy Policy.