Inferensys

Prompt

Misinformation and Disinformation Risk Triage Prompt

A practical prompt playbook for using Misinformation and Disinformation Risk Triage Prompt in production AI workflows.
Risk analyst performing AI risk assessment on laptop, risk matrices visible, casual office risk session.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the operational context, ideal user, and critical limitations for deploying the misinformation triage prompt in a production trust and safety pipeline.

This prompt is a classification gateway for platform trust and safety teams who need to triage user-generated content, posts, or messages for misinformation and disinformation risks before the content is amplified, recommended, or allowed to remain visible. It scores content for verifiably false claims, coordinated inauthentic behavior (CIB) signals, and manipulation context. Use it during high-risk events such as elections, public health crises, or breaking news cycles where the cost of delayed detection is high. The prompt is designed to sit inside a classification gateway: it reads the content and any available context, then outputs a structured risk assessment that downstream systems can use to route the content for fact-checking, quarantine, human review, or automated enforcement.

Do not use this prompt as a standalone fact-checker. It does not verify claims against a live knowledge base. It assesses the risk profile of the content and recommends the next processing step. Always pair it with a fact-checking pipeline or human review queue for high-severity outputs. The ideal user is a trust and safety engineer or a moderation operations lead who needs a consistent, auditable signal to scale their team's triage capacity. The prompt requires the raw content text and, optionally, user history or thread context to assess coordination patterns. Without this context, CIB detection accuracy will degrade.

Before wiring this prompt into a production system, define the downstream routing map. A high_risk score should trigger quarantine and human review, not an automated takedown. A medium_risk score might route to a fact-checking queue. A low_risk score can allow the content to proceed with standard moderation. The prompt's value is in reducing the volume of content that requires expensive human review while ensuring high-risk content is never auto-approved. Never use the model's raw output to take irreversible enforcement actions without a human-in-the-loop step for high-severity classifications.

PRACTICAL GUARDRAILS

Use Case Fit

Where this prompt works, where it fails, and the operational preconditions required before deploying it into a production trust and safety pipeline.

01

Good Fit: High-Volume Platform Triage

Use when: you need to score thousands of user posts, comments, or reports per minute during an election, public health crisis, or breaking news event. Guardrail: Deploy behind a queue with dead-letter handling. The prompt is a first-pass classifier, not a final decision maker.

02

Bad Fit: Isolated Fact-Checking

Avoid when: the goal is a definitive true/false verdict on a single claim without access to a fact-check database. Guardrail: This prompt scores risk and routes for review. Pair it with a Retrieval-Augmented Generation (RAG) system grounded in a known claims database for verification.

03

Required Inputs

Risk: Garbage in, garbage out. The prompt requires the full text of the post, the user handle, and the surrounding conversational context. Guardrail: Validate input completeness before invocation. If context is truncated, return an INSUFFICIENT_CONTEXT error instead of a low-confidence score.

04

Operational Risk: Concept Drift

Risk: During fast-moving events, the language of disinformation evolves rapidly (e.g., coded terms, new conspiracy theories). A static prompt will miss these signals. Guardrail: Monitor the distribution of output scores. A sudden drop in detection rate should trigger a human review of the prompt's examples and a rapid update cycle.

05

Operational Risk: Coordinated Inauthentic Behavior (CIB)

Risk: A single post may look benign, but a network of accounts posting similar content is a high-risk signal. Guardrail: This prompt assesses single-message risk. It must feed into an upstream aggregation system that clusters messages by semantic similarity and account graph analysis to detect CIB campaigns.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready prompt for triaging content into risk tiers, routing to fact-checking, and flagging coordinated inauthentic behavior.

The following prompt template is designed to be pasted directly into your classification gateway. It instructs the model to act as a trust and safety triage agent, analyzing a piece of content for verifiably false claims, signals of coordinated inauthentic behavior (CIB), and manipulation context. The output is a structured JSON object that your application can parse to make a deterministic routing decision—escalating to a human review queue, sending to a fact-checking partner API, or quarantining the content entirely.

