TL;DR: WasThatTrue sources evidence in two steps. Gemini reads the captions near your click and produces a clean, standalone claim statement. Perplexity Sonar then searches the live web for that claim and returns real source articles. Publisher names come from the source URL, not from the AI model. Every link on the verdict card points to the actual article.
When WasThatTrue returns a verdict, the card shows a headline, a publisher name, and a date for each source.
Those three fields look small. They are the hardest part to get right.
Language models are good at producing citations that look real. They are not so good at producing citations that are real. A generated URL uses the correct format. It can still point to a page that does not exist, or to the right publication but the wrong article. This is one of the best-documented failure modes in AI-generated content: hallucinated references that survive a quick read and only fail when you click.
WasThatTrue was designed around that problem. Every source on a verdict card should link to the actual article, with the actual headline from the actual publication. If it does not, the verdict is worse than nothing.
This post explains how the sourcing pipeline works: two stages, two AI models, and one key design decision that makes fabricated citations structurally harder to produce.
How Does WasThatTrue Know What Claim to Check?
WasThatTrue uses Gemini AI to read a window of captions around the moment you click Fact-check. It identifies up to five factual claims from that window, presents them to you, and checks only the one you choose. Opinions, predictions, and rhetorical questions are filtered out before they reach you.
That last step matters.
A claim is only a useful fact-check target if it is an actual factual assertion. "This government has failed its people" is an opinion. "The infant mortality rate doubled between 2010 and 2024" is a factual claim. The extension needs to tell them apart before it does anything else.
Gemini reads the captions, strips opinions and predictions, and returns each factual claim in two forms: the verbatim quote from the transcript, and a clean restatement as a single declarative sentence with pronouns resolved. That clean version is what gets sent to the sourcing step.
The restatement exists because spoken language is messy. Speakers start sentences, change direction, and use "he" and "they" without explaining who those words refer to. A clean, self-contained statement produces a better source search than a raw transcript fragment.
Google's ClaimReview structured data guidance describes what a fact-checked claim should look like: a specific, testable statement. The first stage is how WasThatTrue reaches that standard from a raw captions window.
Where Do the Sources Actually Come From?
The clean claim is sent to Perplexity Sonar, a retrieval-augmented model that searches the live web before answering. Sonar returns a list of retrieved articles alongside its verdict. The server uses those articles as the source pool, which means every source on the card comes from a real search result, not from the model's training data.
The difference between a retrieval-augmented model and a plain language model matters a lot for fact-checking.
A standard language model answers from what it learned during training. Its knowledge has a cutoff date, and it cannot show you where it found a piece of information. Perplexity Sonar searches the web in real time before answering, grounding its response in articles it has just retrieved. Those articles come back as a structured list: title, URL, and date.
That list is the source pool WasThatTrue draws from. The AI model produces a verdict label and a plain-language explanation. The server fills in the source details from the retrieved results. Nothing in the source card comes from model memory alone.
How Does WasThatTrue Stop AI From Inventing Source Links?
The model is never asked to produce a source URL, headline, or publisher name. It returns a citation index: a number pointing to one of the articles Sonar retrieved during the same request. The server resolves that index to the real URL, headline, date, and publisher from the actual search result. If the index does not match a retrieved article, the source is dropped entirely.
That is the key design decision in the sourcing pipeline.
When you ask a language model to produce a URL, it generates text that follows the pattern of a URL. It does not check that the page exists. It produces characters in a familiar format, based on what it saw during training. That is how hallucinated citations happen, and it is hard to detect without clicking every link.
WasThatTrue sidesteps this entirely. Sonar retrieves real articles and returns them as structured data. The model cites those articles by index number only. The server takes the index, looks up the corresponding article in Sonar's result list, and puts the real URL, headline, and date on the card.
Publisher names follow the same principle. An article at reuters.com gets labelled Reuters. An article at apnews.com gets labelled AP News. The model is not asked to produce that field at all, which removes another common source of mislabelling.
The Duke Reporters' Lab, which tracks active fact-checking organisations worldwide, emphasises transparency about methods as a core standard. Showing exactly where a source came from, and how its publisher name was derived, is part of meeting that standard.
How Is the Verdict Label Chosen?
The verdict model chooses between four labels: TRUE, FALSE, CONTESTED, and UNVERIFIABLE. Tier-1 fact-checking outlets are preferred as sources when they appear in the retrieved results. Forcing a TRUE or FALSE verdict on a genuine disagreement is explicitly ruled out by the model's instructions.
Each label has a precise definition.
TRUE means the claim is supported by multiple credible sources. FALSE means credible evidence directly contradicts it. CONTESTED means credible sources disagree, or an active expert debate exists. UNVERIFIABLE means the claim cannot be confirmed or refuted with the available evidence.
The model is instructed to prefer tier-1 fact-checking outlets when they appear in the retrieved results. That list includes PolitiFact, AFP Fact Check, Full Fact, FactCheck.org, and Reuters Fact Check. When one of those outlets has already checked a claim, that finding carries more weight than a general news article on a related topic.
Confidence (HIGH, MEDIUM, or LOW) only applies to TRUE and FALSE verdicts. CONTESTED and UNVERIFIABLE get no confidence level, because in both cases the honest answer is that the evidence either points in multiple directions or does not point anywhere at all.
The guide to contested fact-checks covers the CONTESTED criteria in full, including how it differs from UNVERIFIABLE and when it applies to ongoing expert debates.
What Happens When No Sources Are Found?
Two things can go wrong in the sourcing step. WasThatTrue handles them differently because they are different problems.
The first is that Sonar retrieves no results at all. No search result comes back from the web query. Any verdict the model issues in that case is based purely on training data, with no live evidence behind it. WasThatTrue downgrades those verdicts to UNVERIFIABLE automatically. The card explains that no sources were found, rather than showing a confident label with nothing behind it.
The second is that Sonar does retrieve articles, but the citation indexes the model produces do not match any of them. The verdict was grounded in real retrieval. The breadcrumbs were lost in parsing. In that case, the verdict label is preserved but the card notes that sources could not be displayed.
Both paths favour admitting uncertainty over projecting false confidence. That is the same principle behind the CONTESTED and UNVERIFIABLE labels themselves. Sometimes the most accurate answer is that the evidence did not arrive.
The YouTube fact-checking workflow covers what to do when a claim comes back unverifiable: how to search for primary sources and what to treat as credible evidence.
What WasThatTrue Does Not Do
Understanding the sourcing process is also a good moment to be clear about what sits outside it.
WasThatTrue does not check claims automatically. Nothing runs unless you click Fact-check. The extension does not monitor the video or flag claims in the background. You decide what gets scrutinised.
It does not record which videos you watch either. The claim text and some video metadata are processed when you trigger a check, but your viewing history is not stored. The privacy policy sets out exactly what is processed and why.
The verdict card is also not the final word. The sources are there so you can click through and read them for yourself. WasThatTrue is an evidence layer, not an authority. The free tier lets you try it on any video.
See the Sources for Yourself
Every verdict comes with sources you can click through. No hidden process, no confident labels with nothing behind them.
Add to ChromeFrequently Asked Questions
How does WasThatTrue find sources for a verdict?
WasThatTrue sends the clean claim to Perplexity Sonar, which searches the live web before responding. The retrieved articles come back as a structured list alongside the verdict. Publisher names and URLs are resolved from that list on the server, so the model never generates a source field directly.
What is Perplexity Sonar?
Perplexity Sonar is a retrieval-augmented language model from Perplexity AI. Unlike a standard language model, it searches the web in real time before answering, grounding its response in articles it has just retrieved. WasThatTrue uses it for the sourcing step: finding and citing evidence for each verdict.
Why do AI fact-checkers sometimes give fake sources?
Language models can hallucinate citations: they produce URLs and headlines that look real but do not exist. WasThatTrue avoids this by never asking the model to produce source URLs or publisher names. The model outputs a citation index pointing to a retrieved article, and the server resolves the URL and publisher from the actual search result.
Why does WasThatTrue sometimes say a claim is unverifiable?
A claim is labelled unverifiable when source retrieval returns no relevant articles. WasThatTrue will not issue a confident verdict from AI training data alone. If no sources are retrieved, the verdict is downgraded automatically. The contrast with CONTESTED is explained in the guide to the contested label.
Does WasThatTrue store what I watch?
WasThatTrue processes claim text and video metadata when you click Fact-check, but it does not record your viewing history or track which videos you watch. Only the specific claim you choose to check is sent to the server. The privacy policy covers what is processed in full.