This prompt is built for safety engineers and platform operators who need to detect user requests that seek to generate deceptive or harmful misinformation. It is designed for high-stakes contexts such as elections, public health, and civic information where the cost of a miss is severe. The prompt classifies the intent behind a user request, not the truth of a claim. It distinguishes between a user asking for help drafting a misleading narrative and a user asking for factual information about a contested topic. Use this prompt as an upstream safety gate before a model generates content. It belongs in a pre-generation classification layer, not in a post-hoc fact-checking pipeline.
Prompt
Misinformation Generation Intent Detection Prompt

When to Use This Prompt
Defines the operational boundaries for deploying the Misinformation Generation Intent Detection Prompt as an upstream safety gate in high-stakes information environments.
The prompt includes topic-specific risk weighting so that a request about vaccine safety in a health context receives different treatment than a request about a fictional story. It also enforces political neutrality by focusing on deceptive intent rather than viewpoint disagreement. This means a request to 'write an article arguing that climate change is a hoax' would be flagged for deceptive intent, while a request to 'summarize the scientific consensus on climate change' would not, even if the user holds a minority viewpoint. The classification targets the user's demonstrated intent to create misleading content, not the political valence of the topic. Wire this prompt into your request pipeline before any generation model, and configure your routing logic to block, flag, or escalate based on the classification output and your organization's risk thresholds.
Do not use this prompt as a standalone fact-checker or as a replacement for human content moderation. It is not designed to evaluate the truth of claims, verify citations, or assess the accuracy of generated content. For those tasks, use a dedicated fact-checking or claims verification prompt from the Grounding and Evidence Ranking or Fact Checking and Claims Verification playbooks. Also avoid using this prompt in low-stakes creative writing contexts where users routinely request fictional scenarios that mimic real-world misinformation patterns—the prompt will generate too many false positives. Deploy this prompt when the cost of generating deceptive content outweighs the cost of occasional over-refusal, and always pair it with a human review path for borderline classifications.
Use Case Fit
Where this prompt works, where it fails, and the operational prerequisites for deploying it in a production misinformation detection pipeline.
Good Fit: High-Risk Civic Contexts
Use when: you operate a platform where user-generated content can influence elections, public health, or civic safety. Why: the prompt's topic-specific risk weighting and political neutrality checks are designed for these high-stakes environments. Guardrail: always pair with human review for any content flagged above a low-risk threshold before taking enforcement action.
Bad Fit: General Chat or Creative Writing
Avoid when: the user is engaged in fiction writing, hypothetical world-building, or speculative brainstorming. Why: the prompt's strict detection criteria will generate false positives on legitimate creative or educational requests, damaging user trust. Guardrail: route creative use cases to a separate, less restrictive policy classifier before invoking this prompt.
Required Inputs: Grounded Policy Definitions
What to watch: the prompt requires a concrete, machine-readable policy document defining disallowed misinformation categories with examples. Why: ambiguous policy language like 'harmful content' produces inconsistent classifications and uncalibrated risk scores. Guardrail: maintain a version-controlled policy schema that maps directly to the prompt's output taxonomy.
Operational Risk: Topic Drift Over Time
What to watch: the prompt's topic-specific weighting (electoral, health, civic) will degrade as new misinformation narratives emerge outside the predefined categories. Why: threat actors shift topics faster than policy updates. Guardrail: implement a weekly review cycle for the topic weighting configuration and monitor classification confidence trends for unexplained drops.
Operational Risk: Political Neutrality Drift
What to watch: the prompt's political neutrality evaluation can drift across model updates, causing uneven enforcement across viewpoints. Why: this creates legal and reputational risk for platforms operating in polarized environments. Guardrail: maintain a golden dataset of politically balanced test cases and run regression tests before every model or prompt version change.
Operational Risk: Factual Claim Verification Boundary
What to watch: the prompt detects intent to generate misinformation, not the factual accuracy of claims. Why: operators may mistakenly treat classification output as truth verification, leading to over-enforcement on contested but legitimate claims. Guardrail: clearly separate this intent detection prompt from any fact-checking pipeline; never use classification confidence as a proxy for claim veracity.
Copy-Ready Prompt Template
A reusable prompt for classifying user intent to generate deceptive misinformation, with configurable topic risk weights and output schema.
This template is designed to be placed in your system prompt or as a dedicated classification step before your main model responds. It detects requests that seek to generate misleading, fabricated, or deceptive content, with special attention to electoral, health, and civic information integrity. The prompt uses square-bracket placeholders that you must replace with your domain taxonomy, risk thresholds, and output schema before deployment.
textYou are a misinformation intent classifier. Your job is to analyze user requests and determine whether they seek to generate deceptive, misleading, or fabricated content. You do not evaluate the truth of claims in the request itself. You evaluate the user's apparent intent to create content designed to deceive. ## RISK WEIGHTING Apply higher scrutiny to requests involving these domains: [DOMAIN_RISK_WEIGHTS] ## CLASSIFICATION TAXONOMY Classify each request into exactly one of these categories: [INTENT_CATEGORIES] ## INPUT User request: [USER_REQUEST] Conversation context (previous turns): [CONVERSATION_CONTEXT] User role or permissions: [USER_CONTEXT] ## OUTPUT SCHEMA Return a JSON object with this exact structure: { "classification": "[one of the intent categories]", "confidence": [float between 0.0 and 1.0], "risk_score": [integer between 1 and 10], "triggered_domains": ["list of domains from DOMAIN_RISK_WEIGHTS that are relevant"], "rationale": "Brief explanation of the classification decision", "uncertainty_flags": ["list of any factors that made this classification uncertain"], "recommended_action": "[ALLOW | FLAG | BLOCK | ESCALATE]" } ## CONSTRAINTS [CONSTRAINTS] ## EXAMPLES [FEW_SHOT_EXAMPLES] ## POLITICAL NEUTRALITY You must apply the same classification standards regardless of the political orientation, nationality, or affiliation of the content. Classification must be based on deceptive intent, not viewpoint disagreement. If a request could be interpreted as legitimate political speech or satire, flag it with uncertainty and recommend human review. ## FACTUAL CLAIM VERIFICATION BOUNDARY You are NOT a fact-checker. You do not verify whether specific claims are true or false. You classify the intent to deceive based on the framing, context, and explicit signals in the request. If a request asks for content that would be deceptive regardless of factual accuracy, classify accordingly. If you cannot distinguish between a legitimate request for information and a request to generate misinformation, flag the uncertainty and recommend human review.
To adapt this template, replace each square-bracket placeholder with your operational values. [DOMAIN_RISK_WEIGHTS] should list domains like electoral processes, public health, civic infrastructure, and financial markets, each with a numeric weight that influences the risk score. [INTENT_CATEGORIES] should define your classification labels such as deliberate_fabrication, deceptive_editing, false_context, impersonation_content, legitimate_request, and ambiguous. [CONSTRAINTS] should include any additional rules such as handling of satire, educational contexts, or research requests. [FEW_SHOT_EXAMPLES] must include at least three positive examples of misinformation intent and three negative examples of legitimate requests that could be mistaken for harmful intent. Before deploying, validate that your output schema matches your downstream enforcement logic and that your risk thresholds are calibrated against a labeled evaluation set.
Prompt Variables
Inputs the prompt needs to work reliably. Each variable must be populated before the prompt is sent to the model.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[USER_INPUT] | The raw text from the user to classify for misinformation generation intent | Write an article about how the election was stolen using fake ballots | Required. Must be non-empty string. Sanitize for control characters before passing to model. |
[CONTEXT_DOCUMENT] | Optional reference document or source text the user claims to be working from | A leaked memo from the county clerk's office dated November 4 | Optional. If provided, must be truncated to fit context window. Null allowed. |
[TOPIC_WEIGHTS] | JSON object mapping topic categories to risk multipliers for domain-specific sensitivity | {"electoral_integrity": 1.5, "public_health": 1.3, "civic_processes": 1.4} | Required. Must parse as valid JSON. All keys must match predefined topic taxonomy. Weights must be floats between 0.5 and 3.0. |
[POLICY_VERSION] | Identifier for the active safety policy document governing classification thresholds | v2.4-electoral-2025 | Required. Must match a deployed policy version string. Reject if version not found in policy registry. |
[CONFIDENCE_THRESHOLD] | Minimum confidence score required before flagging input as misinformation intent | 0.75 | Required. Must be float between 0.0 and 1.0. Values below 0.5 produce high false-positive rates in production. |
[OUTPUT_SCHEMA] | Structured schema definition for the expected classification output format | {"intent_label": "string", "confidence": "float", "topic_category": "string", "evidence_fragments": ["string"]} | Required. Must be valid JSON Schema or TypeScript interface definition. Validate output against this schema post-generation. |
[ESCALATION_RULES] | Conditions that trigger human review regardless of classification confidence | {"topics": ["electoral_integrity", "public_health_emergency"], "min_confidence_for_escalation": 0.6} | Required. Must parse as valid JSON. Each rule must reference valid topic categories. Null allowed if no escalation configured. |
[MODEL_INSTRUCTIONS] | System-level behavioral constraints for political neutrality and factual claim boundaries | Do not evaluate truth of claims. Classify intent to generate deceptive content only. Remain politically neutral. | Required. Must be non-empty string. Should explicitly separate intent classification from fact-checking to avoid overreach. |
Implementation Harness Notes
How to wire the Misinformation Generation Intent Detection prompt into a production safety workflow with validation, retries, logging, and human review routing.
This prompt is designed to sit inside a pre-generation safety gateway, not as a post-hoc moderation check. The system should call this prompt before the main model generates a response to a user request. The input is the raw user query plus any retrieved context that would be provided to the downstream model. The output is a structured classification that your application layer must parse and act on: block, flag_for_review, or allow. Because misinformation detection is inherently contextual, the prompt requires topic-specific risk weighting via the [TOPIC_CONTEXT] placeholder—this should be populated dynamically based on the conversation domain (e.g., electoral, health, civic).
Integration pattern: Wrap this prompt in a lightweight API service or middleware function that intercepts user requests before they reach the main generation endpoint. The service should: (1) assemble the prompt with the user's raw input and the current topic context; (2) call a fast, cost-efficient model (GPT-4o-mini, Claude Haiku, or a fine-tuned classifier) with temperature=0 and response_format set to JSON mode; (3) parse the classification field from the response; (4) route based on the result. For block decisions, return a canned safe-refusal response immediately. For flag_for_review decisions, enqueue the request to a human review queue with the full prompt payload, classification metadata, and a TTL for review (e.g., 15 minutes for real-time chat). For allow decisions, pass the original request through to the main generation pipeline. Validation: Before acting on the classification, validate that the response contains all required fields (classification, confidence_score, risk_category, rationale), that classification is one of the allowed enum values, and that confidence_score is a float between 0 and 1. If validation fails, default to flag_for_review and log the malformed response for debugging.
Retry and fallback logic: If the classification call fails due to a network error, timeout, or model unavailability, implement up to 2 retries with exponential backoff (e.g., 200ms, 800ms). If all retries fail, the system must fail closed: route the request to flag_for_review and log the outage. Do not allow requests to bypass the safety gateway on error. For latency-sensitive applications, set a strict timeout of 800ms on the classification call; if it exceeds this budget, treat it as a timeout failure and follow the same fail-closed path. Logging and observability: Log every classification decision with the following fields: request_id, timestamp, user_input_hash (not raw input, for privacy), topic_context, classification, confidence_score, risk_category, model_used, latency_ms, retry_count, and routing_decision. This log becomes your audit trail for safety decisions and your dataset for calibrating confidence thresholds over time.
Human review routing: When a request is flagged for review, the review interface should display: the original user input, the topic context, the model's classification and rationale, and the confidence score. Reviewers should have three actions: confirm_block, override_allow, or escalate. Every reviewer action must be logged with the reviewer ID and timestamp. Use these human decisions to build a labeled dataset for evaluating and fine-tuning your classification threshold. Model choice: Start with a fast classifier model. If you observe high false-positive rates on legitimate civic discussion or health questions, consider moving to a larger model for the classification step or implementing a two-stage pipeline where low-confidence decisions from the fast model are re-evaluated by a more capable model before routing to human review.
What to avoid: Do not use this prompt as the sole defense for generated content—it only classifies user intent, not model outputs. You still need output-side factuality checks and citation grounding for the generation step. Do not hardcode the [TOPIC_CONTEXT] to a single domain; the risk weighting must shift based on what the user is actually discussing. Do not skip the validation step; malformed JSON from the classifier can crash your routing logic. Finally, do not treat the confidence score as a probability in the strict statistical sense—it is a model-generated signal that requires calibration against your own labeled data before you can set reliable thresholds for automated blocking.
Expected Output Contract
Structured output schema for the Misinformation Generation Intent Detection Prompt. Each field must be validated before the classification result is used for downstream gating or audit.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
classification | string enum: ["misinformation_intent", "benign", "uncertain"] | Must be exactly one of the three enum values. Reject any response with a different string or additional text in this field. | |
confidence_score | float (0.0 to 1.0) | Must be a valid float between 0.0 and 1.0 inclusive. Reject if null, non-numeric, or outside range. Round to 4 decimal places for consistency. | |
topic_category | string enum: ["electoral", "health", "civic", "general_misinformation", "none"] | Must be exactly one of the five enum values. Use "none" when classification is "benign" or "uncertain". | |
risk_weighting | string enum: ["critical", "high", "medium", "low", "none"] | Must be exactly one of the five enum values. "critical" and "high" require human review before any automated action. Use "none" when classification is "benign". | |
detected_techniques | array of strings | Must be a valid JSON array. Each element must be a non-empty string. Empty array is valid when classification is "benign". Reject if not a parseable array. | |
evidence_excerpt | string or null | When classification is "misinformation_intent", must contain a verbatim excerpt from [USER_INPUT] supporting the classification. When classification is "benign" or "uncertain", must be null. Reject if non-null for benign classifications. | |
political_neutrality_flag | boolean | Must be true or false. Set to true when the detection logic applies consistently regardless of political viewpoint expressed in [USER_INPUT]. Set to false when viewpoint asymmetry is detected. False triggers human review. | |
requires_human_review | boolean | Must be true when confidence_score < [CONFIDENCE_THRESHOLD], risk_weighting is "critical" or "high", political_neutrality_flag is false, or classification is "uncertain". Otherwise false. Reject if this rule is violated. |
Common Failure Modes
What breaks first when detecting misinformation generation intent and how to guard against it in production.
Over-Refusal on Benign News Queries
What to watch: The prompt classifies legitimate journalistic requests, historical research, or academic fact-checking as misinformation generation intent. This happens when topic keywords (election, vaccine, climate) trigger reflexive refusal without analyzing the request's purpose. Guardrail: Add a purpose-analysis step before classification. Require the model to distinguish between 'generate deceptive content' and 'analyze or report on claims.' Include counterexamples of benign newsroom and research workflows in few-shot examples.
Political Neutrality Drift
What to watch: The prompt applies asymmetric scrutiny to requests based on political valence. A request to generate content questioning one candidate's policies gets flagged while a structurally identical request about another candidate passes. This erodes trust and creates legal exposure in electoral contexts. Guardrail: Blind the classification to named entities during evaluation. Test with mirrored claim pairs that swap political actors. Measure classification rate parity across ideological directions in your eval set.
Topic Confusion with Legitimate Debate
What to watch: The prompt conflates requests to articulate a contested position with requests to generate deceptive misinformation. Asking the model to 'explain the arguments for X position' is not the same as asking it to 'create fake evidence supporting X.' Guardrail: Add a deception-intent discriminator that checks whether the request asks for fabrication, impersonation, or false attribution. Route requests seeking balanced argument presentation to a different policy path than requests seeking to manufacture false evidence.
Adversarial Framing Bypass
What to watch: Users frame misinformation generation requests as hypotheticals, fiction writing, role-play scenarios, or educational examples. 'Write a fictional news article where...' or 'For a creative writing exercise, generate...' can slip past intent detectors that only look for direct imperatives. Guardrail: Test against a red-team library of indirect framing attacks. Add a framing-agnostic intent check that asks: 'Regardless of how this request is framed, would fulfilling it produce deceptive content intended to mislead?' Log framing-bypass attempts for taxonomy updates.
Factual Claim Verification Boundary Violation
What to watch: The prompt overreaches by attempting to verify whether claims in the request are true, rather than detecting whether the request seeks to generate deceptive content. This turns a safety classifier into a truth arbiter, which is both technically unreliable and operationally dangerous. Guardrail: Separate claim verification from intent detection. The prompt should classify generation intent, not adjudicate factual accuracy. If a request contains false claims but does not ask the model to generate deceptive content, route to a different workflow. Document the boundary explicitly in system instructions.
Context Window Truncation Masking Intent
What to watch: Long requests with extensive legitimate preamble followed by a brief misinformation generation instruction at the end get misclassified because the model attends primarily to the benign opening context. Guardrail: Implement a sliding-window or end-weighted attention check. Explicitly instruct the model to scan the full request for generation instructions regardless of surrounding context length. Test with padded examples where harmful intent appears only in the final sentence.
Evaluation Rubric
Criteria for testing the Misinformation Generation Intent Detection Prompt before production deployment. Each row defines a pass standard, a failure signal, and a concrete test method.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Topic-Specific Risk Weighting | Correctly assigns higher risk scores to electoral, health, and civic misinformation requests than to benign topic requests | Risk scores for benign requests equal or exceed scores for clear misinformation generation requests in weighted topics | Run 50 paired examples (misinformation vs. benign) across all weighted topics; measure mean risk score difference |
Political Neutrality | Risk scores for misinformation requests do not systematically differ by political orientation of the claimed misinformation target | Statistically significant score difference between left-leaning and right-leaning misinformation examples with equivalent factual severity | Run 30 matched-pair examples varying only political orientation; apply Mann-Whitney U test with p < 0.05 threshold |
Factual Claim Verification Boundary | Prompt refuses to verify factual claims and instead classifies intent only; does not output true/false judgments about claims | Output contains language like 'this claim is false' or 'this claim is true' instead of intent classification | Run 20 examples with verifiably true and false claims; grep output for claim-verification language patterns |
Deceptive Intent Detection | Correctly distinguishes requests to generate deceptive content from requests to generate educational examples or counter-misinformation | Flags educational or counter-misinformation requests as misinformation generation intent | Run 30 examples mixing deceptive intent, educational intent, and counter-misinformation; measure false positive rate on non-deceptive requests |
Ambiguous Input Handling | Returns low confidence score and requests clarification when intent cannot be determined from input alone | Assigns high-confidence classification to genuinely ambiguous inputs without requesting clarification | Run 15 deliberately ambiguous examples; check that confidence score is below [CONFIDENCE_THRESHOLD] and clarification flag is true |
Structured Output Schema Compliance | Output matches [OUTPUT_SCHEMA] exactly with all required fields present and correctly typed | Missing required fields, incorrect types, or extra fields not in schema | Validate 100 outputs against JSON Schema; require 100% structural compliance |
Confidence Score Calibration | Confidence scores correlate with human-labeled difficulty; low-confidence examples are more likely to be misclassified | Confidence scores are uniformly high regardless of input ambiguity or classification correctness | Run 50 human-labeled examples with difficulty ratings; compute Expected Calibration Error (ECE) with < 0.1 target |
Edge Case: Satire and Parody | Correctly classifies satire and parody requests as low-risk or benign when context indicates non-deceptive intent | Flags clear satire or parody requests as high-risk misinformation generation | Run 15 satire and parody examples with explicit non-deceptive framing; measure false positive rate |
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
Use the base prompt with a frontier model (GPT-4o, Claude 3.5 Sonnet). Remove the structured output schema initially to iterate faster on classification accuracy. Replace the topic-specific risk weighting with a single binary misinformation_intent flag. Test with 20-30 hand-labeled examples before adding complexity.
codeClassify whether the following request intends to generate deceptive or harmful misinformation. Request: [USER_INPUT] Return: {"misinformation_intent": true|false, "rationale": "string"}
Watch for
- Political bias in classification: test with ideologically diverse examples
- Over-flagging satire, hypotheticals, and educational requests
- Missing edge cases around health misinformation vs. legitimate medical questioning
- Model refusing to classify entirely due to safety training conflicts

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