Use this prompt when your product surfaces cited answers to users and attribution errors would erode trust, create compliance risk, or violate accuracy guarantees. The ideal user is an AI reliability engineer, product developer, or QA lead responsible for ensuring that every citation in a model-generated answer accurately reflects its source content. You need a post-generation verification step that runs before user-facing output is finalized, not a prompt for initial answer generation. The required context includes the original model answer with its citations, the full source documents or passages that were cited, and any retrieval metadata that maps claims to sources.
Prompt
Citation Accuracy Verification Prompt

When to Use This Prompt
Understand the job-to-be-done, ideal user, required context, and when not to use the Citation Accuracy Verification Prompt.
This prompt is designed for cited-answer products where the cost of a fabricated quote or mismatched citation is high—think legal research tools, medical literature assistants, financial analysis platforms, or enterprise knowledge bases. It detects three failure modes: quote fabrication (a citation points to a source that doesn't contain the quoted text), claim-source mismatch (a claim is attributed to a source that says something different), and irrelevant or contradictory citations (a source is cited but its content doesn't support or actively contradicts the claim). The prompt produces structured correction instructions that downstream repair prompts or human reviewers can act on, including the specific claim, the problematic citation, the actual source content, and a recommended fix.
Do not use this prompt for initial answer generation—it is strictly a verification step. Do not use it when you lack access to the full source content for each citation; the prompt cannot verify what it cannot read. Do not use it as a replacement for retrieval quality evaluation; it checks citation accuracy, not whether the right documents were retrieved in the first place. If your workflow involves regulated domains like healthcare or legal, always route the verification output to a human reviewer before finalizing user-facing answers. For high-throughput systems, pair this prompt with a retry budget and escalation threshold to prevent verification loops from blocking the pipeline.
Use Case Fit
Where the Citation Accuracy Verification Prompt delivers value and where it introduces risk. Use this to decide if it belongs in your pipeline before integrating it.
Good Fit: Cited QA Products
Use when: Your product generates answers with explicit citations and user trust depends on attribution accuracy. Guardrail: Run verification before the user sees the response. If citations fail, regenerate or escalate.
Bad Fit: Creative or Subjective Content
Avoid when: Outputs are opinion, synthesis without source mapping, or creative generation where 'accuracy' is undefined. Guardrail: Gate the prompt behind a citation-presence check. Skip verification if no citations are expected.
Required Inputs
What you need: The full model response with citation markers, the complete source context for each cited passage, and the original user query. Guardrail: If source context is truncated or missing, abort verification and log an evidence gap. Never verify against partial sources.
Latency and Cost Risk
What to watch: Verification adds a full model round-trip per response, doubling latency and token cost for cited answers. Guardrail: Sample verification for low-risk traffic. Run synchronously only for high-stakes outputs. Use async audit for observability.
Verification Drift Risk
What to watch: The verifier model can hallucinate about whether a citation is accurate, especially with ambiguous or technical source text. Guardrail: Calibrate with an LLM Judge eval on labeled examples. Track false-positive and false-negative rates before trusting automated decisions.
Escalation Boundary
What to watch: Repeated citation failures after regeneration attempts indicate systemic issues—bad retrieval, prompt ambiguity, or adversarial context. Guardrail: Set a retry budget (max 2 correction attempts). After exhaustion, escalate to human review with the full evidence trail.
Copy-Ready Prompt Template
Paste this prompt into your verification harness to audit citation accuracy, detect quote fabrication, and generate structured correction instructions.
This template is designed to be dropped directly into a post-generation validation step within your AI harness. It assumes you already have a model response containing citations and the corresponding source context that was provided to the model. The prompt instructs the model to act as a strict auditor, comparing each cited claim against its alleged source passage. It is not a conversational prompt; it is a verification instruction set meant for programmatic execution where the output will be parsed and used to trigger repair or escalation workflows.
textYou are a citation accuracy auditor. Your task is to verify that every cited claim in the [MODEL_OUTPUT] accurately reflects the content of its corresponding source passage in [SOURCE_CONTEXT]. You must detect quote fabrication, semantic distortion, and unsupported attribution. ## INPUT ### MODEL_OUTPUT
[MODEL_OUTPUT]
code### SOURCE_CONTEXT A mapping of citation identifiers to their full source text. ```json [SOURCE_CONTEXT]
VERIFICATION RULES
For each citation in the MODEL_OUTPUT:
- Locate the cited passage in SOURCE_CONTEXT using the citation identifier.
- If the citation identifier is not found in SOURCE_CONTEXT, flag it as
citation_not_found. - Compare the claim made in MODEL_OUTPUT against the actual text of the source passage.
- Classify the citation into one of the following categories:
exact_match: The claim is a verbatim or near-verbatim quote from the source.faithful_paraphrase: The claim accurately represents the source's meaning without fabrication.semantic_distortion: The claim twists, exaggerates, or misrepresents the source's meaning.fabricated_quote: The claim is presented as a direct quote but does not appear in the source.unsupported_claim: The claim asserts a fact not present in the source passage.context_contradiction: The claim directly contradicts information in the source.
CONSTRAINTS
- Do not evaluate the quality of the writing, only factual accuracy against the source.
- If a claim is partially supported and partially unsupported, flag the unsupported portion and explain the split.
- If a source passage is ambiguous, note the ambiguity but do not assume fabrication.
- Do not hallucinate source content. If you are unsure, flag it as
verification_uncertain.
OUTPUT_SCHEMA
Return a JSON object with the following structure:
json{ "overall_assessment": { "total_citations": <integer>, "accurate_citations": <integer>, "inaccurate_citations": <integer>, "accuracy_rate": <float between 0.0 and 1.0>, "critical_failures": <boolean> }, "citation_audit": [ { "citation_id": "<string>", "claim_text": "<the exact claim from MODEL_OUTPUT>", "source_passage": "<the relevant text from SOURCE_CONTEXT>", "classification": "<exact_match|faithful_paraphrase|semantic_distortion|fabricated_quote|unsupported_claim|context_contradiction|citation_not_found|verification_uncertain>", "explanation": "<specific reason for the classification, citing the discrepancy if any>", "correction_instruction": "<if inaccurate, a clear instruction for how to correct the claim to match the source>" } ], "correction_summary": "<a concise summary of all required corrections for downstream repair>" }
EXAMPLES
Example 1: Fabricated Quote
MODEL_OUTPUT: "As the report states, 'our Q3 revenue grew by 40% year-over-year.'" SOURCE_CONTEXT: {"report_2024": "The company experienced moderate growth in Q3, with revenue increasing 12% compared to the same period last year."}
Audit Result: { "citation_id": "report_2024", "claim_text": "our Q3 revenue grew by 40% year-over-year", "source_passage": "The company experienced moderate growth in Q3, with revenue increasing 12% compared to the same period last year.", "classification": "fabricated_quote", "explanation": "The MODEL_OUTPUT presents a direct quote with a 40% figure, but the source states 12% and does not contain the quoted language.", "correction_instruction": "Replace the fabricated quote with a faithful paraphrase: 'The company reported a 12% year-over-year revenue increase in Q3.'" }
Example 2: Unsupported Claim
MODEL_OUTPUT: "The study concluded that the new drug reduces mortality by 50% [study_2023]." SOURCE_CONTEXT: {"study_2023": "Patients receiving the treatment showed a statistically significant reduction in symptom severity compared to the placebo group. Long-term mortality data was not collected in this phase."}
Audit Result: { "citation_id": "study_2023", "claim_text": "the new drug reduces mortality by 50%", "source_passage": "Patients receiving the treatment showed a statistically significant reduction in symptom severity compared to the placebo group. Long-term mortality data was not collected in this phase.", "classification": "unsupported_claim", "explanation": "The source explicitly states that mortality data was not collected, making any mortality claim unsupported.", "correction_instruction": "Remove the mortality claim. State only what the source supports: 'The study found a statistically significant reduction in symptom severity for patients receiving the treatment.'" }
Before deploying this template, you must replace the [MODEL_OUTPUT] and [SOURCE_CONTEXT] placeholders with actual data from your application. The [SOURCE_CONTEXT] should be injected as a serialized JSON object mapping citation identifiers (e.g., [1], [report_2024]) to their full source text. If your system uses a different citation format, update the citation_id field description and the verification rules accordingly. The output schema is designed for direct parsing by a downstream repair or escalation module. For high-stakes domains such as legal, medical, or financial applications, route any output where critical_failures is true or accuracy_rate falls below your defined threshold (e.g., 0.95) to a human review queue before taking corrective action.
Prompt Variables
Required inputs for the Citation Accuracy Verification Prompt. Each placeholder must be populated before the prompt is sent. Validation notes describe how to confirm the input is well-formed before execution.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[MODEL_OUTPUT] | The cited answer or passage that needs citation verification | According to Smith (2023), revenue grew 14% year-over-year. | Must be non-empty string. Parse check: contains at least one citation marker or quoted claim. Null not allowed. |
[SOURCE_CONTEXT] | The full text of the cited source document or passage | Page 4, paragraph 2: 'Revenue increased from $2.1B to $2.4B, representing approximately 14% growth.' | Must be non-empty string. Schema check: includes source identifier and content. Null not allowed. Truncation warning if over token limit. |
[CITATION_FORMAT] | Expected citation style or marker pattern to locate claims | Author-year: '(Smith, 2023)' or numeric: '[1]' or quote-anchored: 'As stated in...' | Must match the citation convention used in [MODEL_OUTPUT]. Regex check: pattern compiles without error. Null allowed if format is implicit. |
[VERIFICATION_DEPTH] | Level of verification: claim-level, sentence-level, or passage-level | claim-level | Must be one of: claim-level, sentence-level, passage-level. Enum check. Defaults to claim-level if null. |
[CONFIDENCE_THRESHOLD] | Minimum confidence score for a citation to pass verification | 0.85 | Must be float between 0.0 and 1.0. Range check. Citations below threshold are flagged for review. Null defaults to 0.80. |
[OUTPUT_SCHEMA] | Expected structure for the verification report | JSON with fields: claim, citation_marker, source_match, confidence, correction_needed | Must be valid JSON schema or field list. Schema parse check before prompt assembly. Null not allowed. |
[MAX_RETRY_COUNT] | Maximum number of regeneration attempts if verification fails | 3 | Must be integer >= 0. Retry budget check: prevents infinite loops. Null defaults to 1. |
[ESCALATION_ACTION] | What to do when citations cannot be verified after retries | flag_for_human_review | Must be one of: flag_for_human_review, return_null_citation, abstain, regenerate_without_citation. Enum check. Null defaults to flag_for_human_review. |
Implementation Harness Notes
How to wire the Citation Accuracy Verification Prompt into a production application with validation, retries, and human review.
The Citation Accuracy Verification Prompt is designed to sit inside a post-generation validation layer, not as a standalone chat interaction. After your primary RAG pipeline produces a cited answer, this prompt acts as a verification gate: it receives the generated answer, the full list of citations, and the retrieved source context, then produces a structured verification report. The report flags mismatches between claims and cited passages, detects quote fabrication, and generates correction instructions for a downstream repair step. This is a high-stakes verification workflow—attribution errors directly erode user trust and can create compliance exposure in regulated domains—so the implementation harness must treat the verification output as a signal for automated repair, human review, or escalation, never as a silent pass-through.
Wire the prompt into your application as a post-answer hook. After your RAG system produces final_answer and citations[], call the verification prompt with [CLAIMS_AND_CITATIONS] set to the full answer text plus its citation markers, and [SOURCE_CONTEXT] set to the complete retrieved passages that were available to the generation step. Parse the model's output against a strict JSON schema that includes citation_id, claim_text, verification_status (one of accurate, mismatch, fabricated, insufficient_context), source_evidence, and correction_instruction. If any citation has a status other than accurate, route to a repair prompt (such as the Grounded Answer Regeneration Prompt) or escalate to a human review queue depending on severity thresholds you define. Log every verification result with the original answer, citations, and verification report for audit trails and eval improvement.
Model choice matters here. Use a model with strong instruction-following and low hallucination rates for the verifier role—this is a meta-evaluation task where the verifier model must be more reliable than the generator model. Consider running the verification on a different model than the one that produced the original answer to avoid correlated failures. Implement a single retry on verification parse failures (malformed JSON), but do not retry the verification itself—if the verifier produces an ambiguous result, escalate to human review rather than looping. Set a hard budget: if more than N citations per answer require correction, skip per-citation repair and regenerate the entire answer with stricter grounding constraints. For high-stakes domains, always require human sign-off on any fabricated status before the correction is surfaced to end users.
Expected Output Contract
Defines the structured output schema for the Citation Accuracy Verification Prompt. Use this contract to validate the model's response before passing it to downstream repair or escalation workflows.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
verification_id | string (UUID v4) | Must be a valid UUID v4 string. Parse check. | |
original_claim | string | Must exactly match the claim extracted from the original output. Non-empty string check. | |
citation_id | string | Must match a citation identifier present in the provided [SOURCE_CONTEXT]. Lookup check. | |
cited_passage | string | Must be a verbatim substring from [SOURCE_CONTEXT] for the given citation_id. Exact match check. | |
verdict | enum: ACCURATE | INACCURATE | FABRICATED | MISATTRIBUTED | INSUFFICIENT_EVIDENCE | Must be one of the five defined enum values. Schema check. | |
discrepancy_detail | string | null | Required if verdict is not ACCURATE. Must describe the specific mismatch. Null allowed for ACCURATE verdicts. | |
correction_instruction | string | null | Required if verdict is not ACCURATE. Must provide a grounded rewrite instruction referencing the cited passage. Null allowed for ACCURATE verdicts. | |
confidence_score | number (0.0 to 1.0) | Must be a float between 0.0 and 1.0 inclusive. Range check. Scores below 0.7 should trigger human review. |
Common Failure Modes
Citation verification fails in predictable ways. These are the most common failure modes when verifying that citations accurately reflect source content, along with practical guardrails to catch them before they reach users.
Quote Fabrication Under Source Pressure
What to watch: The verifier accepts a citation that looks plausible but contains fabricated quotes or paraphrases not present in the source. This happens when the model prioritizes fluent attribution over exact matching, especially with long or complex source passages. Guardrail: Require exact string matching for quoted material. If no substring match exists in the source, flag the citation as unverifiable and request verbatim evidence or abstention.
Claim-Citation Mismatch Drift
What to watch: A citation points to a real source passage, but the passage supports a different claim than the one attributed to it. The verifier confirms the citation exists without checking semantic alignment between the claim and the cited content. Guardrail: Implement a two-step verification: first confirm the source passage exists, then independently assess whether the passage actually supports the specific claim. Require the verifier to state what the passage says before comparing.
Source Proximity Hallucination
What to watch: The verifier treats nearby but unrelated source content as supporting evidence. A citation to paragraph 3 is accepted because paragraph 3 exists, even though the claim is only supported by paragraph 7. Guardrail: Require the verifier to extract and quote the exact supporting sentence from the cited location. If the sentence isn't in the cited section, flag a location mismatch even if the evidence exists elsewhere in the source.
Confidence Inflation on Ambiguous Passages
What to watch: The verifier assigns high confidence to citations drawn from vague, ambiguous, or partially relevant source passages. The model treats any topical overlap as confirmation rather than assessing evidentiary strength. Guardrail: Add an explicit evidence-strength rubric requiring the verifier to classify each citation as directly supporting, indirectly supporting, or tangentially related. Escalate tangential matches for human review.
Multi-Source Attribution Collapse
What to watch: When multiple sources are provided, the verifier attributes a claim to the wrong source entirely, or merges content from two sources into a single fabricated citation. This is common when sources cover similar topics. Guardrail: Require source-level isolation during verification. Verify each citation against only its claimed source document before cross-source comparison. Add a source-confusion check that confirms the cited document ID matches the evidence location.
Truncation and Boundary Blindness
What to watch: The verifier misses that a citation is cut off mid-sentence or ends before the supporting evidence appears. This happens when source chunks are truncated during retrieval and the verifier doesn't check whether the passage is complete. Guardrail: Require the verifier to assess passage completeness before accepting citations. Flag citations drawn from passages that start or end mid-sentence. Request expanded context windows when boundary issues are detected.
Evaluation Rubric
Use this rubric to test the Citation Accuracy Verification Prompt before shipping. Each criterion targets a specific failure mode in citation-to-source mapping. Run these checks against a golden dataset of known-correct and intentionally-mismatched citation pairs.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Correct Citation Flagging | Prompt correctly identifies all intentionally fabricated citations in the test set with 100% recall. | Fabricated citation marked as accurate or no flag raised. | Run against 20+ known-fabricated citation pairs; measure recall and false-negative rate. |
Correct Citation Approval | Prompt correctly approves all accurate citations in the test set with at least 95% precision. | Accurate citation flagged as fabricated or mismatched. | Run against 20+ known-accurate citation pairs; measure precision and false-positive rate. |
Quote Fabrication Detection | Prompt detects when a quoted string does not appear in the cited source passage. | Fabricated quote marked as verified or no mismatch flag raised. | Inject 10+ citation pairs with fabricated quotes; verify detection and structured error output. |
Claim-Source Mismatch Detection | Prompt detects when a claim is semantically inconsistent with the cited source content. | Mismatched claim marked as supported or no inconsistency flag raised. | Use 10+ pairs where claim contradicts source; verify mismatch flag and correction instruction. |
Partial Match Handling | Prompt correctly distinguishes between fully supported claims and partially supported claims with missing details. | Partial support treated as full match or full mismatch without nuance. | Test with 10+ partially supported claims; verify partial-support flag and missing-detail enumeration. |
Structured Output Compliance | Output conforms to the defined [OUTPUT_SCHEMA] with all required fields present and correctly typed. | Missing required fields, wrong types, or unparseable JSON. | Validate output against JSON Schema; check field presence, types, and enum values. |
Correction Instruction Quality | For flagged citations, correction instructions are specific, actionable, and reference the exact mismatch. | Vague corrections like 'fix citation' or instructions that don't reference source content. | Manual review of 20+ correction outputs; score specificity on 1-5 scale; require average >= 4. |
Abstention on Ambiguous Cases | Prompt abstains with an uncertainty flag when source content is genuinely ambiguous rather than forcing a binary decision. | Ambiguous case forced into pass/fail without uncertainty signal. | Test with 10+ intentionally ambiguous source-claim pairs; verify uncertainty flag and abstention rationale. |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base verification prompt and a small set of 10-20 cited answers. Use a frontier model (GPT-4o, Claude 3.5 Sonnet) with the prompt as a single-turn check. Focus on getting the output shape right before adding validation harnesses.
Simplify the output schema to a flat list of claim, citation_id, verdict (supported/unsupported/fabricated), and explanation. Skip confidence scoring and severity classification initially.
code[SYSTEM] You are a citation accuracy verifier. For each claim in the answer, check whether the cited source actually supports it. [INPUT] Answer: [ANSWER_TEXT] Sources: [SOURCE_LIST] [OUTPUT_SCHEMA] Return JSON array with fields: claim, citation_id, verdict, explanation
Watch for
- The model accepting plausible-sounding claims without actually comparing to source text
- Missing edge cases where a citation is partially correct but misleading
- Overly verbose explanations that obscure the verdict
- No mechanism to flag when a citation points to the wrong section of a source

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us