This prompt is designed for compliance engineers and trust and safety architects who must resolve situations where a single AI behavior triggers multiple policies that offer conflicting guidance. The core job-to-be-done is not just detecting a violation, but producing a structured conflict analysis that identifies the applicable policies, pinpoints the specific tension points between them, determines which policy takes precedence, and recommends a resolution path. The ideal user is someone who already has a defined policy library and needs a repeatable, auditable method for handling policy collisions without hardcoding every possible combination in application logic.
Prompt
Multi-Policy Conflict Resolution Prompt for Violations

When to Use This Prompt
Define the job, reader, and constraints for resolving conflicts when multiple policies apply to a single violation.
Use this prompt when your guardrail system has flagged an output or action that sits at the intersection of two or more policies with contradictory requirements—for example, a refusal policy that demands blocking a response versus a transparency policy that requires explaining why the block occurred. It is appropriate when the conflict is non-trivial and requires documented reasoning that a human reviewer or auditor can later inspect. The prompt requires the full text of the conflicting policies, the violation context, and any existing severity classifications as inputs. It is not a replacement for a policy hierarchy document; rather, it operationalizes that hierarchy in a specific case.
Do not use this prompt for simple, single-policy violations where a standard escalation template suffices. Avoid it in real-time, latency-sensitive enforcement paths where a sub-100ms decision is required; this is an analysis prompt designed for asynchronous review queues and post-detection adjudication. The output is a structured conflict resolution record, not an enforcement action. Always route the resolution recommendation to a human reviewer when the conflict involves high-severity safety policies, regulatory exposure, or novel policy intersections that lack precedent. The next step after generating the conflict analysis is to attach it to the violation record and submit it to the appropriate review queue with the unresolved tension points clearly flagged.
Use Case Fit
Where the Multi-Policy Conflict Resolution Prompt delivers value and where it introduces unacceptable risk. Use these cards to decide if this prompt belongs in your compliance workflow.
Good Fit: Explicit Policy Conflicts
Use when: Two or more documented policies give contradictory guidance for the same action. The prompt excels at identifying tension points and applying precedence rules. Guardrail: Always provide the full policy text, not summaries, to prevent the model from resolving conflicts based on incomplete rules.
Bad Fit: Implicit or Unwritten Policies
Avoid when: Policies exist only as tribal knowledge or informal team norms. The model cannot resolve conflicts between rules it cannot read. Guardrail: Require that every policy referenced in the conflict analysis has a versioned, written source that can be cited in the output.
Required Inputs: Policy Corpus and Action Context
Risk: Incomplete inputs produce plausible but incorrect precedence determinations. Guardrail: Enforce a strict input schema requiring the full action description, all applicable policy documents with version dates, and any prior conflict rulings before the prompt executes.
Operational Risk: Precedence Hallucination
Risk: The model invents a plausible hierarchy when policies are silent on precedence. Guardrail: Require the output to cite the exact clause that establishes precedence. If no clause exists, the prompt must escalate rather than invent one.
Operational Risk: Human Over-Delegation
Risk: Compliance engineers treat the model's resolution as authoritative without review. Guardrail: The output must include a mandatory human adjudication step with decision options, not a final ruling. Log every resolution for audit.
Variant: Jurisdictional Conflict
Use when: Policies from different regulatory jurisdictions conflict. Guardrail: Add a jurisdiction precedence field to the input schema and require the model to flag when jurisdiction rules are themselves ambiguous, escalating to legal review.
Copy-Ready Prompt Template
A reusable prompt for analyzing and resolving conflicts when multiple policies apply to a single violation.
This template is designed for compliance engineers and trust and safety teams who need to resolve situations where an AI system's behavior triggers multiple policies that offer conflicting guidance. The prompt forces the model to identify all applicable policies, articulate the specific points of tension, apply a defined precedence hierarchy, and recommend a single, defensible resolution. Use this when a violation has already been detected and classified, but the required action is ambiguous because two or more policies pull in different directions.
textYou are a compliance analysis engine. Your task is to resolve conflicts when multiple policies apply to a single guardrail violation and their guidance is contradictory. ## INPUT [VIOLATION_RECORD] ## APPLICABLE POLICIES [POLICY_LIST] ## POLICY HIERARCHY [PRECEDENCE_RULES] ## OUTPUT SCHEMA { "conflict_id": "string", "policies_in_conflict": [ { "policy_name": "string", "policy_id": "string", "guidance": "string", "required_action": "string" } ], "tension_points": [ { "point": "string", "policy_a": "string", "policy_b": "string", "description_of_conflict": "string" } ], "precedence_analysis": { "dominant_policy": "string", "rationale": "string", "overridden_policies": ["string"], "hierarchy_rule_applied": "string" }, "recommended_resolution": { "action": "string", "justification": "string", "residual_risk": "string", "requires_human_approval": boolean }, "confidence": "high|medium|low" } ## CONSTRAINTS - If no conflict exists, return a single-policy analysis with "conflict_detected": false. - If the hierarchy does not clearly resolve the conflict, set confidence to "low" and set requires_human_approval to true. - Always cite specific policy clauses or IDs in your rationale. - Do not invent policies or precedence rules not present in the input. - If a policy is regulatory or legal in nature, it automatically outranks internal policies unless the hierarchy explicitly states otherwise. ## EXAMPLES [FEW_SHOT_EXAMPLES] ## RISK LEVEL [RISK_LEVEL]
To adapt this template, replace the square-bracket placeholders with your operational data. [VIOLATION_RECORD] should contain the structured output from your detection prompt, including the violation type, severity, and evidence excerpt. [POLICY_LIST] must include the full text or structured representation of every policy flagged as applicable. [PRECEDENCE_RULES] is critical: define your organization's hierarchy explicitly (e.g., 'Legal/Regulatory > Safety > Privacy > Content Quality'). Provide [FEW_SHOT_EXAMPLES] that demonstrate correct conflict resolution, especially for known edge cases like safety-vs-privacy tensions. Set [RISK_LEVEL] to 'high' if the violation involves regulated data, minors, or financial impact, which should force requires_human_approval to true in ambiguous cases. Before deploying, validate the output against a golden set of adjudicated conflicts to ensure the model respects your hierarchy consistently and does not hallucinate policy clauses.
Prompt Variables
Inputs required for the Multi-Policy Conflict Resolution Prompt to produce a reliable conflict analysis. Each placeholder must be populated before the prompt is assembled.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[VIOLATION_CONTEXT] | The specific action, output, or decision that triggered the guardrail violation | User query: 'How do I export customer PII?' Agent response: 'Here is the SQL query to select all users...' | Must be a non-empty string. If the context is a multi-turn conversation, include the full turn history to capture intent drift. |
[APPLICABLE_POLICIES] | The full text of all policies that could apply to this violation, including version numbers | Policy A (Data Handling v2.3): 'Never generate SQL that extracts PII.' Policy B (Helpfulness v1.8): 'Provide useful technical assistance.' | Must contain at least two policies. Each policy must have a unique identifier. If policies are stored externally, validate that the retrieval step returned complete policy text, not just summaries. |
[POLICY_HIERARCHY] | The precedence rules that determine which policy wins in a conflict |
| Must be an ordered list. Validate that the hierarchy covers all policies in [APPLICABLE_POLICIES]. If a policy is missing from the hierarchy, the resolution will be non-deterministic. |
[CONFLICT_DETECTION_THRESHOLD] | The minimum tension level required to flag a conflict for resolution | 0.7 | Must be a float between 0.0 and 1.0. A value below 0.5 will generate noise; a value above 0.9 may miss genuine conflicts. Calibrate against a golden set of known conflicts. |
[OUTPUT_SCHEMA] | The strict JSON schema for the conflict analysis output | {"type": "object", "properties": {"conflict_id": {"type": "string"}, "policies_in_conflict": {"type": "array"}, "tension_points": {"type": "array"}, "precedence_decision": {"type": "string"}, "resolution": {"type": "string"}}, "required": ["conflict_id", "policies_in_conflict", "tension_points", "precedence_decision", "resolution"]} | Validate that the schema includes required fields for traceability. The resolution field must be a string, not an object, to prevent nested ambiguity. Test the schema against the model's JSON mode before production use. |
[ESCALATION_RULES] | Conditions under which the conflict must be escalated to a human reviewer instead of auto-resolved | Escalate if: (1) policies have equal precedence, (2) resolution involves a regulated data type, (3) confidence score < 0.8. | Must be a list of boolean conditions. Each condition must be testable in code after the model returns. If escalation is triggered, the workflow must block the action and route to a review queue. |
[FEW_SHOT_EXAMPLES] | 2-3 labeled examples of conflict resolutions with correct precedence application | Example 1: Conflict between Data Retention policy and Right to Delete request. Precedence: Regulatory > Operational. Resolution: Execute deletion with audit log. | Each example must include the policies, the tension, the correct precedence decision, and the final resolution. Validate that examples do not contradict the [POLICY_HIERARCHY]. Stale examples cause the model to learn outdated precedence. |
Implementation Harness Notes
How to wire the multi-policy conflict resolution prompt into a production compliance review pipeline.
This prompt is not a standalone chat interaction; it is a decision-support module inside a larger compliance review pipeline. The typical integration point is after a guardrail violation detection system has flagged an output and before a human compliance officer makes a final adjudication. The application should assemble the required inputs—the original AI output, the list of triggered policies, and any relevant context—and inject them into the prompt's placeholders. The model's response should be treated as a structured recommendation, not an automated decision. The output must be logged immutably as part of the audit trail, including the model version, timestamp, and the raw prompt used.
Validation is critical before the analysis reaches a human reviewer. The application layer must parse the model's JSON output and confirm that every policy listed in the applicable_policies array exists in the input policy set, that the precedence_determination field references only those policies, and that the recommended_resolution is non-empty. If the model hallucinates a policy name or fails to resolve the conflict, the system should retry once with a stricter instruction to ground all references in the provided policy text. After a second failure, the item should be escalated to a human with a flag indicating an unresolvable policy conflict, bypassing the model's recommendation. For high-stakes domains like healthcare or finance, consider routing all severity: critical conflicts directly to human review regardless of model confidence.
Model choice matters here. Use a model with strong reasoning and instruction-following capabilities, such as GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro. Avoid smaller or faster models that may collapse the nuanced distinction between conflicting policies into a generic 'comply with all' answer. Set the temperature low (0.0–0.2) to maximize deterministic, repeatable analysis. Log the conflict_analysis and precedence_determination fields separately so that compliance teams can later query for patterns—for example, how often a data retention policy overrides a transparency policy. The human review interface should display the original violation, the model's conflict analysis, and clear accept/override/reject buttons. Every override must capture the reviewer's justification and identity, feeding back into the audit trail and future policy refinement cycles.
Expected Output Contract
Define the exact shape of the JSON output for the multi-policy conflict resolution prompt. Use this contract to build a post-processing validator that rejects malformed responses before they reach a human reviewer.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
conflict_id | string (UUID v4) | Must match UUID v4 regex. Reject on parse failure. | |
status | enum: 'RESOLVED', 'UNRESOLVED', 'ESCALATED' | Must be one of the three allowed values. Reject otherwise. | |
applicable_policies | array of objects | Array length >= 2. Each object must contain 'policy_id' (string) and 'policy_text' (string). | |
tension_points | array of strings | Array length >= 1. Each string must be a non-empty description of a specific conflict between two policies. | |
precedence_analysis | object | Must contain 'determined_by' (enum: 'HIERARCHY', 'SPECIFICITY', 'TIMELINESS', 'JURISDICTION', 'EXPLICIT_OVERRIDE') and 'reasoning' (string). | |
recommended_resolution | object | Must contain 'action' (string) and 'justification' (string). 'action' must reference which policy takes precedence. | |
unresolved_risks | array of strings | If present, each string must be non-empty. Null allowed. If status is 'RESOLVED', this field must be an empty array or null. | |
human_review_required | boolean | Must be true if status is 'ESCALATED' or 'UNRESOLVED'. Must be false if status is 'RESOLVED'. Reject on mismatch. |
Common Failure Modes
When resolving conflicts between multiple policies, the prompt often fails silently by picking the wrong rule, ignoring a critical constraint, or producing an unactionable compromise. These cards cover the most frequent failure patterns and how to guard against them.
Policy Hierarchy Inversion
What to watch: The model resolves a conflict by applying a lower-precedence policy over a higher one (e.g., a product-specific guideline overrides a legal requirement). This often happens when the lower-precedence policy is more specific or appears later in the prompt. Guardrail: Provide an explicit, ordered policy hierarchy in the system prompt and require the model to cite the precedence rule it applied in its reasoning before stating the resolution.
False Equivalence and Both-Sidesism
What to watch: When two policies genuinely conflict, the model produces a non-decision that lists both sides without recommending a resolution path. This leaves the human reviewer with the same ambiguity the prompt was meant to solve. Guardrail: Add a hard constraint that the output must include a single recommended resolution with a clear rationale. If a true deadlock exists, require the model to explicitly escalate with a 'no viable resolution' classification instead of a vague summary.
Silent Policy Omission
What to watch: The model ignores a relevant policy entirely, often because the policy's trigger conditions are complex or the policy was introduced late in the prompt. The resolution looks clean but is non-compliant. Guardrail: Require the model to enumerate all applicable policies it identified before analyzing conflicts. Add an eval check that verifies the output's policy list against a known set of applicable policies for the test case.
Over-Prioritization of Explicit Over Implicit Constraints
What to watch: The model resolves the conflict by strictly following an explicitly stated rule while violating an implicit but critical safety or regulatory norm that was undertrained or assumed. Guardrail: Include a 'residual risk' section in the output schema where the model must flag any implicit norms or unstated constraints that might be violated by the recommended resolution, even if no explicit policy covers them.
Context Window Recency Bias
What to watch: In long prompts with many policy documents, the model gives disproportionate weight to policies near the end of the context window, effectively deprioritizing earlier, potentially more critical rules. Guardrail: Place the policy hierarchy and core safety policies at both the beginning and end of the system prompt. For critical evaluations, run a separate check that asks the model to re-evaluate the resolution against only the top-priority policies.
Unanchored Precedent Fabrication
What to watch: When asked to determine precedence, the model invents a plausible-sounding legal or logical principle (e.g., 'specificity doctrine') that doesn't exist in the provided policies or real-world regulations. Guardrail: Constrain the model to cite only from the provided policy documents when justifying its precedence determination. Add a validator that checks all citations against the source text and flags any unsupported legal reasoning.
Evaluation Rubric
Use this rubric to test the Multi-Policy Conflict Resolution Prompt before shipping. Each criterion targets a specific failure mode in policy hierarchy reasoning, tension analysis, and resolution justification.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Policy Identification Completeness | All applicable policies from [POLICY_SET] are cited in the conflict analysis | Missing policy reference; policy mentioned in tension section but not in applicable list | Diff output policy list against [POLICY_SET] keys; flag any policy in [POLICY_SET] not cited |
Tension Point Accuracy | Every tension point maps to a specific clause conflict between two or more policies | Tension described as vague incompatibility without clause-level citation; phantom tension where policies actually align | Parse each tension point for clause references; verify both clauses exist in cited policies; spot-check 5 random pairs for false conflicts |
Precedence Rule Application | Resolution follows the explicit precedence order defined in [PRECEDENCE_RULES] | Resolution favors a lower-precedence policy over a higher one without override justification; ignores [PRECEDENCE_RULES] entirely | Extract chosen policy from resolution; verify its precedence rank against conflicting policies using [PRECEDENCE_RULES] ordering |
Override Justification Quality | Any override of standard precedence includes a specific rationale tied to [OVERRIDE_CRITERIA] | Override stated without rationale; rationale is generic ('business need') without linking to [OVERRIDE_CRITERIA] | Check each override for a rationale sentence; validate rationale references at least one condition from [OVERRIDE_CRITERIA] |
Resolution Actionability | Recommended resolution includes a concrete action, responsible role, and any required approval gate | Resolution is a principle statement without action; missing who executes or what approval is needed | Parse resolution for action verb, role label, and approval flag; fail if any of three absent |
Conflict Severity Classification | Severity level matches the impact definitions in [SEVERITY_SCALE] | Severity inflated (Critical for low-impact conflict) or deflated (Low for regulatory conflict) | Map severity label to [SEVERITY_SCALE] definition; verify impact description in analysis matches the selected level |
Evidence Traceability | Every claim about policy conflict or resolution is traceable to a specific policy clause or precedent | Unsupported assertion about what a policy requires; hallucinated clause text not present in source policies | Random-sample 3 claims from output; require exact clause reference; diff claimed clause text against source policy text |
Human Review Routing Correctness | Escalation decision matches [ESCALATION_MATRIX] based on severity and override presence | Case routed to human when matrix says auto-resolve; auto-resolved when matrix requires human review | Apply [ESCALATION_MATRIX] rules to output severity and override flags; compare routing decision to matrix output |
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 small set of known-conflict policy pairs. Remove strict output schema requirements initially. Use a single model call with both policies and the violation context inline.
codeYou are a policy conflict resolver. Given: - Violation context: [VIOLATION_DETAILS] - Policy A: [POLICY_A_TEXT] - Policy B: [POLICY_B_TEXT] Identify the conflict, determine which policy takes precedence, and explain your reasoning in plain text.
Watch for
- Model defaulting to the longer or more specific policy without analyzing hierarchy
- Missing explicit precedence justification
- Overly verbose reasoning that buries the resolution
- No handling of equal-precedence deadlocks

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