This prompt is for governance, risk, and compliance (GRC) teams who must prepare a self-contained evidence package for external audit submission. The job is to take a set of verified claims, their supporting evidence, and the verification methodology, and assemble them into a single, structured package that an external auditor can review without access to your internal systems. Use this prompt when the output must include a complete chain of custody, a clear methodology statement, and all evidence artifacts linked to their respective claims. The ideal user is a compliance engineer or audit lead who has already completed upstream fact-checking and now needs to produce a defensible, portable artifact.
Prompt
Audit-Ready Evidence Package Prompt

When to Use This Prompt
Defines the precise job-to-be-done, the ideal user, and the operational boundaries for the Audit-Ready Evidence Package Prompt.
Do not use this prompt for real-time fact-checking, initial claim extraction, or evidence retrieval. It assumes those upstream steps are complete and verified. The prompt is designed for high-stakes workflows where missing a single piece of evidence or failing to document provenance can cause an audit finding. It is not a replacement for a verification pipeline; it is the final assembly step that transforms verified structured data into a human-readable, auditor-ready document. If your inputs are still uncertain or your evidence is incomplete, resolve those gaps before invoking this prompt.
Before using this prompt, confirm that you have: (1) a complete list of verified claims with their final verdicts, (2) all supporting evidence artifacts with source identifiers and timestamps, (3) a documented verification methodology, and (4) a clear chain of custody showing who handled each piece of evidence and when. If any of these inputs are missing, the output package will be incomplete and may fail audit scrutiny. The prompt includes built-in validation for package completeness and export-format compliance, but it cannot fabricate missing evidence or guess at provenance. Always pair this prompt with a human review step before submission to an external auditor.
Use Case Fit
Where the Audit-Ready Evidence Package Prompt delivers value and where it introduces risk. Use these cards to decide if this prompt fits your workflow before integrating it into a production pipeline.
Good Fit: External Audit Submission
Use when: governance or compliance teams must submit a self-contained evidence package to an external auditor. The prompt structures claims, evidence, methodology, and chain-of-custody into a single export-ready artifact. Guardrail: validate package completeness against the auditor's required fields before submission.
Good Fit: Regulated Industry Documentation
Use when: financial services, healthcare, or other regulated sectors require traceable verification records. The prompt enforces methodology disclosure and evidence linkage that regulators expect. Guardrail: pair with a human review step for any claim marked as 'insufficient evidence' before the package is finalized.
Bad Fit: Real-Time Verification Dashboards
Avoid when: you need live, streaming verification results in a dashboard. This prompt is designed for batched, packaged output, not incremental updates. Guardrail: use the Structured Claim Verification Report Prompt for per-claim streaming; reserve this prompt for final audit packaging.
Bad Fit: Informal Internal Review
Avoid when: a team just wants a quick summary of verification results without formal audit requirements. The package overhead adds latency and token cost without benefit. Guardrail: use the Verification Outcome Summary Prompt for lightweight internal reviews; escalate to this prompt only when an audit trail is required.
Required Inputs: Complete Verification Artifacts
Risk: the prompt cannot fabricate evidence chains or methodology descriptions from thin air. Missing inputs produce incomplete packages that fail audit scrutiny. Guardrail: ensure claim-level verdicts, evidence citations, source authority records, and methodology notes exist before invoking this prompt. Validate input completeness programmatically.
Operational Risk: False Completeness
Risk: the model may produce a package that looks structurally complete but contains placeholder values, missing evidence links, or unverified claims presented as verified. Guardrail: run automated completeness validation on every output field. Flag any package where required fields are empty, evidence references are unresolvable, or methodology sections contain generic boilerplate.
Copy-Ready Prompt Template
A reusable prompt template for generating a self-contained, audit-ready evidence package with claims, evidence, methodology, and chain-of-custody documentation.
This prompt template is the core instruction set for generating an Audit-Ready Evidence Package. It is designed to be pasted into your orchestration layer, where each square-bracket placeholder is replaced with live data from your verification pipeline before the model call. The template forces the model to produce a structured, self-contained package that an external auditor can review without access to your internal systems. It requires explicit methodology disclosure, evidence-to-claim mapping, and a chain-of-custody summary, moving beyond a simple verdict list to a defensible artifact.
textYou are an audit documentation specialist preparing an evidence package for external regulatory review. Your output must be self-contained, traceable, and suitable for submission without additional context. Generate an Audit-Ready Evidence Package using the following inputs and constraints. ## INPUT DATA ### Claims and Verification Results [CLAIMS_AND_VERDICTS] ### Evidence Sources [EVIDENCE_SOURCES] ### Verification Methodology [METHODOLOGY_DESCRIPTION] ### Pipeline Execution Metadata [PIPELINE_METADATA] ## OUTPUT SCHEMA Produce a single, valid JSON object conforming to this structure: { "package_metadata": { "package_id": "string", "generation_timestamp": "ISO 8601", "pipeline_version": "string", "prepared_by": "string", "submission_status": "draft | final" }, "methodology_statement": { "summary": "string (plain-language description of the verification process)", "claim_extraction_method": "string", "evidence_retrieval_method": "string", "matching_logic": "string", "confidence_scoring_approach": "string", "limitations": ["string, ..."] }, "evidence_chain_of_custody": { "source_ingestion_records": [ { "source_id": "string", "ingestion_timestamp": "ISO 8601", "source_uri": "string", "integrity_hash": "string", "accessed_by": "string" } ], "processing_log": [ { "step": "string", "timestamp": "ISO 8601", "action": "string", "actor": "system | human" } ] }, "verification_records": [ { "claim_id": "string", "claim_text": "string", "verdict": "supported | contradicted | unsupported | not_verifiable", "confidence_score": 0.0-1.0, "evidence_mapping": [ { "source_id": "string", "relevance": "direct | indirect | contextual", "relationship": "supports | contradicts | neutral", "excerpt": "string (exact quote from source)" } ], "verdict_rationale": "string (explain why the evidence leads to this verdict)", "reviewer_notes": "string or null (for human-reviewed claims)" } ], "unsupported_claims_disclosure": [ { "claim_id": "string", "claim_text": "string", "evidence_search_summary": "string", "gap_explanation": "string" } ], "completeness_self_assessment": { "total_claims": "integer", "verified_claims": "integer", "unsupported_claims": "integer", "missing_evidence_types": ["string, ..."], "compliance_gaps": ["string, ..."] } } ## CONSTRAINTS - Every claim in [CLAIMS_AND_VERDICTS] must appear in `verification_records` or `unsupported_claims_disclosure`. - Every evidence source in [EVIDENCE_SOURCES] must appear in `evidence_chain_of_custody.source_ingestion_records`. - All `source_id` references must match exactly between records. - The `integrity_hash` field must be populated from [PIPELINE_METADATA]; do not invent hashes. - If a claim has a verdict of "unsupported," it must also appear in `unsupported_claims_disclosure`. - Do not include claims or evidence not present in the input data. - Use the exact methodology text from [METHODOLOGY_DESCRIPTION] in the methodology statement; do not paraphrase or embellish. - If any required field cannot be populated from the inputs, use `null` and note the gap in `completeness_self_assessment.compliance_gaps`. ## RISK LEVEL [RISK_LEVEL] If RISK_LEVEL is "high," add a `legal_review_required` boolean field to `package_metadata` set to `true` and include a `reviewer_signoff` object with `reviewer_name`, `review_timestamp`, and `signoff_status` fields set to `null`.
To adapt this template, start by mapping your pipeline's internal data structures to the [CLAIMS_AND_VERDICTS], [EVIDENCE_SOURCES], [METHODOLOGY_DESCRIPTION], and [PIPELINE_METADATA] placeholders. The [CLAIMS_AND_VERDICTS] input should be a pre-formatted JSON array of claim objects with their AI-generated verdicts and confidence scores. The [EVIDENCE_SOURCES] input must include the integrity hash generated at ingestion time—this is critical for the chain-of-custody section and cannot be fabricated by the model. The [RISK_LEVEL] placeholder accepts "low," "medium," or "high" and controls whether the output includes a legal review flag. Before deploying, validate that the assembled prompt does not exceed your model's context window, especially when processing large batches of claims. For production use, implement a post-generation validation step that checks JSON schema compliance, source_id consistency, and completeness of the unsupported claims disclosure against the input claim set.
Prompt Variables
Inputs the prompt needs to assemble a self-contained audit-ready evidence package. Validate each before prompt assembly to prevent missing-evidence failures and chain-of-custody gaps.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CLAIM_LIST] | Array of discrete claims to include in the evidence package | [{"id":"C-001","text":"Revenue grew 22% YoY","source_document":"Q4-Report.pdf"}] | Schema check: each object must have id, text, source_document. Empty array is invalid. Max 500 claims per package. |
[EVIDENCE_RECORDS] | Evidence objects with source metadata, content, and retrieval timestamp | [{"evidence_id":"E-042","claim_id":"C-001","source_uri":"s3://docs/Q4-audited.pdf","content_hash":"sha256:abc123","retrieved_at":"2025-03-15T10:00:00Z"}] | Schema check: evidence_id, claim_id, source_uri, content_hash, retrieved_at required. Hash must match stored content. Null content_hash triggers re-retrieval. |
[METHODOLOGY_DOC] | Description of verification methodology, tools, and confidence thresholds used | {"methodology_version":"2.1","tools":["claim-extractor-v3","evidence-matcher-v2"],"confidence_threshold":0.85,"human_review_policy":"all_contradictions"} | Schema check: methodology_version, tools, confidence_threshold required. Threshold must be numeric 0-1. Missing human_review_policy triggers warning. |
[CHAIN_OF_CUSTODY] | Ordered log of who accessed or modified evidence and when | [{"step":1,"actor":"system","action":"retrieved","evidence_id":"E-042","timestamp":"2025-03-15T10:00:00Z"}] | Schema check: step, actor, action, evidence_id, timestamp required. Steps must be sequential integers. Gaps or duplicates fail validation. |
[VERIFICATION_OUTCOMES] | Per-claim verdicts with confidence scores and rationale | [{"claim_id":"C-001","verdict":"supported","confidence":0.92,"rationale":"Audited financial statement confirms 22.1% YoY growth","evidence_ids":["E-042","E-043"]}] | Schema check: claim_id, verdict, confidence, rationale, evidence_ids required. Verdict must be one of supported, contradicted, insufficient_evidence, not_checked. Confidence must be 0-1. |
[PACKAGE_METADATA] | Package-level metadata for indexing and audit reference | {"package_id":"PKG-2025-03-15-001","generated_at":"2025-03-15T14:30:00Z","generated_by":"audit-packager-v1.3","total_claims":42,"total_evidence_items":87} | Schema check: package_id, generated_at, generated_by, total_claims, total_evidence_items required. total_claims must match [CLAIM_LIST] length. Mismatch fails validation. |
[EXPORT_FORMAT] | Target output format specification for the evidence package | {"format":"json","schema_version":"audit-package-schema-3.0","include_raw_evidence":true,"compression":"none"} | Schema check: format, schema_version required. format must be one of json, pdf_bundle, csv_zip. include_raw_evidence defaults to true if absent. |
[SIGN_OFF_BLOCK] | Empty sign-off fields for human reviewer completion before submission | {"reviewer_name":null,"reviewer_role":null,"review_date":null,"approval_status":"pending","reviewer_notes":null} | Schema check: all fields must be present with null or pending values. Non-null values before human review indicate tampering. approval_status must be pending on generation. |
Implementation Harness Notes
How to wire the Audit-Ready Evidence Package Prompt into a production verification pipeline with validation, retries, and human review gates.
The Audit-Ready Evidence Package Prompt is designed to be the final assembly step in a verification pipeline, not a standalone prompt. It expects structured inputs—pre-verified claims, matched evidence records, methodology metadata, and chain-of-custody logs—that upstream prompts or retrieval systems have already produced. Wiring this prompt into an application means building a harness that validates those inputs before the prompt runs, validates the output package after generation, and routes incomplete or low-confidence packages to human review before submission. The harness should treat the prompt as a package assembler, not a fact-checker: it formats, cross-references, and exports, but it does not re-verify claims or re-evaluate evidence.
Start by defining a strict input schema that the harness enforces before calling the model. Required fields include a list of verified claims (each with a unique ID, verdict, confidence score, and evidence references), a methodology record (extraction method, retrieval sources, matching logic, confidence thresholds), and a chain-of-custody log (timestamps, model versions, operator identities for each pipeline step). The harness should reject incomplete inputs with a clear error message rather than letting the model hallucinate missing sections. After the model generates the evidence package, run structural validation first: check that all required sections exist, that claim IDs in the package match the input claim IDs, and that every evidence reference resolves to an input source. Then run content validation: verify that no new claims were introduced, that verdicts were not altered, and that confidence scores match the input values. A checksum or hash of the input claim set stored before generation can detect tampering. For high-assurance audit submissions, implement a dual-generation pattern: run the prompt twice with different model temperatures or across two model providers, compare the structural outputs, and flag discrepancies for human review.
Log every generation attempt with the input hash, model version, output package hash, validation results, and any human review decisions. Store these logs alongside the final package so auditors can trace exactly how the package was produced. If the package fails validation, implement a retry with repair loop: feed the validation errors back into a repair prompt that fixes specific structural issues without regenerating the entire package. Cap retries at three attempts, then escalate to a human operator with the partial package and error log. For export, support both structured JSON (for downstream systems) and a rendered PDF or DOCX format (for human auditors). The prompt's [OUTPUT_SCHEMA] and [EXPORT_FORMAT] placeholders should be populated from configuration, not hardcoded, so the same harness can serve different audit standards. Finally, never run this prompt on unverified claims—the harness should refuse to assemble a package if any input claim has a verification_status of unverified or pending, preventing the illusion of audit-readiness from incomplete work.
Expected Output Contract
Define the exact shape of the audit-ready evidence package. Use this contract to build a post-generation validator that rejects incomplete or malformed packages before submission.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
package_id | string (UUID v4) | Must match UUID v4 regex. Reject if null or malformed. | |
generation_timestamp | string (ISO 8601 UTC) | Must parse as valid ISO 8601 datetime with Z suffix. Reject if in the future. | |
methodology_statement | string (plain text) | Must be non-empty and contain at least one of the required keywords: 'evidence retrieval', 'claim matching', 'confidence scoring'. Reject if missing. | |
claims | array of claim objects | Must be a non-empty array. Reject if empty or not an array. | |
claims[].claim_id | string | Must be unique within the package. Reject on duplicate. | |
claims[].claim_text | string | Must be non-empty. Reject if only whitespace. | |
claims[].verdict | enum: SUPPORTED | CONTRADICTED | UNSUPPORTED | DISPUTED | Must be one of the four allowed values. Reject on any other value. | |
claims[].evidence_chain | array of evidence objects | Must contain at least one evidence object if verdict is SUPPORTED or CONTRADICTED. May be empty for UNSUPPORTED. Reject if null. | |
claims[].evidence_chain[].source_id | string | Must correspond to a source_id present in the top-level sources array. Reject on orphan reference. | |
claims[].evidence_chain[].relevance | string | Must be non-empty. Reject if only whitespace. | |
claims[].confidence_score | number (0.0 to 1.0) | Must be a float between 0.0 and 1.0 inclusive. Reject if out of range or non-numeric. | |
claims[].reviewer_identity | string or null | If present, must be non-empty. Null allowed. Reject if empty string. | |
sources | array of source objects | Must be a non-empty array. Reject if empty or not an array. | |
sources[].source_id | string | Must be unique within the package. Reject on duplicate. | |
sources[].authority_assessment | string | Must be non-empty. Reject if only whitespace. | |
chain_of_custody_log | array of custody event objects | Must be a non-empty array. Reject if empty or not an array. | |
chain_of_custody_log[].timestamp | string (ISO 8601 UTC) | Must parse as valid ISO 8601 datetime with Z suffix. Must be sequential within the log. Reject if out of order. | |
chain_of_custody_log[].action | string | Must be non-empty. Reject if only whitespace. | |
export_format_version | string (semver) | Must match semver pattern (e.g., 1.0.0). Reject if malformed. | |
signoff_block | object | If present, must contain reviewer_name (non-empty string) and signoff_timestamp (ISO 8601 UTC). Reject if partially populated. |
Common Failure Modes
What breaks first when generating audit-ready evidence packages and how to guard against it.
Silent Evidence Gaps
What to watch: The model produces a package that looks complete but omits required evidence sections, chain-of-custody records, or methodology statements without flagging the gaps. Guardrail: Implement a post-generation completeness validator that checks for all mandatory sections and fields before the package is considered ready for review.
Fabricated Source References
What to watch: The model invents plausible-looking document titles, dates, or author names when source metadata is missing from the input context. Guardrail: Require every source reference to match an input record exactly. Use a strict schema that rejects free-text source fields and validates against a provided source manifest.
Confidence Inflation
What to watch: The model assigns high confidence to claims supported by weak, outdated, or single-source evidence, creating a misleading audit trail. Guardrail: Enforce a confidence rubric that requires explicit evidence sufficiency thresholds. Flag any claim with fewer than two corroborating sources or sources older than a defined recency window for human review.
Chain-of-Custody Breakage
What to watch: The evidence package loses traceability because intermediate processing steps, timestamps, or handler identities are missing from the audit trail. Guardrail: Generate a structured custody log entry for every transformation step. Validate that each entry has a timestamp, actor, action, and input-output hash before package export.
Export Format Drift
What to watch: The generated package deviates from the required export schema, producing invalid JSON, missing required fields, or incorrect data types that fail downstream audit tool ingestion. Guardrail: Run a schema validation check against the target export format immediately after generation. Reject and retry any package that fails validation, with a specific error message fed back to the repair prompt.
Methodology Omission
What to watch: The package includes claims and evidence but omits the methodology description explaining how verification was performed, making the package unreviewable by external auditors. Guardrail: Treat the methodology section as a mandatory, non-negotiable component. Use a separate prompt step to generate the methodology from the verification log before assembling the final package.
Evaluation Rubric
Run these checks on a golden dataset of 10-20 known audit packages to validate output quality before shipping. Each criterion targets a specific failure mode observed in evidence package generation.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Package Completeness | All required sections present: claims, evidence, methodology, chain-of-custody, export metadata | Missing section header or empty section body in generated package | Schema validation against required section list; flag any null or empty required field |
Claim-Evidence Linkage | Every claim in the package references at least one evidence item with a valid source identifier | Orphaned claim with no evidence reference or broken source ID that doesn't resolve to a listed source | Parse all claim-to-evidence references; cross-check each reference against the evidence index; count orphan count |
Chain-of-Custody Integrity | Each evidence item includes origin timestamp, retrieval method, and hash or fingerprint field | Missing custody fields, placeholder timestamps, or evidence items with identical fingerprints suggesting duplication | Validate custody field presence per evidence item; check timestamp format; detect duplicate fingerprint values |
Methodology Disclosure | Methodology section describes claim extraction, evidence retrieval, matching logic, and confidence scoring approach | Generic boilerplate with no specific parameters, missing confidence scoring explanation, or copied from unrelated domain | Keyword presence check for required methodology components; semantic similarity check against known generic templates |
Export Format Validity | Package exports as valid JSON matching the specified output schema with no parse errors | JSON parse failure, schema mismatch, or field type violations in exported package | Automated JSON parse test; schema validation against [OUTPUT_SCHEMA]; type-check all required fields |
Uncertainty Communication | Confidence scores are present, calibrated, and accompanied by uncertainty explanation for each claim | Binary true/false without confidence, missing uncertainty notes, or confidence of 1.0 on ambiguous claims | Check confidence field presence and range; flag scores of exactly 0.0 or 1.0 for human review; verify uncertainty text is non-empty |
Source Authority Documentation | Each source includes credibility indicators, domain relevance, and recency assessment | Sources listed without authority metadata, stale recency dates, or missing domain relevance justification | Validate authority field completeness per source; check recency date against package generation timestamp; flag sources older than configurable threshold |
Human Review Readiness | Package includes sign-off fields, reviewer identity placeholder, and escalation flags for low-confidence claims | Missing sign-off section, no reviewer field, or low-confidence claims not flagged for review | Check sign-off section presence; verify reviewer identity field exists; cross-check low-confidence claims against escalation flag list |
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 but relax strict schema enforcement. Use a simpler output structure (plain JSON without nested chain-of-custody fields). Focus on getting the claim-evidence-methodology triad right before adding export formats and completeness checks.
Replace [OUTPUT_SCHEMA] with a flat JSON object containing claims, evidence_summary, and methodology_notes. Skip chain_of_custody and export_format fields initially.
Watch for
- Missing methodology documentation when the model skips the 'how we checked' section
- Evidence entries without source identifiers or retrieval timestamps
- Overly verbose prose that buries the structured fields reviewers need

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