Research & due diligence

AI hallucinated citations: how we trace every report sentence to a quote

Many AI research tools let the model write or pick its own citations, unchecked. We built one where every sentence maps to a verbatim quote and copied articles count once.

On this page
  1. Why AI hallucinated citations keep reaching clients
  2. Why prompts, link checkers and self-review are not enough
  3. The quote rule: no verbatim quote, no claim
  4. How to verify sources in an AI-generated report: map, check, verify
  5. Repetition is not corroboration: count independent voices
  6. What the gates buy, and what we would harden next
  7. A checklist for any AI research agent or due diligence report
  8. Questions we hear

The short version

  • Never let the model type citations: require a verbatim quote per claim and build citations from claim mappings.
  • Check every number in plain code before any AI verifier runs, so invented figures fail even if both models approve.
  • Collapse syndicated copies into one voice and require two independent voices before a claim counts as supported.
  • Cap concurrency, retries and failing sources, and disclose what was skipped.
  • Label confidence a heuristic and show what the checks rejected.

Why AI hallucinated citations keep reaching clients

The night before an investment committee, an analyst pastes a deep research summary into the memo: a growth rate and three tidy citations. By morning a partner has clicked all three and found AI hallucinated citations.

The first page never mentions the growth rate. The second link is dead. The third is a press release, and the summary’s “four sources agree” is that release reprinted on four sites. Nobody can show where any sentence came from, because nothing checked the model’s references.

When this reaches a client, the firm pays. In 2025 Deloitte Australia agreed to partly refund the A$440,000 fee for a government report with apparent AI-generated errors, including a fabricated court quote and references to papers that do not exist.

146,932

hallucinated citations in 2025 papers, a conservative estimate from 111 million references

arXiv preprint 2605.07723 (2026)
>60%

of news-citation queries answered incorrectly by eight AI search tools

Columbia Journalism Review, Tow Center (2025)
17%+

error rate of the best purpose-built legal AI research tools tested

Stanford HAI and RegLab (2024)

These failures come in three shapes:

  • Invented references: the source does not exist.
  • Real source, wrong claim: the page exists, but a number, unit or sign changed in summarizing.
  • Echoes counted as agreement: one syndicated article looks like many confirmations.

Why prompts, link checkers and self-review are not enough

The common fixes check the wrong thing. Telling a model “do not make up sources” can lower the rate but guarantees nothing: the citation is still text the model writes.

Link checkers only confirm that a URL resolves. Self-review helps, but a model that misread a figure once will often approve the same misreading. Counting links rewards syndication: one story reprinted ten times looks like ten confirmations.

A citation the model typed is a claim, not evidence.

We built a deep research product for analysts who must audit what they send. It is an early release, so read what follows as design and tested behavior, not field results.

Where the citation comes from
Typical AI research output
  • Model writes or picks the citation, unchecked
  • Search snippets treated as findings
  • Ten reprints count as ten sources
  • Confidence implied by tone or a bare score
  • Skipped sources go unmentioned
The evidence-first engine we built
  • Model picks claim IDs; code builds citations
  • Only fetched pages count as evidence
  • Near-copies collapse into one voice
  • Confidence labeled as a heuristic
  • Rejections, gaps and paused sources disclosed

The quote rule: no verbatim quote, no claim

A quote is the receipt for a claim. The extraction model must return each claim with a verbatim excerpt, and code checks that it appears in the fetched text. Passing claims go into an evidence ledger, one list of every claim with its quotes and locations down to the PDF page. The rest are discarded.

For technical readers: the quote must be 16 to 2,000 characters and an exact substring of the page once whitespace is normalized. Long pages are read in 12,000-character sections with a 250-character overlap, so short quotes near a boundary survive.

Bounded, polite collection

