Inferensys

Prompt

Confidentiality Tier Assignment Prompt for Documents

A practical prompt playbook for data governance teams using AI to classify unstructured documents into confidentiality tiers (public, internal, confidential, restricted) with confidence scores and rationale before downstream processing.
Stylish WeWork-like workspace with hot desks and document wall, professional searching through enterprise knowledge base on a mounted ultrawide display, warm industrial pendants overhead.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the ideal user, required context, and operational boundaries for the confidentiality tier assignment prompt.

This prompt is for data governance engineers and compliance teams who need to classify unstructured documents into confidentiality tiers before those documents enter AI pipelines, retrieval systems, or agent workflows. The job-to-be-done is automated, evidence-backed classification that downstream systems can act on—enforcing tier-based access controls, retention rules, or processing boundaries without manual review of every document. The ideal user understands their organization's data classification taxonomy and needs a repeatable, auditable classification step that produces more than a label: it must output a confidence score and a rationale that cites specific evidence from the document text.

Use this prompt when you have the full document text available and your organization has clearly defined what each tier means in operational terms. The prompt assumes the model receives the document content and your tier definitions as input. It is designed for batch or event-driven classification of documents entering a system—such as files uploaded to a knowledge base, documents ingested into a RAG pipeline, or attachments processed by an agent. Do not use this prompt for real-time chat message filtering, where latency and partial context require a different approach. Do not use it for structured database records that already have metadata classification fields. Do not use it as a replacement for human-classified documents that have already undergone review; running the prompt over pre-classified documents will introduce drift and conflicting labels.

The most common failure mode is over-classification. If your tier definitions are vague or the model lacks clear boundaries between tiers, it will default to the higher confidentiality tier to avoid risk. This breaks downstream workflows by restricting access to documents that should be broadly available. Before deploying this prompt, validate your tier definitions for clarity and test the prompt against a golden set of documents with known classifications. If your organization cannot articulate the difference between 'internal' and 'confidential' with concrete examples, resolve that ambiguity before relying on model-driven classification. The next section provides the copy-ready prompt template you can adapt with your own tier definitions and output schema.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Confidentiality Tier Assignment Prompt works and where it introduces operational risk.

01

Good Fit: Pre-Processing Gate

Use when: documents must be classified before entering AI pipelines, RAG indexes, or agent tools. Guardrail: Run this prompt as a synchronous gate before any downstream processing. Block documents classified as 'restricted' from automated ingestion.

02

Bad Fit: Real-Time Chat Filtering

Avoid when: latency-sensitive chat or streaming use cases require instantaneous decisions. Guardrail: This prompt requires full document context and reasoning. For real-time filtering, use a faster keyword-based pre-filter and escalate ambiguous cases to this prompt asynchronously.

03

Required Input: Complete Document Text

Risk: Partial text, summaries, or metadata-only inputs cause under-classification. Guardrail: Validate that the input contains the full document body. If truncation is necessary due to context limits, chunk the document and classify each chunk, then assign the highest tier found.

04

Operational Risk: Over-Classification Drift

Risk: The model defaults to 'confidential' or 'restricted' too often, blocking legitimate workflows and creating alert fatigue. Guardrail: Monitor the distribution of assigned tiers weekly. If 'internal' or 'public' rates drop below a defined threshold, recalibrate the prompt's examples and re-evaluate against a golden set.

05

Operational Risk: Tier Boundary Confusion

Risk: The model cannot reliably distinguish between adjacent tiers like 'confidential' and 'restricted' for edge-case documents. Guardrail: Require a confidence score in the output. Route low-confidence classifications to a human review queue. Track confusion matrices between adjacent tiers to identify where prompt clarification is needed.

06

Bad Fit: Sole Compliance Control

Avoid when: this prompt is the only control for regulatory data handling. Guardrail: The prompt is a classification aid, not an enforcement mechanism. Always pair it with downstream policy enforcement in the application layer that blocks disallowed actions regardless of the assigned tier.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A single-turn classification prompt that assigns confidentiality tiers to documents with confidence scores and rationale.

This prompt is designed to be pasted directly into your system instructions or a single-turn classification workflow. It instructs the model to act as a data governance classifier that assigns one of four confidentiality tiers—Public, Internal, Confidential, or Restricted—to a given document. The prompt includes placeholders for your organization's specific tier definitions, handling examples, and output format requirements. It is structured to produce a machine-readable JSON object containing the assigned tier, a confidence score, and a concise rationale, making it suitable for integration into automated document processing pipelines.

