September 18, 2026
Who checks the fact-checker? The verification layer behind every report
When people imagine an AI fact-checker getting something wrong, they picture a wrong verdict: a true claim marked false. That happens, and a panel of rival models plus a judge is our answer to it. But after months of reading our own reports, the errors that bothered us most were quieter. They sat underneath the verdict, where nobody was looking.
The errors under the verdict
A fact-check is a chain. We read your document and restate each checkable claim so it can stand on its own. We gather evidence. Models reason over it and vote. The judge writes a verdict and attaches citations. Every link is a place where something can go wrong while the final verdict still looks reasonable:
- A claim gets restated a little off. Your article says someone blocked the rise of her protégé; the restatement makes her the protégé. Now we are fact-checking a sentence you never wrote, and any "error" we find is one we manufactured.
- Evidence arrives that only looks relevant. It mentions the right number and the right year, about a different company.
- A real, reputable citation is attached to a verdict it does not support.
- A model votes one way while its own written reasoning points another.
None of these is a wrong verdict, exactly. All of them are reasons not to trust one. They also share a weakness. The system that made the mistake is badly placed to notice it. A model that misread a sentence will confirm its own reading.
Independence, one level down
The principle we keep coming back to is independence. It is why claims go to several rival models instead of one, and why a challenger attacks a unanimous panel before we believe it. We wrote about that here. This release applies the same idea one level down, to the pipeline's own intermediate work.
We added a verification layer. It is a separate system, independent of the models that extract, research, and vote, and it never writes a word of your report. It has no opinion on whether a claim is true. Its only job is to answer narrow questions about work that is already done: does this restatement say what the passage says? Is this evidence about this claim? Does this source support what it is cited for? Each question has a small, checkable answer. For questions like these, a second system built differently is worth more than a longer think by the first.
What it is not allowed to do matters as much. It cannot overturn a verdict, invent a claim, or add to your bill. Where it acts on its own, it can only remove something or correct a label: drop a claim that is really an opinion, discard evidence that is off-topic, or re-file a source under what it says. Where the stakes are higher, it does not decide at all. It flags the item, and the flagged item gets a closer look.
What it checks on every report
That each claim is yours. Before the panel sees anything, the layer compares every restated claim against the exact passage it came from: who did what to whom, every role, number, date, and tense. We built this check around the distortions that are easiest to miss: reversed relationships, a detail pinned to the wrong person, a pronoun resolved to the wrong name, a prediction restated as an event. We also hold it to a lopsided standard. It may clear a claim as faithful. It may never condemn one. Anything short of a confident pass goes to a separate audit. A missed distortion becomes a false alarm in your report, so that is the error we refuse to trade for speed.
That evidence is about the claim. Searches return near-misses constantly: the same statistic for a different country, the same person in a different decade. The layer now screens reference material from your Knowledge Bank, results from your connected data sources, and the evidence pool behind a deep research run for relevance before any model sees them. Relevance is not agreement. A source that contradicts the claim is as relevant as one that confirms it, and it stays.
That evidence cannot give orders. Strangers write web pages, and some strangers now write for AI readers. A page can carry a buried line instructing any AI fact-checker to rate its claims as true. The layer now screens the third-party text we hand to the panel ourselves, meaning results from your connected data sources and the evidence pool behind a deep research run, for instructions aimed at our models. It drops and logs anything that carries them before it reaches the panel. Ordinary prose that mentions AI, or tells human readers to subscribe, passes untouched. Pages a model finds through its own live web search never pass through us, so this screen does not cover them. There, the panel's independence and the citation check below are the defence.
That citations say what they are cited for. The layer checks every source attached to a verdict against the claim, with one subtlety. When we rule a claim false, the right citation is a source that contradicts it. A naive checker scores that as a mismatch. Ours judges what the source says about the claim, then works out whether that backs the verdict. A debunk cited for a false verdict counts as the faithful citation it is.
That the reasoning backs the vote. "Four of four models agreed" is only as good as the four arguments behind it. For each model that voted with the consensus, we now check that its written rationale concludes that verdict. A model that votes true while explaining that the claim could not be confirmed is not agreeing, and the confidence score on your report now reflects that. This is the fourth factor in our calibrated confidence, alongside panel agreement, source authority, and citation support. It is also the first independent check that works on claims verified from model knowledge alone, where there are no citations to audit.
That research evidence is labelled by what it says. Deep research searches for both supporting and challenging evidence on purpose. But a search for challenges often returns articles that support the claim. The layer now labels each item by what it says, not by which search found it, so the panel weighing "the case against" is reading the case against.
What you will notice
Mostly nothing, which is the point. Reports take no longer. These checks are small and run alongside work that was already happening. On a healthy check every one of them passes and the report looks as it always did.
What changes is the tail: fewer reports where a cited source turns out to be beside the point, fewer claims that read unlike your sentence, and confidence scores that drop when they should. If you use the API, estimates now also tell you which of your document's claims are time-sensitive enough to benefit from live research, so you can pick a tier by what the document needs instead of guessing. We have also refreshed the model lineup behind the panels to the current generation, at unchanged prices. See the changelog.
What we are not claiming
We tested each check against cases we labelled by hand, including errors we planted on purpose: swapped roles, altered dates, hijacking attempts written four different ways. We shipped only the checks that held up and switched off the ones that did not. Where a check was unsure, we made it do nothing rather than guess. That is evidence the layer catches what we built it to catch. It is not a published accuracy figure, and we will not dress it up as one. Proper numbers belong with the benchmark suite we have committed to, measured on data we did not write.
The layer is also additive only. If it is unavailable, a check proceeds as it did before this release. Nothing in a report depends on it.
One more party in the data flow
Independence has a cost we would rather state than bury. A separate provider runs the verification layer, so one more processor sees the text of a check. Its contract bars it from training on your content or using it for anything but returning these answers. The sub-processor table on our security page and our privacy policy name it and list exactly what it receives.