Before any search runs, the analyst edits and approves a plan of up to eight perspectives. Public sources rate-limit and fail, so every later step is capped:

  • At most four searches and four page reads run at once, with a per-host gap (900 ms by default, 7 seconds for court-record and code APIs).
  • Only transient failures retry, three attempts at most within 75 seconds; a requested wait over 30 seconds stops the read.
  • A circuit breaker works like a fuse: three failures in a row pause a search source for the run, and the report says so.
  • The loop stops after two rounds with no new claims or independent voices.

How to verify sources in an AI-generated report: map, check, verify

The writer model does not write citations. It returns statements, each listing the claim IDs it relies on. It still chooses those IDs: code guarantees they exist and carry verified quotes, and the verifier judges whether the quotes support the sentence.

From draft to cited report
  1. Draft mapped statements

    Each statement links to at most eight ledger claim IDs.

  2. Structural check

    Code drops statements with unknown IDs, unquoted claims or over 1,600 characters.

  3. Numeric preflight

    Code rejects any digit figure, sign, or recognized unit or currency missing from the mapped quotes.

  4. Separate verifier

    A second model pass checks meaning, dates and scope, and drops what it does not approve.

  5. Render citations

    Citations come from the mappings; model text renders as plain text, so it cannot add links or citation labels.

A finding in the finished report looks like this (format simplified, wording illustrative):

  • Statement: “The regulator opened a formal review in March 2025.” [2, 5]
  • Evidence: claim 7; 2 independent voices; primary source found; 0 contradictions; confidence 71% (heuristic).
  • Quotes: Source 2, page 3: “…opened a formal review on 3 March 2025…” Source 5: “…the review, announced in March 2025…”

That is what the partner in the opening needed: one click from sentence to quote.

The numeric preflight is the gate we would insist on in any AI due diligence report. Every figure in a statement must appear, normalized, in its mapped quotes. It runs before the verifier, so an invented figure fails even if both model passes approve it.

In the engine’s own tests, the quote gives revenue as “$1,250.00 million”, a change of “−12.5%”, a dose of “5 mg” and cash of “($7.00)”. Five draft sentences:

  • “Revenue was $1250 million” passes. Commas and trailing zeros are formatting.
  • “Revenue was $12500 million” fails. That figure is invented.
  • “Change was 12.5%” fails. The minus sign was dropped.
  • “The dose was 5 g” fails. The unit changed.
  • “Cash was $7” fails. Accounting parentheses mean negative, so the sign flipped.

Figures calculated from quoted numbers, such as a growth rate, fail too. That costs some sentences, but a figure found in no source is exactly what a client checks. The opening memo’s growth rate would have failed here.

The report header counts the proposed statements the checks rejected and the claims that lacked a usable quote, so readers see what was thrown away.

Repetition is not corroboration: count independent voices

Twenty reprints are one source, so we collapse copies with SimHash: a fingerprint of a page’s wording that changes only a little when the text changes a little. Pages whose 64-bit fingerprints, built from four-word sequences, differ in 10 bits or fewer form one group. Unrelated pages differ in about 32.

Each group is one voice. In the engine’s unit tests, a syndicated copy with an added “Syndicated from” line still lands in the original’s voice. Code enforces minimum conditions on the review model’s verdicts:

  • Supported needs at least two independent voices and no recorded contradiction.
  • Refuted must cite a claim already recorded as contradicting it. A bare verdict is ignored.
  • Everything else stays unresolved or unreviewed. The writer is told not to present it as settled, and the verifier is told to reject statements that do.

That is our answer to how many independent sources are needed to corroborate a claim: at least two voices that did not copy each other. Two is the minimum; high-stakes findings still need a primary record.

For technical readers: the raw score is 1 − ∏(1 − 0.55 × quality) across voices, with URL priors of 1.0 for government, court and DOI sources and 0.65 for unclassified pages, then adjusted for verdicts and contradictions.

What the gates buy, and what we would harden next

The main gain is auditability. Every sentence opens to its claims, every claim to its quotes, and every quote to a location in a page, PDF or archive capture. A disputed finding becomes a quick lookup.