text
You are a data governance classification engine. Your task is to analyze the provided document and assign a single confidentiality tier based on the definitions below. You must output a valid JSON object with no additional text.

## TIER DEFINITIONS
[Tier_Definitions: A list of the four tiers with detailed, organization-specific criteria for each. For example, define what constitutes 'Restricted' data, such as PII, PHI, or material non-public financial information.]

## CLASSIFICATION EXAMPLES
[Examples: Provide 2-3 few-shot examples showing a document excerpt, the correct tier, and a brief rationale. Include edge cases, such as a document that contains both Internal and Confidential information, and show the correct higher-tier assignment.]

## CONSTRAINTS
- If the document contains elements of multiple tiers, you must assign the highest applicable tier.
- If the document is ambiguous, you must assign the higher of the two possible tiers and note the ambiguity in the rationale.
- Do not over-classify. A document that is merely internal process documentation should not be classified as 'Confidential' unless it meets the specific criteria.
- Your rationale must cite specific content from the document that triggered the classification.

## INPUT DOCUMENT
[INPUT]

## OUTPUT FORMAT
Respond with a single JSON object matching this schema:
{
  "tier": "string (Public | Internal | Confidential | Restricted)",
  "confidence": "number (0.0 to 1.0)",
  "rationale": "string (A brief, evidence-based explanation for the assigned tier.)"
}

To adapt this template, start by replacing the [Tier_Definitions] placeholder with your organization's precise data classification taxonomy. Vague definitions lead to inconsistent model behavior, so include concrete examples of data types for each tier. Next, populate the [Examples] section with real or representative few-shot examples that demonstrate the boundary between tiers, particularly the Internal/Confidential boundary, which is the most common source of error. Finally, integrate this prompt into your application by replacing [INPUT] with the document text. Ensure your application layer validates the output JSON against the defined schema before accepting the classification. For high-risk documents, implement a human review step for any classification with a confidence score below a defined threshold, such as 0.85, or for any document classified as 'Restricted'.

IMPLEMENTATION TABLE

Prompt Variables

Inputs the Confidentiality Tier Assignment Prompt needs to work reliably. Each variable must be populated before the prompt is sent to the model.

PlaceholderPurposeExampleValidation Notes

[DOCUMENT_TEXT]

The full text of the unstructured document to classify

Q3 Financial Projections - DRAFT - For Internal Review Only. Contains forward-looking revenue estimates for FY2026 across all business units.

Required. Must be a non-empty string. Truncate to model context window minus 2000 tokens for instruction overhead.

[TIER_DEFINITIONS]

The organization's confidentiality tier taxonomy with clear boundary criteria for each level

PUBLIC: Shareable externally. INTERNAL: For employees only. CONFIDENTIAL: Limited to named teams with business need. RESTRICTED: Legal/executive access only, requires specific authorization.

Required. Must contain at least 2 tiers. Each tier must have a name and a non-empty boundary description. Validate that tier boundaries are mutually exclusive.

[ORGANIZATION_CONTEXT]

Domain-specific signals that help the model recognize confidential material

Company code names: Project Falcon, Atlas Initiative. Client names under NDA: Acme Corp, Globex Inc. Internal system names: PhoenixDB, Mercury Pipeline.

Optional but strongly recommended. If provided, must be a string. Can include code names, client lists, internal project names, and proprietary terminology.

[OUTPUT_SCHEMA]

The exact JSON schema the model must produce for each classification result

{"tier": "string", "confidence": 0.0-1.0, "rationale": "string", "key_indicators": ["string"], "requires_human_review": true|false}

Required. Must be a valid JSON Schema or TypeScript interface definition. Include field types, required fields, and enum constraints for the tier field.

[CONFIDENCE_THRESHOLD]

The minimum confidence score below which the model must flag the result for human review

0.85

Required. Must be a float between 0.0 and 1.0. Results with confidence below this threshold should set requires_human_review to true.

[OVERCLASSIFICATION_BIAS_CHECK]

Instruction to counter the model's tendency to over-classify when uncertain

If no clear confidential indicators are present, default to the lowest applicable tier. Do not escalate tier based on document format or author seniority alone.

