This prompt is designed for a single, high-stakes job: detecting and removing fabricated direct or indirect quotes from AI-generated meeting summaries before those summaries reach end users, databases, or downstream systems. The ideal user is a product team building meeting intelligence, collaboration, or conversation analytics software where transcripts are the source of truth. The prompt expects a complete meeting transcript and a model-generated summary as inputs. It is not designed for general factuality checks, RAG citation audits, or hallucination detection in free-form prose without a transcript anchor. Use it when your product must guarantee that every quoted statement attributed to a participant can be traced back to the transcript, and when presenting invented speech as real carries reputational, legal, or compliance risk.
Prompt
Invented Quote Removal Prompt for Meeting Summaries

When to Use This Prompt
Defines the job, ideal user, required inputs, and constraints for the Invented Quote Removal Prompt for Meeting Summaries.
The prompt works by instructing the model to perform a structured comparison: extract every quoted or indirectly attributed statement from the summary, search for that statement in the transcript, and classify each as grounded, fabricated, or paraphrased. A paraphrased quote is one where the meaning is preserved but the exact wording differs—this is legitimate and should be retained. A fabricated quote is one where neither the wording nor the semantic content appears in the transcript. The prompt requires the model to output a clean version of the summary with fabricated quotes removed and a separate audit log documenting every removal decision. This separation of cleaned output and audit trail is critical for downstream logging, quality monitoring, and human review workflows.
Do not use this prompt when the transcript is unavailable, incomplete, or poorly formatted. The prompt's accuracy depends entirely on the quality of the transcript input. If speaker diarization is missing or unreliable, the model may struggle to attribute quotes correctly. Do not use this prompt as a substitute for a full factuality pipeline—it only addresses quote fabrication, not invented statistics, hallucinated action items, or spurious entity references. For those concerns, pair this prompt with sibling playbooks like Factual Claim Extraction and Hallucination Flagging or Entity Hallucination Detection for Summaries. In regulated or high-risk domains such as legal depositions, clinical handoffs, or compliance hearings, always route the audit log to a human reviewer before the cleaned summary is published or stored. The prompt is a filter, not a guarantee—treat it as one layer in a defense-in-depth strategy against hallucinated content.
Use Case Fit
Where the Invented Quote Removal Prompt delivers value and where it introduces risk. Use these cards to decide if this prompt fits your meeting intelligence pipeline before integrating it.
Good Fit: Transcript-Grounded Summaries
Use when: your system generates meeting summaries from a verbatim or near-verbatim transcript and you need to strip fabricated direct quotes before the summary reaches users. Guardrail: always pass the full transcript segment alongside the summary so the prompt can perform pairwise comparison.
Bad Fit: Impressionistic Notes
Avoid when: the source material is human notes, bullet points, or memory-based recollections rather than a transcript. The prompt cannot distinguish invented quotes from legitimate paraphrasing when there is no ground-truth utterance to compare against. Guardrail: gate this prompt behind a transcript-availability check.
Required Inputs
Minimum inputs: a meeting summary containing potential quotes and the corresponding transcript segment. Stronger inputs: speaker-labeled transcript, timestamp alignment, and a defined quote-detection pattern. Guardrail: validate input completeness before invoking the prompt; missing transcript segments cause false negatives.
Operational Risk: Over-Removal of Paraphrases
Risk: the prompt may flag legitimate paraphrased statements as fabricated quotes if the wording threshold is too strict. This strips useful summary content and erodes user trust. Guardrail: implement a confidence threshold and route borderline cases to human review rather than auto-removing.
Latency and Cost Sensitivity
Risk: running a secondary LLM call for quote verification doubles latency and token cost for every summary. Guardrail: use this prompt only for summaries flagged as containing direct quotes; skip for summaries already marked as paraphrase-only or when the transcript is unavailable.
Downstream Dependency Risk
Risk: if the transcript itself contains ASR errors, the prompt may incorrectly flag accurate quotes as fabricated because the transcript text does not match. Guardrail: pair this prompt with a transcript quality check; suppress quote removal when transcript confidence is below threshold.
Copy-Ready Prompt Template
A reusable prompt template for detecting and removing fabricated quotes from meeting summaries.
This prompt template is designed to be integrated into a post-generation validation step for meeting intelligence applications. It takes a meeting transcript and a generated summary as inputs and instructs the model to identify any direct or indirect quotes in the summary that cannot be verified against the transcript. The output is a cleaned summary with fabricated quotes removed and a structured audit log of changes.
textYou are an output validator for a meeting intelligence system. Your task is to compare a generated meeting summary against the original transcript and remove any fabricated quotes. [INPUT] Transcript: [TRANSCRIPT] Generated Summary: [SUMMARY] [CONSTRAINTS] 1. Identify every direct quote (text inside quotation marks) and indirect quote (attributed speech like "Alice said that...") in the summary. 2. For each quote, search the transcript for an exact or near-exact match. A near-exact match preserves the core meaning and most keywords, allowing for minor grammatical adjustments. 3. If a quote has no match in the transcript, flag it as FABRICATED. 4. Remove all fabricated quotes from the summary. Replace them with a neutral, non-quote paraphrase of the surrounding context if necessary to maintain grammatical flow. If removal leaves a sentence broken, rewrite the sentence to be grammatically complete. 5. Do not remove or alter any content that is a legitimate paraphrase of the transcript's discussion, even if it is attributed to a speaker. Only remove unverifiable quoted speech. 6. Preserve all action items, decisions, and non-quote factual content. [OUTPUT_SCHEMA] Return a valid JSON object with the following structure: { "cleaned_summary": "The full summary text with all fabricated quotes removed.", "audit_log": [ { "original_quote": "The fabricated quote found in the summary.", "speaker_attribution": "The person the quote was attributed to, or null.", "reason": "FABRICATED", "action_taken": "REMOVED_AND_REPLACED" } ], "fabricated_quote_count": 0, "total_original_quote_count": 0 } [RISK_LEVEL] HIGH. Fabricated quotes in meeting summaries can create false records of what individuals said, leading to misattribution, compliance issues, and trust erosion. Always log all removals for auditability. If the summary contains a high volume of fabricated quotes (more than 20% of total quotes), flag the entire summary for human review instead of returning a cleaned version.
To adapt this template, replace the [TRANSCRIPT] and [SUMMARY] placeholders with your actual data at runtime. The [OUTPUT_SCHEMA] section defines a strict JSON contract that your application can parse programmatically. The [RISK_LEVEL] section includes a critical gating rule: if the model detects systemic fabrication, it should escalate for human review rather than silently patching a deeply flawed output. This prevents a false sense of security when the underlying generation process is broken.
Prompt Variables
Inputs required by the Invented Quote Removal Prompt. Each variable must be provided at runtime for the prompt to function reliably. Missing or malformed inputs are the most common cause of false negatives (fabricated quotes passing through) or false positives (legitimate paraphrases being stripped).
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[TRANSCRIPT] | The full meeting transcript text that serves as the ground truth for quote verification. Every quoted statement in the summary must be traceable to this text. | Full verbatim transcript with speaker labels: "Alice: I think we should delay the launch. Bob: I agree, Q3 is too aggressive." | Must be non-empty string. Minimum 50 characters recommended. If transcript is empty or null, the prompt should refuse to process and return an error. Check for encoding issues that might corrupt speaker labels or punctuation. |
[SUMMARY] | The meeting summary that may contain invented quotes. This is the output from a previous summarization step that needs to be audited for fabricated direct or indirect speech. | Generated summary containing quoted material: "Alice stated, 'We must delay the launch until Q4.' Bob concurred with the timeline adjustment." | Must be non-empty string. Should contain at least one potential quote or paraphrased statement to audit. If summary contains no quotation marks or speech verbs, the prompt may return an empty removal list—validate that this is expected rather than a parsing failure. |
[QUOTE_DETECTION_MODE] | Controls whether the prompt scans for direct quotes only, indirect quotes only, or both. Direct quotes appear in quotation marks. Indirect quotes use speech verbs without quotation marks. | strict_direct | relaxed_indirect | both | Must be one of three enum values. Invalid values should cause pre-flight rejection. Use strict_direct for compliance workflows where only verbatim quoted text matters. Use both for general meeting intelligence products. |
[FUZZY_MATCH_THRESHOLD] | The minimum similarity score (0.0 to 1.0) required to consider a summary quote as matching a transcript passage. Lower values increase false positives; higher values increase false negatives. | 0.85 | Must be a float between 0.0 and 1.0. Values below 0.7 risk matching unrelated text. Values above 0.95 may miss legitimate paraphrases with minor wording differences. Recommend 0.85 as default for meeting transcripts with typical transcription errors. |
[SPEAKER_ATTRIBUTION_CHECK] | Whether to verify that the speaker attributed to a quote in the summary matches the actual speaker in the transcript. Misattributed quotes are a common hallucination pattern. | true | false | Boolean. Set to true for meeting intelligence products where speaker identity matters for accountability. Set to false for anonymous or single-speaker transcripts. When true, the output must include speaker mismatch flags in addition to fabrication flags. |
[OUTPUT_FORMAT] | Specifies the structure of the removal report. Controls whether removed quotes are replaced with deletion markers, null placeholders, or simply excised. | annotated_json | cleaned_text | diff_report | Must be one of three enum values. annotated_json returns the summary with removal metadata. cleaned_text returns the summary with fabricated quotes silently removed. diff_report returns only the removed quotes and their locations. Choose based on whether downstream systems need the cleaned output or the audit trail. |
[MAX_QUOTE_LENGTH_CHARS] | The maximum character length of a text segment to consider as a quotable passage. Longer passages are treated as paraphrased content rather than attempted quotes. | 500 | Must be a positive integer. Prevents the prompt from attempting to match entire paragraphs as quotes. Typical meeting quotes are under 300 characters. Values above 1000 risk false negatives where long paraphrased passages are incorrectly flagged as fabricated because they don't match verbatim. |
[REMOVAL_ACTION] | Determines what happens to identified fabricated quotes: strip them entirely, replace with a placeholder, or annotate and retain for human review. | strip | placeholder | annotate_and_retain | Must be one of three enum values. strip is appropriate for automated pipelines where fabricated content must never reach users. annotate_and_retain is appropriate for human-in-the-loop review workflows. placeholder inserts [QUOTE REMOVED: FABRICATED] markers for transparency. |
Implementation Harness Notes
How to wire the Invented Quote Removal Prompt into a production meeting intelligence pipeline with validation, retries, and human review gates.
Integrating this prompt into a meeting intelligence application requires a pre-processing step that extracts the transcript and the summary into the [TRANSCRIPT] and [SUMMARY] placeholders. The transcript should be speaker-attributed and timestamped if possible, as the model uses speaker identity and temporal context to verify quote authenticity. The summary must be the raw model output before any post-processing or formatting has been applied. If your pipeline generates summaries incrementally or in chunks, assemble the full summary before invoking this prompt to avoid partial-quote false positives.
The implementation harness should wrap the prompt call in a validation layer that checks the output schema before accepting the result. Expect a JSON response with a flagged_quotes array, each containing quote_text, line_number, fabrication_confidence, and reason. Validate that fabrication_confidence is a float between 0.0 and 1.0, that line_number maps to an actual line in the input summary, and that quote_text is a non-empty string. If validation fails, retry once with the same prompt and a stronger [CONSTRAINTS] block that emphasizes strict JSON output. After two failures, escalate the summary to a human review queue rather than silently passing potentially fabricated quotes to end users.
For high-stakes meeting domains—legal proceedings, board meetings, earnings calls, or clinical handoffs—add a mandatory human approval step for any quote flagged with fabrication_confidence above 0.7. Log every removal decision with the original summary text, the flagged quote, the confidence score, and the reviewer's action (confirmed removal, reinstated, or edited). This audit trail is essential for compliance and for debugging model behavior over time. Model choice matters here: use a model with strong instruction-following and JSON output reliability, such as GPT-4o or Claude 3.5 Sonnet, and set temperature=0 to minimize variance in fabrication confidence scoring. Do not use this prompt as the sole defense if fabricated quotes carry legal or regulatory risk—always pair it with human review for high-severity outputs.
Expected Output Contract
Defines the structure, types, and validation rules for the output of the Invented Quote Removal Prompt. Use this contract to build a parser and validator before integrating the prompt into a production pipeline.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
cleaned_summary | string | Must be a non-empty string. Must not contain any text segments listed in the | |
removed_quotes | array of objects | Must be a valid JSON array. Can be empty if no quotes are removed. Each object must conform to the | |
removed_quotes[].flagged_text | string | Must be a non-empty string. Must be an exact substring match found in the original input summary. If not found, the entire removal entry is invalid. | |
removed_quotes[].reason | string | Must be one of the following enum values: 'not_in_transcript', 'partial_fabrication', 'speaker_mismatch'. No other values are allowed. | |
removed_quotes[].confidence | number | Must be a float between 0.0 and 1.0 inclusive. Values below 0.7 should trigger a human review step in the harness before auto-removal. | |
removed_quotes[].transcript_evidence | string or null | Must be null if reason is 'not_in_transcript'. Otherwise, must be a non-empty string containing the closest matching text from the [TRANSCRIPT] input. | |
processing_metadata | object | Must contain the keys 'quotes_removed_count' (integer >= 0) and 'original_length' (integer > 0). The sum of |
Common Failure Modes
When deploying the Invented Quote Removal Prompt, these are the most common failure patterns and how to prevent them before they reach users or databases.
False Positives on Paraphrased Speech
What to watch: The prompt flags legitimate paraphrased statements as fabricated because the wording differs from the transcript. This over-strips content and removes accurate meeting context. Guardrail: Add explicit instruction distinguishing verbatim quotes from faithful paraphrases. Include few-shot examples showing paraphrased content that should be preserved, and tune the detection threshold to require semantic mismatch, not just lexical difference.
Missed Fabricated Quotes in Long Transcripts
What to watch: The model fails to detect invented quotes when the transcript is long and the fabricated statement is plausible within the meeting context. The prompt's attention dilutes across the full input window. Guardrail: Chunk the transcript into speaker-turn windows before running detection. Run the prompt per chunk with overlapping context, then aggregate results. Add a second-pass verification for any quote that appears in the summary but cannot be string-matched or semantically matched to any chunk.
Stripping Legitimate Direct Quotes with Minor Transcription Errors
What to watch: ASR errors in the transcript cause exact string matching to fail, so the prompt removes quotes that were actually spoken but transcribed imperfectly. Guardrail: Implement fuzzy matching with a configurable similarity threshold before flagging. Add a pre-processing step that normalizes common ASR artifacts in both the transcript and the summary quote before comparison. Log near-matches for human spot-checking rather than automatic removal.
Model Inventing Removal Justifications
What to watch: The prompt is asked to explain why each quote was removed, and the model hallucinates plausible-sounding but false justifications when the real reason is a simple string mismatch. Guardrail: Constrain the output schema so removal reasons are selected from a fixed enum rather than free-text generated. Use values like no_transcript_match, semantic_mismatch, partial_match_below_threshold. Validate that every removal reason maps to an allowed value before accepting the output.
Silent Failures on Empty or Malformed Transcripts
What to watch: When the transcript input is empty, truncated, or contains only metadata, the prompt may return an empty result without error, creating a false sense that all quotes were verified. Guardrail: Add a pre-validation step that checks for minimum transcript length and content signals before invoking the prompt. If the transcript fails pre-check, return a structured error and block the summary from proceeding. Never treat an empty detection result as confirmation of quote validity without input integrity checks.
Context Window Truncation Dropping Quote Evidence
What to watch: The transcript plus summary exceeds the model's context window, so the model never sees the portion of the transcript containing the original quote. It flags the quote as fabricated when the evidence was simply truncated. Guardrail: Estimate token usage before calling the model. If the combined input exceeds the safe context window, split the transcript and run detection in parallel batches. Never run verification when the transcript portion containing a quoted speaker's turns could be outside the visible context.
Evaluation Rubric
Use this rubric to test the Invented Quote Removal Prompt before shipping. Each criterion targets a specific failure mode observed when models fabricate quotes in meeting summaries.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Direct Quote Removal | All direct quotes not found verbatim in [TRANSCRIPT] are removed from [OUTPUT]. | Output retains a quoted string that does not appear as a substring in [TRANSCRIPT]. | String-match every quoted segment in [OUTPUT] against [TRANSCRIPT]. Flag any quote with zero exact matches. |
Paraphrase Preservation | All paraphrased statements grounded in [TRANSCRIPT] remain in [OUTPUT] without modification. | A legitimate paraphrase is stripped because it shares a keyword with a removed quote. | Prepare a golden set of 10 paraphrased statements. Verify all 10 survive the prompt without alteration. |
Attribution Accuracy | No speaker attribution is fabricated. [SPEAKER] tags in [OUTPUT] match speakers in [TRANSCRIPT] for the associated utterance. | A quote is attributed to a speaker who did not say it, or a speaker name is invented. | Cross-reference each [SPEAKER]-quote pair in [OUTPUT] against speaker-segmented [TRANSCRIPT]. Flag mismatches. |
Null Output Handling | When [TRANSCRIPT] contains no quotes, [OUTPUT] returns the summary unchanged with an empty removal log. | Prompt fabricates a quote to remove when none exists, or crashes on empty quote input. | Run with a transcript containing zero direct quotes. Assert [OUTPUT] equals [INPUT_SUMMARY] and removal log is empty. |
Boundary Quote Detection | Partial quotes and quotes split across speaker turns are correctly identified and removed if not verbatim. | A fabricated quote that spans a speaker boundary is missed because the match logic is line-by-line. | Insert a fabricated quote that crosses a speaker turn boundary in [TRANSCRIPT]. Verify it appears in the removal log. |
Removal Audit Trail | Every removed quote is logged with its text, reason code, and location in [OUTPUT]. | A quote is removed but missing from the removal log, or the log entry lacks a reason code. | Count removed quotes in [OUTPUT] diff. Assert removal log has an entry for each with non-empty reason and location fields. |
False Positive Rate | Fewer than 5% of removed quotes are actually present in [TRANSCRIPT]. | A verbatim quote from [TRANSCRIPT] is incorrectly flagged as fabricated and removed. | Run against 20 transcripts with known quotes. Measure precision: true removals / total removals. Require precision >= 0.95. |
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 prompt and a single transcript. Use a lightweight check: count the quotes returned and manually verify 5–10 against the transcript. No schema enforcement yet—just observe whether the model flags invented quotes and preserves legitimate paraphrases.
Add a placeholder for the transcript and a simple output instruction:
codeTranscript: [TRANSCRIPT] Identify any direct or indirect quotes in the summary below that do not appear verbatim or in close paraphrase in the transcript. Return a list of fabricated quotes with line references. Summary: [SUMMARY]
Watch for
- Over-flagging: the model may mark legitimate paraphrases as fabricated
- Under-flagging: invented quotes that sound plausible may slip through
- No structured output, making downstream parsing fragile

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