Skip to content

July 11, 2026

Where checkable claims hide (and how we taught our extractor to find them)

Every fact-check begins with a quieter, less glamorous step: deciding what the claims actually are. A verdict can only be as good as the claim it judges — and a claim that never gets extracted never gets checked at all. This week we shipped a rebuilt extraction pipeline, and the story of what it fixes says a lot about how AI systems fail: not loudly, but by missing things you never knew were there.

The main-assertion bias

Ask a language model to list the verifiable claims in a document and it does something very human: it reads each sentence for its headline. "The CEO announced a plan" — extracted. "Revenue grew 40%" — extracted. What it quietly skips is everything the writer tucked into the folds of the sentence: the appositive that names someone's title, the aside between two dashes that mentions a €2.1 billion acquisition, the relative clause that dates a resignation, the historical scandal invoked in a comparison. Journalists compress facts into these positions constantly — it's good writing. And each one is a checkable claim that can be just as wrong as the headline.

We call this the main-assertion bias, and once we started measuring it, the pattern was remarkably consistent: the extractor wasn't flaky, it was systematically blind to the same grammatical positions, document after document. Opinion framing made it worse — wrap a hard fact inside an analytical sentence ("scandals like Watergate in the 1970s") and the fact disappeared with the opinion around it.

Try it: where the claims hide

The paragraph below is invented, but its shape is what real news copy looks like. Toggle between extractors, and hover or tap any claim to see exactly where it lives in the text.

Finds 2 of 6 checkable claims

Maren Volk, the chief executive of Nordwind Energy, told investors on Tuesday that the company would double its offshore capacity by 2030. The pledge — made weeks after Nordwind completed its €2.1 billion acquisition of a Baltic grid operator — drew a sharp response from Jonas Behr, the former energy regulator who resigned in 2024 over a subsidy dispute: he called the target “pure theatre”. Whatever the critics say, the age of cheap offshore wind is clearly here to stay.

Hover or tap a claim to see the exact passage it anchors to. The last sentence contains no claim at all — both extractors correctly leave the opinion unchecked.

Four of the six claims sit outside the main assertions — and notice what a fact-checker would lose with them: whether Volk actually runs Nordwind, whether the acquisition happened at that price, who Behr is and why his criticism carries weight. The two headline claims alone tell you almost nothing about whether this paragraph is trustworthy.

Anchored to the text, or it doesn't ship

Finding more claims creates a second obligation: proving where each one came from. A claim in a report should never be a paraphrase floating free of its source — you should be able to tap it and see the exact passage highlighted, in your document, character for character.

That turns out to be harder than it sounds. Models are helpful in a way that breaks receipts: asked to quote a passage verbatim, they "tidy up" as they copy — curly quotes become straight ones, dashes change width, a stray period gets appended. To a human the quote looks identical; to naive string matching it no longer exists in the document, and the claim loses its anchor. Our old pipeline occasionally showed such orphaned claims. The rebuilt one enforces a hard rule instead: every claim must anchor to a real span of your document, or it is discarded before you ever see it. A claim we can't trace to your own words is a claim we won't charge you to check.

Measure, don't vibe

The uncomfortable lesson of this project was how useless intuition was without a benchmark. Early on, every prompt tweak felt like an improvement — and measured as whack-a-mole: fix the appositives, lose the comparisons; catch the asides, start extracting opinions. Twice, a change that read as obviously better made the extractor measurably worse in a way we'd never have caught by eyeballing output.

So we did what we already do for verdicts on our benchmarks page: built a ground-truth baseline. A human fact-checker labelled every checkable claim in a deliberately nasty real-world article — compound sentences, facts inside opinion frames, editorial punctuation — and every candidate pipeline ran against it, scored on three axes: recall (did it find every labelled claim?), precision (did it invent any that shouldn't be checked?), and anchoring (does every claim trace to its exact source span?).

The rebuilt extractor went from finding roughly six in ten of the labelled claims to finding effectively all of them, run after run, with zero over-extraction and zero unanchored claims — while getting more than 90% cheaper to run than our first version that hit those numbers. The cost part matters to you for one simple reason: extraction is what prices your check before you commit, so it has to stay fast and effectively free at any scale.

What changes in your reports

Three things, starting today. Your checks cover more of what your document actually asserts — including the claims hiding in the folds of sentences. Every claim in a report highlights the exact passage it came from, with no orphans. And because the claim list is what prices a check, the quote you see before submitting is the check you get — same claims, same count, same price.

The extractor decides what gets checked; what happens next — the multi-model panel, the adversarial challenger, the judge — is its own story. Or skip the reading and run a document of your own: the claims it finds, and where it found them, are the first thing every report shows you.