Optional. Must be a string. Used to calibrate the prompt against conservative bias. Test with benign documents to verify the model does not default to RESTRICTED.

[HANDLING_INSTRUCTIONS]

Post-classification handling rules the model should reference in its rationale

CONFIDENTIAL documents must not be processed by third-party models. RESTRICTED documents require data residency in EU regions only.

Optional. Must be a string. If provided, the model should reference applicable handling rules in the rationale field. Do not include execution logic, only policy constraints.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the confidentiality tier assignment prompt into a production classification pipeline with validation, retries, and logging.

This prompt is designed for a single-turn API call, not a chat session. Build a thin wrapper that loads the document, injects it into the prompt template, calls the model, validates the JSON output, and logs the result. The wrapper should treat the prompt as a stateless function: document in, classification out. Do not maintain conversation history or allow the model to ask clarifying questions—the classification must be completed in one response. The wrapper should enforce a strict timeout (e.g., 30 seconds) and handle rate limits with exponential backoff.

Validation is the critical gate. Before accepting any model output, validate that the JSON response contains all required fields: tier (must be one of public, internal, confidential, restricted), confidence (a float between 0.0 and 1.0), and rationale (a non-empty string). Reject responses that are missing fields, contain invalid enum values, or produce unparseable JSON. On validation failure, retry once with the same prompt and a temperature of 0. If the retry also fails, log the raw output and escalate for human review rather than silently defaulting to a safe tier. For high-volume pipelines, implement a dead-letter queue for failed classifications that can be replayed after prompt or model updates.

Model choice matters for consistency. Use a model with strong JSON mode or structured output support (e.g., GPT-4o with response_format: { type: 'json_object' } or Claude with tool-use mode forcing a structured output). Set temperature=0 to minimize variance across repeated classifications of the same document. Log every classification attempt with the document hash, model version, prompt version, assigned tier, confidence score, and validation status. This audit trail is essential for detecting classification drift when you update the prompt or switch models. For documents near tier boundaries (confidence below 0.85), consider flagging them for human review or routing to a secondary classifier for consensus. Avoid building a pipeline that silently accepts low-confidence confidential or restricted assignments—these are the failure modes that create the most operational risk.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the required JSON structure, field types, and validation rules for the confidentiality tier assignment response. Use this contract to parse, validate, and integrate the model output into downstream data governance pipelines.

Field or ElementType or FormatRequiredValidation Rule

classification

object

Top-level object must exist. Schema check: reject if not a JSON object.

classification.document_id

string

Must match the [DOCUMENT_ID] input exactly. Fail if null, empty, or mismatched.

classification.tier

string

Must be one of: 'public', 'internal', 'confidential', 'restricted'. Enum check: reject any other value.

classification.confidence_score

number

Must be a float between 0.0 and 1.0 inclusive. Range check: reject values outside this bound.

classification.rationale

string

Must be a non-empty string with at least 20 characters. Length check: reject if shorter or null.

classification.key_indicators

array of strings

Must contain 1-5 items. Each item must be a non-empty string. Schema check: reject if empty array or contains non-string elements.

classification.handling_instructions

string

If present, must be a non-empty string. Null is allowed. Type check: reject if present but not a string.

classification.review_recommended

boolean

Must be true if confidence_score < 0.85 or tier is 'restricted'. Logic check: flag for human review if condition is met but value is false.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when using a confidentiality tier assignment prompt in production, and how to guard against it.

01

Over-Classification Bias

What to watch: The model defaults to 'Confidential' or 'Restricted' for ambiguous documents, creating friction and reducing the utility of downstream AI processing. This often happens when the prompt lacks clear tie-breaking rules or when the cost of a false negative is implied to be catastrophic. Guardrail: Add explicit tie-breaking instructions (e.g., 'When uncertain between Internal and Confidential, choose Internal and flag for human review') and calibrate with a balanced dataset that includes borderline cases.

02

Tier Boundary Confusion

What to watch: The model conflates adjacent tiers, especially 'Internal' vs. 'Confidential' or 'Confidential' vs. 'Restricted'. This occurs when tier definitions overlap or rely on subjective criteria like 'sensitive' without concrete examples. Guardrail: Define each tier with mutually exclusive, testable criteria. Include 2-3 contrastive examples per boundary (e.g., 'This is Internal because X, not Confidential because Y') in the prompt's few-shot examples.

