Fact-checking
Sources checked before you publish
For businesses that can't afford a made-up number under their name. Every post Blog AI writes is researched on the live web and cites its sources. A separate checker then reads those sources, and a statistic they don't support is held back from publishing until you've looked at it.
Sign in with Google, no card needed. The free plan includes a content audit and one free post once Search Console has synced and you've set your voice. Plans from $49/month.
The problem with AI-written facts
Language models write fluent, confident text, and fluent text can contain a statistic nobody ever published. On a business blog, that's your name on it.
The usual advice is “check everything yourself”. In practice that means opening every link in a1,500-word post and hunting for the number, which is the hour you were trying to save. Blog AI does that reading for you, and shows you only the claims that need your eyes.
How it works
Step 1: Research on the live web
The writer searches the web and reads the pages it finds before it writes, so facts come from sources published now rather than from memory.
Step 2: Write with inline citations
Each factual claim is linked to the page it came from, and the writer lists every claim with its source and the words on that page that back it up.
Step 3: Check every cited claim
A separate checker opens each cited page and decides whether it supports the claim, contradicts it or doesn't address it.
Step 4: Look for numbers with no source
The checker also reads the whole post for statistics that no listed claim covers, such as a percentage dropped into a sentence without a citation.
Step 5: Hold the post if a statistic isn't supported
A post with an unsupported or unsourced statistic is saved as needs review. The database refuses to publish or schedule it until you resolve every flag.
Inside the checker
Built on the latest AI models, including Claude for writing and Jev (TypeSafe) for fact-checking.
Code does the fetching
The checker fetches each cited page once and pulls out its text. For each claim, it first checks that the figures in the claim appear on the page (after allowing for “15 per cent” versus “15%”, or “£132k” versus “132,000”), then picks the few passages the claim is about. Only those passages are judged, not the whole page, which keeps the decision focused.
A focused model decides each claim
Jev, a model built for exactly this kind of narrow judgement, reads each claim next to its passages and answers one question: does this text support the claim, contradict it, or not address it? It gives a confidence with each answer.
Harder cases go to a second model
Some pages can't be read that way: PDFs, pages that block automated readers, pages built by scripts, or claims whose figure isn't on the page word for word (a model can tell a rounding from a wrong number). Those, and any answer below the confidence bar, go to Claude, which opens the source and checks it in full.
Each claim records which checker decided it, so you can always see how a verdict was reached.
Reading the fact-check panel
Open a draft and the fact-check panel lists every cited claim with one of three verdicts:
| Verdict | What it means |
|---|---|
| Matches source | The cited page says what the post says. |
| Doesn't match source | The page doesn't support the claim, or says something different. The panel shows what the source actually says. |
| Couldn't open source | The page couldn't be read, so the claim couldn't be checked. |
Statistics that are anything other than “Matches source”, and statistics in the text that no claim covers, are flags. Each one has three ways out:
- Remove this sentence: Blog AI deletes it from the post (or the list item or table row it fills), after showing you the change.
- Rewrite it: you change the sentence so it no longer states the figure. Blog AI can suggest a version for you to edit.
- I've checked the source: you opened the source yourself and it does support the claim.
Removing or rewriting is checked: a flag only counts as fixed once its text is no longer in the post. When the last flag is resolved, the post can be published or scheduled like any other.
Why the block is in the database
The rule isn't a pop-up in the editor. A trigger in the database refuses to move a post with open flags to publishing, scheduled or published, whichever part of Blog AI asks: the Publish button, the calendar, the scheduler or a retry. The publish and schedule buttons check first, so you'll see a clear message rather than an error, but the database is the backstop.
The same rule covers changes after publishing. A refresh is checked on the text it changes, and a section with an unresolved statistic can't be applied (you can reject that section and apply the rest). Updating a live post from the editor goes through the same gate. Restoring an old version of a post reopens its flags.
How we test it
We run the same writer and checker as production over a fixed set of test topics, and grade the drafts with separate AI judges and code checks. These are the results of our latest full run, on 26 September 2026: 20 test posts on made-up briefs, not customer posts.
| Measure | Result (20 posts, 26 September 2026) |
|---|---|
| Posts judged factually sound against their fetched sources | 20 of 20 |
| Posts free of generic filler | 20 of 20 |
| Cited claims supported by their source | 292 of 308 (94.8%) |
| Cited statistics supported by their source | 130 of 143 (90.9%) |
| Internal links that point to real pages on the site | 58 of 58 |
| Unsupported or unsourced statistics flagged before editor review | 15, in 3 of the 20 drafts |
The last row is the honest reason the publish block exists. Before an editor looked at them, 3 of 20 drafts had statistics the checker couldn't confirm. 12 of the 15 came from one draft whose sources the checker couldn't open in that run; when we read those pages ourselves, the claims were right, which is exactly the kind of flag you clear with “I've checked the source”. The others were a tax threshold applied to the wrong case, a summary figure with no citation, and a figure repeated later in a post without its citation. Small mistakes, but not ones you want under your name, and none of them could have been published without someone resolving them.
What it costs
Fact-checking is included in the cost of every post and refresh. There's no separate charge, and resolving flags is free.
| What | Credits |
|---|---|
| A researched, fact-checked blog post | 3 credits |
| A refresh (only the changed text is checked) | 2 credits |
| Resolving flags in the editor | Free |
If a post fails to generate, the credits held for it are released automatically. See pricing.
What it doesn't do
- It checks claims against their cited sources. It doesn't judge whether a source is trustworthy, or check your opinions and advice.
- It can be wrong. It sometimes flags a claim that is fine (a page that blocks automated readers, a figure inside a table), and it can miss a problem. You review every post.
- Only statistics block publishing. Other claims that don't match their source are shown in the fact-check panel, but won't stop you publishing.
- It doesn't check posts you write by hand, or text you add in the editor after the check.
- It doesn't make a post legal, medical or financial advice you can rely on. For regulated topics, have an expert read it.
Questions
Does fact-checking mean every post is correct?
No, and we don't claim that. The checker compares cited claims with their sources; it can't tell whether a source is itself right, and like any model it can be wrong in both directions. What we promise is narrower: a statistic that its source doesn't support can't reach your site without you deciding it should. You remain responsible for what you publish.
Why block publishing instead of just warning me?
Because a warning is easy to click past, and an invented statistic under your name costs more than a delayed post. The block only applies to statistics, it's resolved in a click or two per flag, and it's enforced in the database, so no button, schedule or retry can skip it.
What if the checker flags something that's actually fine?
Open the source, check it, and mark the flag "I've checked the source". That's recorded against the claim, and once every flag is resolved you can publish. This happens: pages that block automated readers, or that show a figure in a table the checker didn't pick up, get flagged even when the claim is right.
Are posts I write myself fact-checked?
No. Posts you write by hand with "New post" aren't run through the checker, because they have no listed claims to check. Posts Blog AI writes, refreshes and merges are.
Which AI models do the writing and checking?
Built on the latest AI models, including Claude for writing and Jev (TypeSafe) for fact-checking. The checker uses a different model from the writer, so it doesn't share the writer's blind spots.
Does fact-checking cost extra?
No. It's part of the 3 credits a post costs, and part of the 2 credits a refresh costs. Resolving flags is free.
Start with the data you already have
Sign in with Google, no card needed. The free plan includes a content audit and one free post once Search Console has synced and you've set your voice. Plans from $49/month.