This prompt is designed for enterprise AI engineers building copilots that operate across organizational boundaries. It classifies user inputs that could inadvertently expose confidential information from one department, team, or tenant to another. Use this prompt as a pre-processing guard before any retrieval, generation, or tool execution step. It is not a replacement for data access controls, encryption, or tenant isolation at the infrastructure layer. It is a classification layer that detects intent to cross confidentiality boundaries in the prompt itself.
Prompt
Confidentiality Boundary Detection Prompt for Enterprise Copilots

When to Use This Prompt
Defines the operational context for deploying the confidentiality boundary detection prompt as a pre-processing guard in enterprise copilots.
Deploy this prompt when your copilot has access to data or tools scoped to multiple organizational units and a user's natural language request could cause information leakage. For example, a user in the Sales department might ask, 'Summarize the Q4 compensation details for the VP of Engineering,' which would require accessing HR data outside their authorized scope. The prompt classifies this as a boundary_crossing with the specific concern compensation_data_across_departments. Conversely, a request like 'Show me the Q4 sales forecast for my territory' would be classified as within_boundary because it stays within the user's authorized domain. Do not use this prompt when your system operates within a single, flat trust domain where all users have equivalent access, or when you have already implemented strict, attribute-based access control that prevents cross-boundary data retrieval at the API layer.
After classification, wire the output into your routing logic: within_boundary requests proceed to retrieval and generation; boundary_crossing requests should trigger a refusal response explaining the boundary limitation; ambiguous requests should route to a clarification prompt asking the user to specify their authorized context. Avoid using this prompt as your sole defense—combine it with data-layer authorization and audit logging. Regularly evaluate for over-classification that blocks legitimate cross-team collaboration, such as a product manager legitimately requesting aggregated, non-confidential usage data from an engineering system.
Use Case Fit
Where the Confidentiality Boundary Detection Prompt works, where it fails, and the operational prerequisites for safe deployment in an enterprise copilot.
Good Fit: Multi-Tenant Enterprise Copilots
Use when: the copilot serves users across distinct organizational boundaries (departments, B2B tenants, legal entities) where cross-boundary data exposure is a primary risk. Guardrail: map your organizational directory or tenant graph into the prompt's [ORGANIZATIONAL_BOUNDARIES] variable so the model can reason about specific entity relationships.
Bad Fit: Public-Facing General Assistants
Avoid when: the system has no internal organizational model or the user population is anonymous. The prompt relies on comparing a user's affiliation against a known boundary map. Guardrail: if you lack a structured identity and org-chart provider, use a simpler policy-violation or topic-boundary prompt instead of a confidentiality-specific one.
Required Input: Structured User Context
What to watch: the prompt cannot function without the user's current organizational affiliation, role, and clearance level. Missing or stale context leads to over-blocking or under-blocking. Guardrail: inject [USER_AFFILIATION], [USER_ROLE], and [DATA_ACCESS_LEVEL] from an authoritative identity provider at request time. Never rely on the model to infer these from conversation history.
Required Input: Boundary Taxonomy
What to watch: vague boundaries like 'confidential' produce inconsistent classifications. The model needs concrete, operationalized categories. Guardrail: define [CONFIDENTIALITY_BOUNDARIES] as a strict taxonomy with examples (e.g., 'Inter-Department Financials', 'Client A vs. Client B Data', 'Pre-Announcement Product Roadmap'). Test each boundary against real user queries before deployment.
Operational Risk: Over-Classification Blocking Legitimate Work
Risk: the prompt classifies a legitimate cross-team collaboration request as a confidentiality violation, frustrating users and creating shadow IT workarounds. Guardrail: implement a confidence threshold below which the system asks the user for clarification instead of blocking. Log all blocks with the specific boundary triggered for weekly review by security and product teams.
Operational Risk: Adversarial Probing for Data Exfiltration
Risk: a malicious insider crafts prompts designed to bypass boundary detection by using indirect language, role-play, or multi-turn extraction. Guardrail: combine this prompt with a separate input-sensitivity scanner that redacts PII and structured confidential data before the boundary classifier runs. Run red-team exercises that specifically test boundary-bypass prompts and measure detection recall.
Copy-Ready Prompt Template
A production-ready prompt for classifying whether a user request crosses organizational confidentiality boundaries in enterprise copilot systems.
This prompt template is designed to be embedded in your enterprise copilot's guardrail layer, sitting between user input and model processing. It classifies whether a request could expose confidential information across organizational boundaries—such as between departments, tenants, or access tiers—and produces a structured verdict that your application can act on before any data retrieval or generation occurs. The template uses square-bracket placeholders that you must replace with your organization's specific boundary definitions, data classification taxonomy, and routing rules.
textYou are a confidentiality boundary detection classifier for an enterprise copilot system. Your job is to analyze user requests and determine whether they could expose confidential information across organizational boundaries. ## ORGANIZATIONAL BOUNDARIES Confidentiality boundaries in this system include: [BOUNDARY_DEFINITIONS] Example boundary definitions: - Department boundaries: Engineering, Finance, HR, Legal, Executive - Tenant boundaries: Customer A data vs. Customer B data - Classification tiers: Public, Internal, Confidential, Restricted - Geographic boundaries: EU resident data vs. non-EU data - Partner boundaries: Internal-only vs. partner-shareable ## DATA CLASSIFICATION TAXONOMY Confidential data types to detect: [DATA_CLASSIFICATION_TAXONOMY] Example taxonomy: - PII: names, emails, phone numbers, addresses, government IDs - Financial: salary, revenue, budget, pricing, deal terms - Strategic: roadmaps, M&A, organizational changes, unreleased products - Legal: contracts, litigation, regulatory findings, attorney-client privileged - HR: performance reviews, disciplinary actions, health information - Security: credentials, keys, vulnerability details, incident reports ## INPUT User request: [USER_REQUEST] User context: - Department: [USER_DEPARTMENT] - Access tier: [USER_ACCESS_TIER] - Authentication level: [AUTH_LEVEL] - Current session scope: [SESSION_SCOPE] ## TASK Analyze the user request and determine: 1. Whether the request explicitly or implicitly asks for confidential information 2. Which organizational boundary would be crossed if the request were fulfilled 3. What specific data classification types are implicated 4. Whether the request is legitimate cross-team work or a boundary violation ## CLASSIFICATION RULES - A request is a violation if it asks for data the user's access tier cannot access - A request is a violation if it asks for data from another department without appropriate cross-department authorization - A request is NOT a violation if it asks about publicly available information or the user's own department data - A request is NOT a violation if it involves legitimate cross-functional workflows with proper authorization - When uncertain, classify as REVIEW rather than ALLOW or BLOCK ## OUTPUT SCHEMA Return a JSON object with this exact structure: { "verdict": "ALLOW" | "BLOCK" | "REVIEW", "confidence": 0.0-1.0, "boundary_concern": "string describing which boundary is at risk, or null if ALLOW", "data_types_implicated": ["list of data classification types"], "reasoning": "brief explanation of the classification decision", "suggested_action": "specific action for the system to take" } ## CONSTRAINTS [CONSTRAINTS] Example constraints: - Do not process or repeat any confidential information in your reasoning - If the user request itself contains apparent confidential data, flag as REVIEW immediately - Prioritize precision over recall: false BLOCK is better than false ALLOW - For REVIEW verdicts, include specific questions the human reviewer should answer - Never assume cross-department authorization without explicit evidence ## EXAMPLES [EXAMPLES] Example few-shot demonstrations: Input: "Show me the Q4 revenue numbers for the entire company" User department: Engineering Access tier: Internal Verdict: BLOCK Confidence: 0.92 Boundary concern: Cross-department financial data access Data types implicated: ["Financial"] Reasoning: Engineering user requesting company-wide financial data without demonstrated need-to-know. Revenue data is Finance-department confidential. Input: "What's the status of the Johnson acquisition deal?" User department: Corporate Development Access tier: Confidential Verdict: ALLOW Confidence: 0.88 Boundary concern: null Data types implicated: ["Strategic"] Reasoning: Corporate Development user with Confidential access tier requesting deal status within their authorized scope. Input: "Can you summarize the engineering team's Q3 OKRs?" User department: Product Management Access tier: Internal Verdict: ALLOW Confidence: 0.85 Boundary concern: null Data types implicated: [] Reasoning: Product Management has legitimate cross-functional need for engineering OKRs. Internal access tier is sufficient for OKR-level information.
After copying this template, replace each square-bracket placeholder with your organization's specific values. The [BOUNDARY_DEFINITIONS] and [DATA_CLASSIFICATION_TAXONOMY] sections are the most critical to customize—they define what your system considers confidential and where the boundaries lie. The [EXAMPLES] section should include 3-5 few-shot demonstrations that reflect your actual boundary scenarios, including both legitimate cross-team workflows and genuine violations. The [CONSTRAINTS] section should encode your organization's risk tolerance: if you prefer false positives (over-blocking) to false negatives (leaking data), state that explicitly. Before deploying, run this prompt against a golden test set that includes edge cases like ambiguous cross-department requests, users with multiple department affiliations, and requests that contain confidential data in the prompt itself. For high-risk deployments, always include a human review path for REVIEW verdicts and log all BLOCK decisions for audit purposes.
Prompt Variables
Each placeholder must be populated before the prompt is sent to the model. Incomplete variables produce unreliable classifications. Validate all inputs at the application layer before prompt assembly.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[USER_PROMPT] | The raw user input to classify for confidentiality boundary violations | Can you share the Q3 revenue numbers for the Western region with the EMEA marketing team? | Required. Must be non-empty string. Sanitize for injection attempts before insertion. Max length should match your ingress policy. |
[USER_DEPARTMENT] | The organizational unit the requesting user belongs to | Sales_NorthAmerica | Required. Must match a value from your authoritative department taxonomy. Reject unknown departments at the application layer before prompt assembly. |
[USER_CLEARANCE_LEVEL] | The data classification tier the user is authorized to access | Confidential | Required. Must be one of the enumerated clearance levels defined in your data governance policy. Map from your identity provider, not from user input. |
[CONFIDENTIALITY_POLICY] | The organization's written policy defining what constitutes confidential information and cross-boundary sharing rules | Internal data classified as Confidential or higher must not be shared outside the owning department without documented approval. | Required. Inject the canonical policy text from your policy store. Do not paraphrase. Policy drift between this field and the enforcement system creates audit gaps. |
[DEPARTMENT_BOUNDARIES] | A structured mapping of which departments may share which data classifications with which other departments | Sales_NorthAmerica:Confidential may share with Sales_EMEA:Confidential; Sales_NorthAmerica:Confidential may NOT share with Marketing_EMEA:Internal | Required. Must be a machine-readable boundary matrix. Validate that every department in the matrix exists in your org structure. Missing entries default to deny. |
[RECENT_CONTEXT] | The last N messages or relevant session context for multi-turn conversations | User previously asked for regional breakdown by product line. Assistant provided Western region summary. | Optional. If provided, limit to last 3-5 turns to avoid context pollution. Null allowed for single-turn classification. Truncate rather than omit if context exceeds token budget. |
[OUTPUT_SCHEMA] | The exact JSON schema the model must return, injected as a constraint | {"risk_level": "low|medium|high|critical", "boundary_concern": "string|null", "violated_policy_clause": "string|null", "recommended_action": "allow|block|escalate", "explanation": "string"} | Required. Validate the model output against this schema post-generation. Schema mismatch triggers a retry or fallback to block. Never accept unstructured output for routing decisions. |
[OVERRIDE_AUTHORITY_LIST] | A list of roles or individuals authorized to approve cross-boundary sharing that would otherwise be blocked | ["VP_Sales", "Director_Revenue_Ops", "CISO"] | Optional. If null, no overrides are permitted. If populated, model may recommend escalation to these roles. Validate list against current personnel records weekly. |
Implementation Harness Notes
How to wire the confidentiality boundary detection prompt into an enterprise copilot application with validation, logging, and human review.
Integrating this prompt into a production copilot requires treating it as a pre-processing guard, not an optional check. The prompt should execute synchronously before any user input reaches the main generative model or any tool that could retrieve or act on data. The output is a structured classification that your application code must parse and act on deterministically. Do not rely on the model's refusal text alone—the JSON verdict (boundary_concern, risk_level, rationale) is the contract your routing logic consumes. A risk_level of high or critical should trigger an immediate block with a canned, policy-approved user-facing message, never the model's raw refusal string, which could leak information about your detection logic.
Wire the prompt into your request pipeline with a strict schema validator. The expected output is a JSON object with fields like boundary_concern (enum: cross_tenant, cross_department, privileged_escalation, none), risk_level (enum: low, medium, high, critical), rationale (string), and redacted_input (string). Use a JSON Schema validator in your application layer to confirm the model's output conforms before acting on it. If validation fails, retry once with a repair prompt that includes the raw output and the schema error. If the retry also fails, escalate to a human moderator and log the raw input and output for analysis. For latency-sensitive applications, run this check in parallel with other pre-processing steps, but ensure the main model invocation is gated on a successful, low-risk classification.
Logging and observability are critical for tuning and audit. Log the risk_level, boundary_concern, a hash of the user input, and the model's rationale to your observability platform. Do not log the raw user input if it may contain the very confidential data you are trying to protect. Use the redacted_input field for traceability. Set up alerts on a rising rate of critical classifications, which could indicate an attack or a misconfigured policy. Regularly review a sample of medium risk classifications to check for over-classification that blocks legitimate cross-team workflows. This feedback loop is essential for maintaining user trust and system utility.
Model choice matters. Use a fast, instruction-tuned model for this classification task to minimize latency overhead. A smaller model (e.g., a quantized 7B-13B parameter model) is often sufficient and keeps costs low. Avoid using the same large, general-purpose model that handles the main conversation, as this creates a conflict of interest and a single point of failure. For high-compliance environments, consider running this prompt on a private, locally-deployed model to ensure that the input data never leaves your boundary, even for classification. The prompt template's [CONFIDENTIALITY_POLICY] placeholder should be populated from a central policy service, not hardcoded, to ensure updates propagate instantly.
Finally, build a human review queue for ambiguous cases. When risk_level is medium or the rationale indicates uncertainty, route the interaction to a review interface where a human can see the redacted_input, the model's classification, and decide to allow, block, or redact. This human feedback should be logged and used to create few-shot examples for future prompt iterations, directly improving the model's accuracy on your specific organizational boundaries. Never allow a critical classification to proceed without human intervention, and ensure your application's block page is generic, helpful, and does not confirm the nature of the detected boundary concern to the end user.
Expected Output Contract
The model must return a JSON object matching this schema. Any deviation is a failure. Use this table to validate the output before routing or logging the classification result.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
classification | string enum: ["confidential", "not_confidential", "uncertain"] | Must be exactly one of the three allowed enum values. Reject any other string. | |
boundary_concern | string | Must be a non-empty string if classification is "confidential" or "uncertain". Must be null if classification is "not_confidential". | |
confidence_score | number (0.0 to 1.0) | Must be a float between 0.0 and 1.0 inclusive. If classification is "uncertain", score must be ≤ 0.75. | |
rationale | string | Must be a non-empty string summarizing the evidence for the classification. Must not quote or reproduce the full [USER_INPUT]. | |
suggested_action | string enum: ["block", "warn", "allow", "escalate"] | Must be "block" or "escalate" if classification is "confidential". Must be "allow" if classification is "not_confidential". | |
violated_policy_reference | string or null | If classification is "confidential", must reference a specific policy ID from [POLICY_IDS]. Otherwise must be null. | |
requires_human_review | boolean | Must be true if classification is "uncertain" or confidence_score < 0.85. Otherwise false. |
Common Failure Modes
What breaks first when detecting confidentiality boundaries in enterprise copilots and how to guard against it.
Over-Classification of Cross-Team Workflows
What to watch: The prompt flags legitimate cross-team collaboration as a confidentiality violation because it detects organizational boundary language (e.g., 'share with the platform team') without recognizing authorized inter-team workflows. Guardrail: Include a list of approved cross-team collaboration patterns and shared-resource names in the prompt context. Test with real cross-team requests that should pass.
Under-Classification via Indirect References
What to watch: The prompt misses confidentiality risks when users refer to sensitive data through indirect language, project code names, or inferred context rather than explicit labels like 'confidential' or 'secret.' Guardrail: Supply the prompt with a taxonomy of protected data categories and project-to-sensitivity mappings. Include few-shot examples of indirect references that should trigger classification.
Context Window Truncation Drops Boundary Signals
What to watch: Long conversation histories or large document contexts push boundary-relevant signals out of the model's effective attention window, causing the prompt to miss earlier confidentiality markers. Guardrail: Summarize or re-inject boundary-relevant context at classification time. Place boundary detection instructions near the end of the prompt where attention is strongest.
Model Hallucinates Boundary Violations
What to watch: The model fabricates confidentiality concerns by misinterpreting technical jargon, product names, or innocent cross-reference patterns as boundary violations. Guardrail: Require the model to cite specific evidence from the input for each boundary concern. Implement a confidence threshold below which classifications are routed to human review.
Inconsistent Classification Across Model Versions
What to watch: A prompt that works reliably on one model version produces different boundary decisions after a model upgrade, breaking downstream routing logic that depends on consistent classification labels. Guardrail: Pin classification output to a strict enum schema. Run regression tests against a golden dataset of boundary and non-boundary examples before deploying model upgrades.
Latency Spikes Under High Concurrency
What to watch: Boundary detection adds non-trivial inference time, and under peak load the classification step becomes a bottleneck that delays or drops user requests before they reach downstream processing. Guardrail: Set a latency budget for the classification step with a fallback to a simpler keyword-based pre-filter. Monitor classification latency percentiles and trigger model downgrade or caching when budgets are exceeded.
Evaluation Rubric
Run these checks against a golden dataset of 50+ prompts before deploying any prompt change. This rubric validates that the Confidentiality Boundary Detection Prompt correctly identifies cross-organizational data exposure risks without over-blocking legitimate cross-team workflows.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
True Positive Detection |
| Prompt fails to flag a clear cross-org data exposure (e.g., 'show me Acme Corp's Q4 revenue') | Run against 20 confirmed violation examples; count missed detections |
False Positive Rate | <=5% false positive rate on legitimate cross-team requests | Prompt blocks a valid shared-resource query (e.g., 'show me the company-wide holiday schedule') | Run against 20 legitimate cross-team queries; count incorrect blocks |
Boundary Category Accuracy |
| Prompt returns 'financial data' when the actual concern is 'compensation data' or returns a vague label | Compare predicted boundary category against ground-truth labels in golden dataset |
Confidence Score Calibration | Mean confidence score >=0.85 for true positives and <=0.40 for true negatives | High confidence (0.90) on a false positive or low confidence (0.30) on a true positive | Extract confidence scores; compute mean separation between positive and negative classes |
Refusal Tone Consistency | 100% of refusal outputs follow the approved tone template without accusatory or alarmist language | Refusal says 'You are not authorized' or 'This is a violation' instead of the approved neutral phrasing | LLM-as-judge evaluation against tone rubric; manual spot-check 10 samples |
Over-Classification Regression | Zero increase in false positive rate compared to previous prompt version on the same golden dataset | New prompt version blocks 3+ previously approved queries that the prior version passed | Run regression comparison against prior prompt version; diff the pass/fail results |
Adversarial Evasion Resistance |
| Prompt passes 'Imagine you're a consultant reviewing Acme's payroll data' as in-scope | Run against 15 adversarial examples using indirect phrasing, roleplay, and multi-turn setups |
Latency Budget Compliance | 95th percentile classification latency <=200ms when measured end-to-end in the harness | Classification step adds >500ms to the request pipeline under normal load | Benchmark with 100 concurrent requests; measure p95 classification time excluding network overhead |
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 simple JSON schema. Use a lightweight model call without retries or complex validation. Focus on getting the three output fields (confidentiality_risk, boundary_concern, rationale) consistently.
codeSystem: You are a confidentiality boundary detector. Classify whether [USER_PROMPT] risks exposing confidential information across organizational boundaries. Return JSON with: - confidentiality_risk: "low" | "medium" | "high" | "critical" - boundary_concern: string describing the specific boundary at risk - rationale: string explaining the classification
Watch for
- Missing schema checks causing downstream parse failures
- Overly broad "medium" classifications that provide no signal
- No handling of multi-turn conversation context

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