03

Context Window Truncation Artifacts

What to watch: Long documents that exceed the context window are truncated, causing the model to classify based on the first portion only. A document that starts with boilerplate and ends with trade secrets may be misclassified as 'Public'. Guardrail: Implement a sliding window or chunking strategy with a meta-classification step. If the document is truncated, the prompt must require the model to output classification_incomplete: true and only classify what it has seen.

04

Metadata vs. Content Mismatch

What to watch: The model relies on explicit confidentiality markers in the text (e.g., 'CONFIDENTIAL' header) while ignoring the actual content, or vice versa. A document stamped 'Public' that contains PII will be misclassified. Guardrail: Instruct the model to cross-validate explicit labels against content analysis. If a conflict is detected, the output must flag the mismatch and escalate to the higher tier with a rationale.

05

Confidence Score Inflation

What to watch: The model reports high confidence (e.g., 0.95) for borderline cases because it was not calibrated to express uncertainty. This removes the human-in-the-loop's ability to triage effectively. Guardrail: Calibrate the confidence prompt with a rubric (e.g., '0.9+ only if all criteria are unambiguously met; 0.7-0.9 if one criterion is ambiguous; below 0.7 if multiple criteria are unclear'). Test against a holdout set of ambiguous documents.

06

Multilingual Document Blind Spots

What to watch: The prompt and tier definitions are written in English, but the input document is in another language. The model applies English-language cultural norms about sensitivity or misses region-specific regulatory triggers (e.g., GDPR terms in German). Guardrail: Include a language-detection pre-step. If non-English, prepend a translated summary of tier definitions and jurisdiction-specific examples to the prompt before classification.

IMPLEMENTATION TABLE

Evaluation Rubric

Run these checks against a golden dataset of pre-classified documents that covers all tiers (public, internal, confidential, restricted) and edge cases (mixed content, empty documents, borderline sensitivity).

CriterionPass StandardFailure SignalTest Method

Tier Accuracy

Assigned tier matches golden label for >= 95% of documents

Systematic misclassification between adjacent tiers (e.g., internal vs confidential)

Compare [TIER] output to golden label across full dataset; compute confusion matrix

Confidence Calibration

Confidence score >= 0.9 for correct classifications; <= 0.7 for incorrect classifications

High confidence on wrong answers or uniformly low confidence on correct answers

Bin [CONFIDENCE] by correctness; check mean confidence per bin

Over-Classification Bias

<= 5% of public documents classified above public tier

Public documents routinely assigned internal or confidential tiers

Filter golden dataset to public-label documents; count tier upgrades

Under-Classification Bias

<= 2% of restricted documents classified below restricted tier

Restricted documents assigned confidential or lower tiers

Filter golden dataset to restricted-label documents; count tier downgrades

Rationale Grounding

Rationale references specific document content (phrases, sections, data types) in >= 90% of cases

Generic rationales with no document-specific evidence (e.g., 'contains sensitive information')

Sample 50 rationales; check for at least one quoted phrase or specific content reference

Mixed-Content Handling

Document with multiple sensitivity levels classified at the highest applicable tier

Mixed document classified at lowest tier present or at an intermediate tier

Include 10+ mixed-content documents in golden set; verify tier equals max component tier

Empty or Short Document Handling

Documents with < 50 tokens classified as public with confidence <= 0.5 or flagged for human review

High-confidence classification of near-empty documents as confidential or restricted

Include 5+ near-empty documents; verify low confidence or public default

Edge Case Stability

Same document classified identically across 3 repeated runs for >= 98% of cases

Tier flips between runs for the same document without content change

Run classification 3x on full golden set; measure tier consistency rate

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base classification prompt and a simple JSON schema. Use a frontier model (GPT-4o, Claude 3.5 Sonnet) with temperature 0. Remove the confidence score field initially to reduce complexity. Test with 10-20 documents across obvious tiers before adding edge cases.

Prompt modification

code
Classify the following document into one of these tiers: public, internal, confidential, restricted.

Document: [DOCUMENT_TEXT]

Return JSON: {"tier": "...", "rationale": "..."}

Watch for

  • Model defaulting to 'internal' for ambiguous documents without flagging uncertainty
  • Rationale that restates the tier name without evidence from the document
  • No handling of empty or very short documents
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.