This prompt is designed for compliance operations teams who need a reliable, automated gate to validate incoming data deletion requests under GDPR Article 17, CCPA, or equivalent regulations. Its primary job is to act as a decision-support tool that determines if a request is complete, verifiable, and actionable before any data is touched. The ideal user is a privacy analyst, DPO, or compliance engineer embedding this into a ticketing system or privacy request portal. The prompt requires a structured input containing the request details, the relevant regulatory text, and your organization's specific data retention and exception policies.
Prompt
Right to Erasure Request Validation Prompt

When to Use This Prompt
Defines the operational context, ideal user, and boundaries for the Right to Erasure Request Validation Prompt.
You should use this prompt when you need a consistent, auditable first pass on every deletion request. It is particularly valuable when request volume makes manual triage a bottleneck, or when you need to enforce a strict separation between the validation decision and the execution of deletion. The prompt evaluates identity verification status, checks for applicable exceptions (such as legal holds or legitimate business needs), and calculates the mandated processing timeline. It is not a prompt for executing the deletion itself; its output is a structured decision object that your application can use to either trigger an automated deletion workflow or route the request to a human review queue with a detailed reason.
Do not use this prompt when the request context is so ambiguous that a human must interpret the initial intent, or when the regulatory framework is not provided as part of the input. This prompt is a compliance gate, not a legal advisor. It will not invent regulations or interpret vague policy. For high-risk requests where the model flags an exception, identity gap, or regulatory ambiguity, the prompt's output must be treated as a routing instruction to a human reviewer, not a final decision. The next step after using this prompt is to wire its structured output into your workflow engine: a pass status proceeds to automated processing, while a needs_review or blocked status must trigger a human review task with the full validation payload attached.
Use Case Fit
Where the Right to Erasure Request Validation Prompt works, where it fails, and the operational conditions required before relying on it in a compliance workflow.
Good Fit: Structured Triage
Use when: you need to classify incoming erasure requests by completeness, identity verification status, and obvious exception categories before a human reviews them. Guardrail: Keep the prompt's role strictly to triage and evidence assembly. It must not make the final approval decision.
Bad Fit: Final Legal Determination
Avoid when: the output will be used as the final compliance decision without human review. Risk: The model may misinterpret jurisdictional nuance or fail to identify a complex exception that requires a qualified lawyer. Guardrail: The prompt output must always be routed to a human reviewer for sign-off, with the model's reasoning presented as a draft recommendation.
Required Inputs
What to watch: The prompt is only as good as its inputs. Guardrail: Ensure the following are provided in the prompt context: the full text of the erasure request, the results of an identity verification check, the relevant jurisdiction's regulation text, and the data subject's record. Missing inputs must cause the prompt to return a NEEDS_INFO status, not a guess.
Operational Risk: Hallucinated Precedent
What to watch: The model may invent legal interpretations or cite non-existent regulatory clauses to justify its recommendation. Guardrail: The prompt must be instructed to ground every exception or denial strictly in the provided regulation text, quoting the specific clause. An eval must check that all citations exist in the source material.
Operational Risk: Inconsistent Identity Checks
What to watch: The model may accept weak identity verification evidence if not explicitly constrained. Guardrail: The prompt must define a clear, non-negotiable standard for what constitutes a verified identity (e.g., "government-issued ID confirmed by the identity provider") and reject requests that do not meet it, regardless of other factors.
Operational Risk: Timeline Miscalculation
What to watch: The model may miscalculate the regulatory deadline for response, especially across time zones or when a request is paused for more information. Guardrail: The prompt should be given a pre-calculated deadline based on a trusted system clock, not asked to compute the date itself. The model's task is to flag if the deadline is at risk of being breached.
Copy-Ready Prompt Template
A copy-ready prompt template for validating data subject access requests with structured identity checks, exception analysis, and processing timeline determination.
This prompt template is designed to be the core instruction set for an AI system evaluating a Right to Erasure (Right to Deletion) request. It forces the model to act as a compliance gate, not a decision-maker. The template requires the model to structure its output into a machine-readable decision with a clear status, a list of verified identity attributes, applicable regulatory exceptions, and a concrete processing timeline. The goal is to produce a consistent, auditable artifact that a human reviewer can quickly approve or reject.
codeYou are a compliance validation engine. Your task is to evaluate a data subject's Right to Erasure request against the provided [REGULATORY_POLICY] and [DATA_RETENTION_SCHEDULE]. You must not fulfill or deny the request; you only produce a structured validation decision. INPUT DATA: - Request Details: [REQUEST_PAYLOAD] - Identity Verification Evidence: [IDENTITY_EVIDENCE] - Data Subject's Account History: [ACCOUNT_HISTORY] - Applicable Regulation Text: [REGULATORY_POLICY] - Internal Data Retention Rules: [DATA_RETENTION_SCHEDULE] OUTPUT SCHEMA (Strict JSON): { "request_id": "string", "validation_status": "approved_for_processing" | "needs_human_review" | "rejected", "identity_verification": { "status": "verified" | "failed" | "insufficient_evidence", "matched_attributes": ["string"], "unmatched_or_missing_attributes": ["string"], "confidence_score": 0.0-1.0 }, "exception_analysis": [ { "exception_type": "string (e.g., legal_hold, freedom_of_expression, public_interest, defense_of_legal_claims)", "applies": true | false, "evidence_citation": "string (quote from input data or policy)", "reasoning": "string" } ], "processing_timeline": { "regulatory_deadline_days": "number", "recommended_completion_date": "YYYY-MM-DD", "justification": "string" }, "blocking_conditions": ["string (list of reasons why the request cannot proceed automatically)"], "recommended_next_step": "string (clear instruction for the human reviewer or automated workflow)" } CONSTRAINTS: - If identity_verification.confidence_score < [ID_CONFIDENCE_THRESHOLD], set validation_status to "needs_human_review". - If any exception_analysis item has "applies": true, set validation_status to "needs_human_review". - If the request is for data that is part of an active [LEGAL_HOLD_LIST], set validation_status to "needs_human_review". - Do not invent exceptions. Only use exception types explicitly mentioned in [REGULATORY_POLICY]. - Cite specific lines or fields from the input data in your evidence_citation fields.
To adapt this template, replace the square-bracket placeholders with real data from your identity provider, CRM, and policy engine before each invocation. The [ID_CONFIDENCE_THRESHOLD] should be a constant in your application config (e.g., 0.85). The [LEGAL_HOLD_LIST] should be a dynamically queried list of active litigation or regulatory holds. After receiving the JSON output, your application must parse validation_status. If it is needs_human_review, route the entire payload to a review queue. If it is approved_for_processing, you can proceed to the next step in your deletion pipeline, but always log the full validation object as an audit record before executing any destructive action.
Prompt Variables
Every placeholder the Right to Erasure Request Validation Prompt expects, with concrete examples and actionable validation rules to prevent silent failures in production.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[REQUEST_DETAILS] | The full text of the data subject's erasure request, including any attachments or correspondence. | I request deletion of my account and all associated personal data under Article 17 GDPR. My email is jane@example.com. | Must be non-empty string. Check for presence of explicit deletion language. If only contains a general inquiry, flag for human review before processing. |
[DATA_SUBJECT_IDENTITY] | Verified or claimed identity attributes of the requester, such as email, user ID, or name. | {"user_id": "usr_9821", "email": "jane@example.com", "name": "Jane Doe"} | Schema check: must contain at least one unique identifier. If identity verification status is 'unverified', the prompt must require escalated review. Null allowed only if request is anonymous and policy permits anonymous erasure. |
[IDENTITY_VERIFICATION_STATUS] | The outcome of the identity proofing step, indicating whether the requester's identity has been confirmed. | verified | Must be one of: 'verified', 'unverified', 'failed', 'pending'. If 'unverified' or 'failed', output must include a blocking condition and require human review. Do not allow 'verified' to bypass exception checks. |
[DATA_INVENTORY_CONTEXT] | A structured list of data categories and systems where the subject's data is stored, retrieved from the data map. | {"systems": [{"name": "prod_db", "categories": ["PII", "behavioral"]}, {"name": "analytics_lake", "categories": ["pseudonymous"]}]} | Schema check: must be a valid JSON array of system objects. If empty or null, the prompt cannot assess scope and must escalate. Validate that each system has a non-empty 'categories' array. |
[APPLICABLE_REGULATION] | The specific privacy regulation or internal policy against which the request should be validated. | GDPR Article 17 | Must match a known regulation in the system's policy library. If the value is 'CCPA', exception logic must differ from 'GDPR'. Reject unknown or misspelled regulation names. Default to the organization's strictest policy if not specified. |
[OVERRIDE_POLICY_CONTEXT] | Any organization-specific retention or exception policies that supplement or constrain the regulatory baseline. | Legal hold policy LHL-2024-03 applies to all data related to case 8842. Financial records retained for 7 years per SOX. | Must be a non-empty string if provided. If null, the prompt should note that only regulatory exceptions were considered. Validate that policy names match known internal policy IDs if a policy library is available. |
[PROCESSING_TIMELINE_SLA] | The maximum allowed time for processing the request, used to calculate the deadline and urgency. | 30 days | Must be a valid duration string (e.g., '30 days', '45 calendar days'). If null, default to the regulation's statutory period. Validate that the calculated deadline is in the future; if already past, flag as overdue and escalate immediately. |
Implementation Harness Notes
How to wire the Right to Erasure Request Validation Prompt into a compliance workflow application with validation, retries, logging, and human review gates.
This prompt is not a standalone chatbot interaction; it is a decision gate inside a larger compliance workflow. The application layer must supply the structured [REQUEST_DETAILS], [USER_IDENTITY_EVIDENCE], and [REGULATORY_POLICY] inputs, then parse the JSON output into a state machine that routes the request to one of three paths: proceed (automated deletion), needs_review (human queue), or reject (notification with reasoning). The model's decision is advisory until the application enforces it. For GDPR or CCPA workflows, the application should never autonomously execute deletion based solely on the model's proceed output without an additional confirmation step that logs the decision rationale and the evidence used.
The harness must validate the model's output against a strict JSON schema before acting on it. At minimum, check that decision is one of the allowed enum values, identity_verification_status is present, applicable_exceptions is an array, and processing_timeline_days is a positive integer or null. If validation fails, retry once with the same prompt and append a repair instruction: Your previous output was invalid. You must return valid JSON matching the required schema. If the second attempt also fails, escalate the entire request to a human review queue with the raw model output and validation errors attached. Do not loop indefinitely; two attempts is the ceiling before human intervention.
Logging is critical for auditability. For every request, persist the full prompt payload, the model's raw output, the validation result, the final routing decision, and the identity of any human reviewer who overrides the model's recommendation. These records form the audit trail required by Article 17 of GDPR and similar regulations. Use structured logging with a correlation ID that ties the erasure request to the user's account and the eventual deletion or retention action. If the model flags identity_verification_status as unverified or insufficient, the application must block the workflow and request additional evidence from the user before re-invoking the prompt. Do not pass unverified requests to a human reviewer without first collecting the missing evidence.
Model choice matters here. Use a model with strong instruction-following and JSON output reliability, such as GPT-4o, Claude 3.5 Sonnet, or a fine-tuned equivalent. Avoid smaller or older models that are prone to hallucinating legal citations or misclassifying exception categories. If your deployment requires on-premise or air-gapped operation, validate your chosen local model against a golden dataset of 50+ labeled erasure requests before production use. The eval set should include edge cases: requests with partial identity matches, requests citing multiple regulations, requests where the data subject is a minor, and requests that conflict with legal holds or ongoing investigations.
Human review is mandatory for any request where the model returns needs_review or where the applicable_exceptions array contains entries like legal_obligation, public_interest, or legal_claims. The review interface should present the original request, the model's structured output, and the relevant policy excerpts side by side. The human reviewer must confirm or override the decision, and their action must be logged with a timestamp and rationale. Do not allow the model's proceed decision to bypass human review when exceptions are present, even if the model's confidence appears high. The cost of a wrongful deletion under GDPR far exceeds the cost of a brief human check.
Expected Output Contract
Fields, types, and validation rules for the JSON response returned by the Right to Erasure Request Validation Prompt. Use this contract to parse, validate, and route the model output in your application.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
request_id | string | Must match the [REQUEST_ID] input exactly. Fail if missing or mismatched. | |
decision | enum: approved | denied | needs_review | Must be one of the three enum values. Reject any other string. | |
identity_verification_status | enum: verified | unverified | partial | Must be one of the three enum values. If 'unverified' or 'partial', 'decision' must be 'needs_review' or 'denied'. | |
applicable_exceptions | array of strings | Each string must match a known exception from the provided [JURISDICTION_RULES]. Empty array is valid. Fail if any string is not in the source list. | |
exception_rationale | string | null | Required if 'applicable_exceptions' is non-empty. Must cite a specific rule reference from [JURISDICTION_RULES]. Null allowed when exceptions array is empty. | |
processing_timeline_days | integer | Must be a positive integer. Must not exceed the statutory maximum defined in [JURISDICTION_RULES]. Fail if negative, zero, or exceeds max. | |
required_actions | array of objects | Each object must contain 'action' (string), 'owner' (string), and 'deadline' (ISO 8601 date string). Fail if any required field is missing or deadline is in the past. | |
human_review_required | boolean | Must be true if 'decision' is 'needs_review' or if 'identity_verification_status' is 'unverified'. Fail if false when review is clearly needed. |
Common Failure Modes
What breaks first when using an LLM to validate right to erasure requests and how to build production-grade defenses.
Hallucinated Legal Exceptions
What to watch: The model invents plausible-sounding but non-existent legal bases to deny a valid erasure request, such as citing a fictional 'legitimate interest override' or misapplying a retention obligation. Guardrail: Require the model to cite specific article and recital numbers from the provided regulation text. Implement a post-processing check that rejects any exception not present in a pre-approved allowlist of valid legal bases.
Identity Verification Overconfidence
What to watch: The model treats a name and email match as sufficient identity verification, ignoring the regulatory requirement for reasonable measures to confirm the data subject's identity before acting on the request. Guardrail: Add a hard gate in the application layer that checks for the presence of a verified identity token or multi-factor confirmation before the prompt is even called. The prompt should only assess the quality of verification evidence provided, not assume verification has occurred.
Scope Creep in Data Deletion
What to watch: The model interprets a targeted deletion request as a full account erasure, or vice versa, failing to distinguish between 'delete my email address' and 'delete everything you have on me.' Guardrail: Force the prompt to explicitly extract and enumerate the specific data categories and processing purposes mentioned in the user's request. Compare this extracted list against the system's data inventory before generating the final decision to ensure the scope matches the intent.
Ignoring Conflicting Policy Updates
What to watch: The model relies on an outdated version of the internal retention policy provided in its context, missing a recent update that changes the retention period for a specific data category. Guardrail: Implement a retrieval-augmented generation (RAG) step that fetches the latest policy document version from a source of truth before prompt assembly. Include a policy_version field in the output to make staleness auditable.
False Negative on Complex Requests
What to watch: The model fails to recognize a valid erasure request because it is embedded in a long, emotional, or rambling customer complaint, classifying the entire message as 'general feedback' instead of a legally actionable request. Guardrail: Use a two-stage pipeline. First, a dedicated classification prompt scans for explicit and implicit erasure signals. Only if a signal is detected does the full validation prompt run. Log all negative classifications for a 24-hour human spot-check.
Timeline Calculation Errors
What to watch: The model miscalculates the 'without undue delay' one-month deadline, especially when start dates are ambiguous, time zones differ, or the request requires clarification that pauses the clock. Guardrail: Do not rely on the model to calculate the deadline. Have the application code compute the statutory deadline based on a system-generated, unambiguous request_receipt_timestamp. The prompt's job is only to identify if a clock-pausing clarification is needed, not to do date math.
Evaluation Rubric
Criteria to test output quality before shipping the Right to Erasure Request Validation Prompt to production. Each row defines a pass standard, a failure signal, and a concrete test method.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Identity Verification Status | Output includes a discrete | Field is missing, null, or contains a value outside the defined enum. | Schema validation against the [OUTPUT_SCHEMA] enum. Run 10 test cases with varying identity evidence quality. |
Applicable Exception Detection | For each exception in the [APPLICABLE_REGULATIONS] list, the output includes a boolean | An exception is applied without citing a specific article or clause from the provided [APPLICABLE_REGULATIONS] text. | Assert that every |
Processing Timeline Calculation | The | Timeline is a generic number (e.g., always 30) that ignores jurisdiction-specific rules provided in the context. | Test with CCPA (45 days) and GDPR (30 days) contexts. Assert the calculated value matches the rule for the given [JURISDICTION]. |
Complex Case Flagging | The | A request with | Run 5 complex scenario tests. Assert |
Hallucination Resistance | The | The output cites a regulation article that does not exist in the provided context (e.g., 'GDPR Article 99'). | String match check: every cited article number must appear in the source [APPLICABLE_REGULATIONS] text. Run with a truncated regulation text to test. |
Structured Output Adherence | The entire response is a single, valid JSON object that parses without errors and matches the [OUTPUT_SCHEMA] exactly. | The response contains text outside the JSON object, or the JSON is malformed (e.g., trailing comma, missing bracket). | Automated |
Denial Reason Completeness | When | A denial decision is returned with an empty string or a generic message like 'request denied' in the | Assert that |
Confidence Score Calibration | The | A confidence score of 0.95 is returned for a request with no identity verification evidence. | Test with an empty [IDENTITY_EVIDENCE] input. Assert |
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 lighter validation. Focus on getting the core decision logic right before adding strict schema enforcement. Remove the [OUTPUT_SCHEMA] constraint and ask for a structured summary instead of a typed object. Replace the detailed exception catalog with a single instruction: "If any exception might apply, flag for human review."
Prompt modification
codeYou are a data privacy triage assistant. Review the following erasure request and provide a summary assessment. [REQUEST_DETAILS] [USER_IDENTITY_EVIDENCE] Return a plain-text summary covering: - Identity verification confidence (low/medium/high) - Whether any exception to erasure likely applies - Recommended next step: proceed, deny, or escalate
Watch for
- Missing schema checks leading to inconsistent output formats
- Overly broad exception interpretations that block valid requests
- No confidence scoring, making it hard to set an escalation threshold

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