Expect shorter, more cautious reports, because anything the gates cannot tie to a quote is dropped. Real limits remain:

  • A real quote does not prove the sentence. It can still be misread, and the verifier catches only some of that.
  • The numeric gate is narrow. Numbers in words, locale formats and unusual units are not fully covered.
  • Same-model review is weak. By default the verifier is the writer’s model in a second pass. Another model is configurable, but judges have their own error rates, as we found in AI translation review.
  • SimHash and URL priors are crude. Two outlets paraphrasing one press release can still look independent, and a government domain can host a weak document.

Next we would harden checks that a quote truly supports its sentence, and detection of rewritten press releases. Independent human grading and live cloud-model runs are still open.

A checklist for any AI research agent or due diligence report

Whether you buy a tool or build your own AI research agent, test it against this list.

Before an AI-generated report reaches a client
  • Pick five cited sentences at random and find the exact supporting text in each source.
  • Check every number, sign, unit and currency against the quoted text.
  • Ask whether citations come from stored evidence or the model’s own writing.
  • Require two sources that did not copy each other before anything is called supported.
  • Ask what the confidence score measures; push back if it is sold as a calibrated probability.
  • Confirm the report lists what was rejected, contested, unreachable or paused.
Download this checklist (PDF)

If your AI research reaches client deliverables, we can build or audit that pipeline with you. Book a free 30-minute discovery call with a report you are unsure about, and we will trace a few of its sentences together. See also our applied AI work.

Questions we hear

Why do AI tools hallucinate citations?

Because many tools let the model write or choose citations the way it writes any sentence, by predicting plausible text. A reference can look right and point nowhere, or point to a real page that says something else. The fix is to build citations from stored claims with verified quotes, so the model can only point at quote-checked claims and never types a reference.

How do you check AI citations in a research report?

Open each cited source and find the exact text that supports the sentence; a related passage is not enough. Compare every number, sign, unit and date character by character, and check whether the supporting sources copy each other. If a tool cannot show the quote behind a sentence, treat it as unverified.

How many independent sources are needed to corroborate a claim?

At least two independent sources, with no recorded contradiction, is the minimum our engine enforces before a claim can be marked supported. Independent means the pages did not copy each other. Two is a floor, not proof: high-stakes findings still deserve a primary record and a human read.

Can a second AI model verify the first model’s citations?

It helps, but it should not be the only gate. A verifier can repeat the writer’s misreading, especially if it is the same model. Run deterministic checks first, such as exact quote matching and number comparison, then use the model for meaning, scope and contradictions, and show readers how many statements the checks rejected.

Can you trust AI deep research for due diligence, or should you build your own agent?

For exploration, yes; for client deliverables, only if you can see the quote behind every sentence. Build your own when you need quote-level audit trails, your own sources or control over sensitive material. Start with one workflow, a quote rule and a numeric gate, and estimate model costs early.

Sources

  1. LLM hallucinations in the wild: Large-scale evidence from non-existent citationsarXiv
  2. AI Search Has a Citation ProblemColumbia Journalism Review, Tow Center for Digital Journalism
  3. AI on Trial: Legal Models Hallucinate in 1 out of 6 (or More) Benchmarking QueriesStanford HAI
  4. Deloitte to partially refund Australian government for report with apparent AI-generated errorsAssociated Press via News4JAX
Written by the SeriusTech engineering team

We build custom software, business systems, applied AI and localization technology for growing businesses. Every technical claim in this note was checked against the code it describes. Products and clients stay unnamed.

Applied AI servicesFollow for new field notes
Free 30-minute discovery call

Want this solved in your business?

  1. Send a short request. We reply within 1 business day with times that suit your time zone.
  2. Talk it through for 30 minutes, free and with no obligation.
  3. Leave with a suggested first step, such as a fixed-price discovery sprint.
Free, 30 minutes, no obligation

Request your discovery call

Tell us a little about your project. We reply within 1 business day with times that suit your time zone.

Open email draft

This opens your email app with a draft to contact@seriustech.com. Nothing is sent until you send it.