code
You are a trust and safety triage agent. Analyze the provided content for misinformation, disinformation, and manipulation risks. Your analysis must be grounded strictly in the content and the provided context. Do not infer intent beyond what is stated.

INPUT:
[CONTENT]

CONTEXT:
- Current Event: [EVENT_NAME]
- Known False Narratives: [KNOWN_NARRATIVES]
- Author/Account Risk Score: [ACCOUNT_RISK_SCORE]

OUTPUT_SCHEMA:
{
  "risk_tier": "low" | "medium" | "high" | "critical",
  "verifiably_false_claims": [
    {
      "claim": "string",
      "fact_check_status": "false" | "misleading" | "unsubstantiated" | "needs_review",
      "evidence_reference": "string or null"
    }
  ],
  "cib_signals": [
    {
      "signal": "string",
      "indicator_type": "coordinated_phrasing" | "brigading_pattern" | "inauthentic_amplification" | "network_synchrony",
      "confidence": 0.0-1.0
    }
  ],
  "manipulation_context": {
    "target_audience": "string or null",
    "emotional_valence": "fear" | "anger" | "outrage" | "hope" | "neutral",
    "virality_risk": 0.0-1.0
  },
  "routing_decision": "clear" | "fact_check" | "human_review" | "quarantine",
  "routing_reasoning": "string"
}

CONSTRAINTS:
- If no verifiably false claims are detected, the `verifiably_false_claims` array must be empty.
- `virality_risk` must be scored based on emotional manipulation and current event context, not just engagement metrics.
- A `routing_decision` of "quarantine" requires a `risk_tier` of "critical" and at least one high-confidence CIB signal.
- Do not fabricate evidence references. Use `null` if no specific source can be cited.

To adapt this template for your environment, replace the square-bracket placeholders with real data before each inference call. The [CONTENT] placeholder should receive the full text of the post, message, or article. The [EVENT_NAME] and [KNOWN_NARRATIVES] fields should be populated from an external knowledge base or feature flag that your operations team updates during high-risk events, such as an election or public health crisis. The [ACCOUNT_RISK_SCORE] should be a pre-computed value from your internal identity and behavioral analysis system, injected here to provide the model with additional signal without requiring it to perform account-level analysis on unstructured data.

Before deploying this prompt, validate that your application layer can parse the JSON output strictly against the defined schema. Any deviation—such as a missing routing_decision or an invalid risk_tier—should trigger a retry or a fallback to a human review queue. In high-stakes scenarios, log every output alongside the input context for auditability, and implement an eval pipeline that measures precision and recall against a golden dataset of known misinformation examples to catch drift in the model's classification behavior.

IMPLEMENTATION TABLE

Prompt Variables

Every placeholder the Misinformation and Disinformation Risk Triage Prompt expects, why it matters, and how to validate it before sending. Use this table to wire the prompt into your trust and safety pipeline.

PlaceholderPurposeExampleValidation Notes

[CONTENT_TO_TRIAGE]

The raw text, post, or message body to be scored for misinformation risk.

The election results from County X have been digitally altered. Here is the proof: [link]

Required. Must be a non-empty string. Truncate to 4096 tokens if longer. Strip any PII before passing to the model.

[CONTENT_TYPE]

Specifies the format of the input to help the model interpret structure and context.

social_media_post

Required enum. Accepted values: social_media_post, news_article, chat_message, forum_thread, transcript, image_caption. Reject with 400 if value is not in the enum.

[PLATFORM_CONTEXT]

Provides metadata about where the content appeared to assess virality and coordinated behavior signals.

Platform: Twitter, Engagement: 15.2K retweets in 2 hours, Account Age: 3 days

Optional string. If provided, must be under 500 characters. If null, the model will not factor in platform-specific virality signals.

[FACT_CHECK_SOURCES]

