Living WebsitesGet started

Two Checks an AI-Assisted Page Has to Pass Before It Ships

The content honesty gates are two open-source checks Bryan Benner built, the de-AI gate and the no-fabricate gate. One fails a build on the literal tells of machine-written prose; the other fails it on any statistic that has no cited source.

  • Guides
  • Insights
  • Tools
  • Proof
  • Picks

AI can draft a page in seconds. The two risks are quiet ones: prose that reads as machine-written, and numbers that nobody sourced. Asking a model to avoid both is a request, and a request can be ignored. This page shows the two checks that enforce it on this website, what they caught on test drafts, and what they do not check. For which business jobs suit AI automation in the first place, see AI consulting and automation for Niagara small business.

Check one: the de-AI gate

The de-AI gate reads the text of a page and looks for exact, known tells of machine-written prose. It does not guess how likely a passage is to be AI-written. It matches a fixed list, so every flag names the specific character or phrase it found.

The current list has four character tells and 16 phrase tells. The character tells are the em dash, the en dash, the single ellipsis character, and invisible spacing characters such as the no-break and zero-width space. The phrase tells are stock openers, summary lines and filler words that reliably show up in machine drafts. Softer patterns are left off the hard list on purpose, so the check stays quiet enough to trust.

The full catalog, the install steps and the safety tests are on the de-AI gate page.

Check two: the no-fabricate gate

The no-fabricate gate pulls every statistic out of a page and checks each one against a list of cited facts. If a figure has no matching entry, the build fails and the figure is named.

It treats five shapes as statistics: percentages, dollar figures, multipliers, ratios written as one number out of another, and scale words such as million or billion. Years, ordinals and section numbers are structural, so they never need a source. This site's own current prices are read from its pricing file and exempted automatically, which means an old price left over from before a repricing is not exempt and fails like any other unsourced figure.

Details, including how the list of cited facts is kept, are on the no-fabricate gate page.

What the checks did on test drafts

On 2026-09-29, a set of short test drafts was run through the same check code this site's publishing pipeline uses. The drafts themselves are not quoted here, because this page has to pass the same checks. This is what each one returned:

  • A sentence joined by an em dash: flagged, with the tell named as em dash (U+2014). The same sentence with a comma in its place: zero tells.
  • A sentence built around one of the catalogued filler words: flagged, with that word named.
  • A line claiming customers save a set percentage on heating, with no cited source: failed, and the percentage was named as the unsourced figure.
  • The same line, after that figure was added to the list of cited facts: passed.
  • A line quoting a dollar cost for a job, with no source: failed, and the dollar figure was named.
  • A line saying most customers save money, with no number in it: passed. There is no figure for the gate to trace, which is one of the limits listed below.
  • A line naming the year a business opened and how many trucks it runs: passed. A year and a plain count are not treated as statistics.

Where the checks sit in the publishing path

A page built through this site's publishing pipeline goes through a fixed order of checks, and the pipeline stops at the first failure without writing the page. First a tripwire looks for placeholder filler text and fake product IDs, then the page record is checked against its schema and layout. After the page is rendered, the tripwire runs again, punctuation is normalized, and then the de-AI gate and the no-fabricate gate run. A design screen for generic template tells and a check that the page's main link is present come last.

The site goes live when changes are pushed. Before any push, a hook runs the de-AI gate again across every served page on the site, and a single tell anywhere blocks the push.

This page went through that same path.

What the checks do not do

Passing both checks proves two narrow things: the page carries none of the catalogued tells, and every statistic on it traces to an entry in its list of cited facts. These limits are part of the record:

  • The no-fabricate gate checks traceability, not truth. It confirms a figure has a source entry; whether that source is a good one is a human judgment.
  • A claim with no number in it, like most customers save money, gives the gate nothing to trace.
  • The de-AI gate catches known tells. It does not judge whether a page is useful, accurate or well written, and a page can pass it and still be thin.
  • Both gates match fixed lists. A new habit of machine writing is only caught once it is added to the catalog.

The same standard, in automation work

The rule behind both checks is the rule behind every automation tool built here: a value that cannot be traced is flagged for a person, never filled in with a guess. The RFP consolidator demo shows that rule working on spreadsheets, on synthetic sample data.

If you are weighing AI-written content or AI automation for your own business, a fair first question for anyone offering it is what stops an invented number from shipping. Both gates are free and open source under the MIT license, listed on the tools page. To talk about a job of your own, call 289-402-8169 or email hello@livingwebsites.ca.

See the real, dated proof

FAQ

Does the de-AI gate decide whether a page was written by AI?

No. It does not score or guess. It matches a fixed list of characters and phrases that are known tells of machine writing, so a flag is a fact about the text, a specific tell that is present, and not a probability.

Can a page pass both checks and still be wrong?

Yes. The no-fabricate gate confirms every statistic has a cited source entry, not that the source is right, and a claim with no number in it gives it nothing to check. The de-AI gate does not judge accuracy at all. The checks remove two specific risks; they do not replace reading the page.

Are the gates free to use?

Yes. Both are open source under the MIT license, run on local files with no network calls, and need Node 18 or newer, or Bun. The tools page links to each one.

Why are the test drafts not shown word for word?

Because this page has to pass the same checks. Quoting a draft with an em dash or an unsourced figure in it would fail this page's own build, so each draft is described instead, along with what the check returned.