Capability

Fact-checking That Shows Its Work

Every verdict we publish arrives with the evidence that produced it: which sources were found, when each was published, what country it came from, whether it supports or contradicts the claim, and how much weight it carried. 2,420 claims checked so far, and every one of those evidence chains is public. A label on its own is the part anyone can generate.

What happens to a claim before it gets a verdict

Six steps, each one closing a way that keyword search returns a confident wrong answer.

It takes the claim apart first

A statement rarely fails as a whole. It fails in one place: the right event with the wrong date, the real quote from the wrong person, the true trend with an invented number. So each claim is decomposed into atomic sub-claims by kind, covering who, what, when, where, numbers and quotes, and each is judged on its own. A compound statement with one false element cannot hide behind a single approving verdict.

It searches in the language of the story

A claim about a decision made in Paris is settled by French sources, not by Ukrainian outlets summarising a French report. Search queries are generated per claim in the language of the country the event is rooted in, alongside Ukrainian. This is the difference between reaching the original source and reaching the fourth outlet to repeat it.

It goes looking for the opposite

Search for a claim and you will find people repeating it. Every check therefore issues a disconfirmation query as well, one built to surface debunks and contradictions. That query is added in code rather than left to the model's judgement, so it fires on every claim including the ones that look obviously true.

Evidence is weighed, not counted

Ten anonymous aggregators do not outrank one wire service. Each piece of evidence carries a score built from the authority of its domain, how fresh it is relative to when the event happened, and how relevant the passage actually is to the claim rather than to its keywords.

Twenty reprints count as one source

When the same story appears in twenty outlets, that is not twenty confirmations: often they are all retelling one press release. So we group sources with similar content and count them as one. Whether a source supports or contradicts the claim is decided by a separate model trained specifically for that task. A manufactured chorus of identical publications cannot pass a planted story off as a confirmed fact.

Figures and quotes are checked against full text

A snippet can say a report exists without saying what number is in it. For sub-claims that hinge on a figure or a quotation, the top source's full text is fetched and the figure or quote has to actually appear in it. When the claim says 70% and the source says 40%, the verdict becomes Manipulated, which is the case a headline-level check misses most often.

Ten verdicts, because two are not enough

True and False describe a small share of what actually circulates. The interesting cases are the accurate sentence assembled to mislead, the real photograph from a different war, the genuine quote with its condition removed. Those need their own labels:

The verdict scale
VerdictWhat it means
TrueConfirmed by independent trusted sources
Mostly TrueCorrect in substance, imprecise in detail
Partly TrueSome sub-claims hold, at least one does not
Missing ContextAccurate as stated, misleading as framed
MisleadingContradicted by trusted sources on a material point
ManipulatedA figure or quotation does not match its own source
FalseContradicted outright
UnverifiableNot enough independent evidence exists yet
OpinionA judgement, not a factual assertion
SatireNot intended as a factual assertion

Claim detection runs before any of this. A prediction, a question or an opinion is classified as such and never sent to search, because assigning a truth value to "the government should resign" is a category error, not a fact-check.

It tells "false" apart from "not proven yet"

Half of all claims we check come back Unverifiable, and we publish that verdict instead of converting thin evidence into a judgement. On breaking news that is usually the honest answer: at the moment a claim starts circulating, independent reporting frequently does not exist yet.

Three mechanisms enforce that restraint rather than leaving it to the model's mood:

  • Confidence is blended with a score derived from the evidence statistics, so it reflects what was found rather than how sure the model sounds.
  • Downgrade rules walk a verdict down when the independent trusted support behind it is thin, when a sub-claim is contradicted, or when trusted sources disagree.
  • A claim with too little signal to check is stopped before search runs at all, which keeps a confident-sounding answer from being generated over nothing.

A fact-checker that never returns "unverifiable" is not more capable than one that does. It is just less honest about the same uncertainty. The full verdict distribution is on the methodology page.

Every verdict comes with its evidence

Every check is stored with its complete evidence chain: each source URL, its publication date, its inferred country, its authority and freshness scores, its computed stance, and the reasoning that led to the verdict. None of that is summarised away.

It reaches you two ways. The open dataset carries the full chain inside each cluster file, so you can re-score our evidence with your own weights or check our verdicts in bulk. The report dashboard shows the same material per report for readers who want to look at one story.

This is the part we would most like other people to copy. A verdict you cannot audit asks for the same blind trust as the claim it is judging.

Run it on your claims

The pipeline runs continuously on Ukrainian Telegram, but nothing in it is specific to Telegram or to Ukraine. It takes a claim in text and returns a verdict with its evidence.

We are interested in working with fact-checking organizations, newsrooms, and researchers who are already verifying claims by hand and want the search-and-evidence stage done for them. Depending on what you need, that can mean:

  • Running your claim set through the pipeline and returning the verdicts with full evidence chains as data
  • Extending the source-authority table to the outlets and languages of your region, which is the part that most affects quality outside Ukraine
  • Feeding results into your existing verification workflow, so a human checker starts from assembled evidence instead of an empty search box
  • Access to the historical checks as a research corpus, with the verdicts and the evidence behind them

Aisberg is a registered Ukrainian non-profit (ЄДРПОУ 46034329). For non-commercial work by researchers, fact-checkers and NGOs, we do this for free. Tell us what you're verifying and we'll tell you which part of it we can take off your hands.

Email info@aisberg.live

We list the limits of this method just as plainly as its capabilities. The limitations apply to the fact-checker as much as to everything else we publish, and they are worth reading before you rely on any of it.

What next

News gets cleaner when somebody checks it

News clusters, fact-check verdicts and a link to the dashboard go out on the Telegram channel every hour. Reading it is free and needs no account. And if you want more of this work to happen, you can join it.

Subscribe to the channel Become a volunteer