A list of verified, authoritative sources the model should use as ground truth for claim verification.

Required. Must be a valid JSON array of URLs. Each URL must return a 200 status code when checked. If the array is empty, the model must abstain from factuality scoring and set confidence to 0.

[COORDINATION_SIGNALS]

Pre-computed signals from your internal behavioral analysis system about coordinated inauthentic activity.

{"network_cluster_id": "cluster_42b", "posting_similarity_score": 0.94, "temporal_burst": true}

Optional JSON object. If provided, must conform to the coordination signals schema. If null, the model will rely solely on textual analysis for coordination indicators.

[OUTPUT_SCHEMA]

The strict JSON schema the model must use for its structured risk assessment response.

{"type": "object", "properties": {"risk_score": {"type": "number"}, "fact_check_routing": {"type": "boolean"}, ...}}

Required. Must be a valid JSON Schema object. Validate with a schema validator before sending. The model must not deviate from this structure.

[ESCALATION_THRESHOLD]

The risk score threshold above which content must be routed for immediate human review.

0.85

Required. Must be a float between 0.0 and 1.0. The model's output must include a boolean escalation_required field that is true when risk_score > [ESCALATION_THRESHOLD].

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Misinformation and Disinformation Risk Triage Prompt into a production classification pipeline with validation, retries, and human review.

This prompt is designed as a synchronous classification step within a broader content evaluation pipeline. It should be invoked after content ingestion but before any automated action (such as labeling, demotion, or user notification) is taken. The prompt expects a single piece of content and its surrounding context as input, and it returns a structured JSON risk assessment. In production, this prompt is not a standalone decision-maker; it is a signal generator whose output must be validated, logged, and combined with other signals (user reputation, virality metrics, prior strikes) before a final moderation decision is made.

To integrate this prompt, wrap it in a service that enforces a strict JSON output contract. If the model returns malformed JSON, missing required fields, or values outside the defined enums, the service should retry the request once with a stronger formatting instruction appended to the original prompt. If the retry also fails, the content should be routed to a human review queue with a VALIDATION_FAILURE flag. Log every request and response, including the raw prompt, model version, latency, and confidence scores, to an immutable audit store. This is critical for trust and safety workflows where decisions must be explainable to regulators, users, and internal policy teams. For model choice, use a capable frontier model (such as GPT-4o or Claude 3.5 Sonnet) with low temperature (0.1–0.2) to maximize deterministic scoring. Avoid using small or fine-tuned models for this task unless you have a rigorous evaluation pipeline that proves they match frontier model performance on your specific misinformation taxonomy.

The output schema includes a requires_human_review boolean. Your harness must respect this flag unconditionally: if it is true, do not proceed with any automated action, regardless of other scores. Additionally, implement a hard rule that any content scoring above a virality_risk threshold of 8 or a manipulation_score above 7 is automatically escalated. For high-stakes events (elections, public health crises), consider routing all content with a disinformation_risk score above 5 for human review, overriding the model's own recommendation. The harness should also check for the presence of fact_check_urls in the output; if the model provides them, your system should verify that the URLs are from an approved, vetted list of fact-checking organizations before surfacing them to human reviewers or end-users. Never display unverified external URLs directly from the model output.

Before deploying any change to this prompt or its harness, run a regression suite against a golden dataset of 500+ labeled examples covering confirmed misinformation, legitimate news, satire, opinion, and edge cases like misleading imagery captions. Measure precision and recall for each risk tier, and require a human review of 50 random samples from each scoring bucket to calibrate thresholds. In production, monitor the distribution of risk scores daily; a sudden shift in the ratio of high-risk to low-risk classifications may indicate prompt drift, a change in the input content mix, or a model behavior change. Set up alerts for when the requires_human_review rate exceeds 20% of traffic, as this may signal a model failure or a coordinated attack. Finally, ensure your harness can be disabled via a kill switch without affecting the rest of the content pipeline, allowing for emergency rollback during incidents.

IMPLEMENTATION TABLE

Expected Output Contract

Every field the model must return, its type, and the validation rule that must pass before the output is accepted. Use this contract to build a post-processing validator that rejects non-conforming responses.

Field or ElementType or FormatRequiredValidation Rule

risk_assessment_id

string (UUID v4)

Must match UUID v4 regex. Generate if not provided in [INPUT].

overall_risk_score

number (0.0-1.0)

Must be a float between 0.0 and 1.0 inclusive. Reject if out of range.

risk_tier

string (enum)

Must be one of: 'CRITICAL', 'HIGH', 'MEDIUM', 'LOW'. Reject if not in enum.

primary_risk_category

string (enum)

Must be one of: 'verifiably_false_claim', 'coordinated_inauthentic_behavior', 'manipulated_media', 'impersonation', 'conspiracy_narrative', 'contextual_manipulation'. Reject if not in enum.

detected_claims

array of objects

Each object must contain 'claim_text' (string), 'verification_status' (enum: 'TRUE', 'FALSE', 'MISLEADING', 'UNVERIFIED'), and 'evidence_reference' (string or null). Reject if array is empty when overall_risk_score > 0.3.

virality_risk_assessment

object

Must contain 'current_velocity' (string enum: 'NONE', 'LOW', 'MEDIUM', 'HIGH', 'VIRAL'), 'amplification_signals' (array of strings), and 'estimated_reach' (integer or null). Reject if missing any sub-field.

routing_decision

object

Must contain 'action' (string enum: 'ALLOW', 'FLAG_FOR_REVIEW', 'QUARANTINE', 'REMOVE'), 'target_queue' (string), and 'escalation_required' (boolean). Reject if action is 'QUARANTINE' or 'REMOVE' and escalation_required is false.

confidence_score

number (0.0-1.0)

Must be a float between 0.0 and 1.0 inclusive. If confidence_score < 0.7, routing_decision.action must be 'FLAG_FOR_REVIEW'.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when triaging misinformation and disinformation at scale, and how to prevent it before it reaches users.

01

Over-Classification of Satire and Opinion

What to watch: The model flags opinion pieces, satire, or political commentary as disinformation, creating a censorship perception risk and flooding review queues with false positives. Guardrail: Add a negative example set with labeled satire and opinion samples. Require the prompt to distinguish between 'false claim of fact' and 'expressed opinion' before applying a disinformation label.

02

Temporal Context Blindness

What to watch: A claim that was false at the time of posting is evaluated against current, corrected information, leading to an incorrect 'true' classification. Conversely, a true statement at posting might be false now. Guardrail: Explicitly provide the publication date and require the model to assess veracity against the information landscape at that specific time. Include a 'temporal mismatch' flag in the output schema.

03

Coordinated Inauthentic Behavior (CIB) Atomization

What to watch: The prompt analyzes a single post in isolation and misses the CIB pattern visible only across a network of accounts posting similar content at high velocity. Guardrail: The prompt must accept a [NETWORK_CONTEXT] input containing metadata about related posts, account creation dates, and similarity scores. If absent, the output must explicitly state 'CIB assessment inconclusive due to missing network context'.

04

Virality Score Inflation from Engagement Metrics

What to watch: The model confuses high engagement (likes, shares) with high virality risk, over-prioritizing popular but benign content while missing a low-engagement post with a dangerously manipulative narrative that is about to be amplified. Guardrail: Instruct the prompt to assess 'virality risk' based on narrative manipulation potential and network propagation patterns, not raw engagement counts. Use a separate [ENGAGEMENT_METRICS] field and a distinct [VIRALITY_RISK_SCORE] in the output.

05

Source Authority Overfitting

What to watch: The model defers entirely to a 'trusted source' list and fails to flag a false claim from a compromised or erroneous authoritative account, or dismisses a true claim from a new, unlisted source. Guardrail: Frame source authority as a weighted signal, not a binary gate. The prompt must cross-reference claims against multiple sources from a provided [EVIDENCE_DOCKET] and flag conflicts between high-authority sources for human review.

06

Multimodal Claim Disconnect

What to watch: The prompt analyzes text that says 'look at this' while the attached image or video contains the actual false claim (e.g., a miscaptioned photo). The text alone is rated as low risk. Guardrail: The prompt must require a [MULTIMODAL_CONTEXT] input that includes a text description of the visual media. It must then evaluate the combined claim from text and visual description as a single, unified assertion before scoring.

IMPLEMENTATION TABLE

Evaluation Rubric

How to test output quality before shipping. Run these checks against a golden dataset of at least 200 labeled examples covering all risk levels and categories.

CriterionPass StandardFailure SignalTest Method

Risk Level Accuracy

Predicted risk_level matches ground-truth label for >= 95% of high-severity examples and >= 90% overall

High-severity misclassification rate > 5% or overall accuracy < 90%

Confusion matrix analysis on 200-example golden set; weighted F1 score >= 0.90

Category Classification Precision

Each misinformation_category prediction matches ground truth with >= 85% precision per category

Any single category precision < 85% or consistent confusion between adjacent categories

Per-category precision/recall report; flag categories with < 85% precision for prompt refinement

Confidence Score Calibration

confidence_score >= 0.80 correlates with >= 90% accuracy; confidence < 0.50 correlates with <= 60% accuracy

High-confidence predictions (>0.80) show accuracy < 85% or low-confidence predictions (<0.50) show accuracy > 70%

Calibration curve plot; expected calibration error (ECE) < 0.10 on binned confidence intervals

Evidence Grounding Completeness

evidence_grounding array contains >= 1 specific claim reference for every high-risk classification

High-risk output missing evidence_grounding entirely or containing only generic references without claim text

Schema validation check: evidence_grounding required when risk_level is 'high' or 'critical'; spot-check 50 examples for claim specificity

Virality Risk Flag Consistency

virality_risk flag matches ground truth for >= 90% of examples with coordinated-inauthentic-behavior signals

virality_risk set to true for isolated low-reach content or false for content with known amplification patterns

Binary classification accuracy on virality-labeled subset; false-positive and false-negative rate both < 10%

Fact-Check Routing Correctness

fact_check_routing recommendation matches expected action for >= 92% of verifiably-false examples

Verifiably false claims routed to 'no_action' or true claims routed to 'escalate_to_fact_check'

Routing decision accuracy on 100-example subset with known fact-check outcomes; error analysis on mismatches

Output Schema Compliance

100% of outputs parse as valid JSON matching the defined output contract with all required fields present

Any output missing required fields, containing extra fields, or failing JSON schema validation

Automated schema validation on all test outputs; reject any output that fails structural validation

Refusal and Boundary Handling

Prompt correctly returns abstention or low-confidence output for out-of-scope inputs without hallucinating risk labels

Out-of-scope input receives high-confidence risk classification or fabricated evidence_grounding

Test with 20 boundary examples (non-English, non-claims, benign content); verify abstention rate >= 95%

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a frontier model and minimal output validation. Focus on getting the triage categories and confidence scores right before adding downstream routing logic.

  • Remove strict JSON schema enforcement; accept markdown-wrapped JSON or structured text.
  • Reduce the number of required output fields to claim_summary, risk_score, and recommended_action.
  • Use a single [CONTENT] placeholder instead of separating [POST_TEXT] and [PLATFORM_CONTEXT].
  • Skip fact-check tool integration; rely on the model's internal knowledge with an explicit caveat in the output.

Watch for

  • Overly broad risk_score values (everything scored as 7/10).
  • Missing disinformation_tactics enumeration when the content is clearly manipulative.
  • The model refusing to analyze borderline political content instead of scoring it.
Prasad Kumkar

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.