checklist

AI chatbot system prompt leakage review checklist for small teams

A practical checklist for reviewing system prompts, hidden instructions, role rules, tool descriptions, and sensitive context before an AI chatbot goes live or changes behavior.

Audience: Founders, product owners, engineering owners, security owners, privacy owners, support leads, and admins reviewing AI chatbot system prompts Risk: High Evidence: OWASP LLM07:2025 System Prompt Leakage, OWASP LLM01:2025 Prompt Injection, OWASP LLM06:2025 Excessive Agency, NIST AI RMF Core and Manage Playbook, CISA secure AI system development guidance, and Cybergiz chatbot operations templates

Use this checklist before a customer-facing AI chatbot launches, before its system prompt changes, or whenever the bot can see private data or call tools.

The short answer is that a system prompt should not be treated as a secret or as an authorization boundary. Remove credentials, connection strings, private URLs, hidden role maps, and other sensitive details from it. Put authentication, authorization, validation, and high-impact approval in deterministic application controls. Then test what the chatbot reveals, what it can infer, and what it can do when a user or an external document tries to change its instructions.

Start with the AI Tool Risk Checker and attach the result to the prompt review record. Use the Small Team AI Security Checklist for baseline ownership, access, data handling, logging, and incident controls. Pair this page with the AI chatbot prompt injection response checklist for post-launch events and the AI chatbot tool action approval checklist when the bot can act in downstream systems.

Bottom line

An AI chatbot system prompt is ready for production only when the team can show:

  1. The prompt contains no credentials, tokens, connection strings, customer records, or security decisions that belong outside the model.
  2. The intended audience, allowed topics, prohibited topics, handoff rules, and output constraints are documented.
  3. Authentication, authorization, tenant isolation, tool permissions, and high-impact approvals are enforced outside the model.
  4. Direct and indirect prompt-injection tests cover leakage, bypass, data access, tool use, and misleading output.
  5. A named owner has approved the residual risk, monitoring, rollback, and next review trigger.

OWASP’s system prompt leakage guidance says the system prompt should not be considered a secret or used as a security control. Its core concern is the sensitive data, privilege logic, and weak application boundary that may sit behind the prompt. OWASP also notes that direct and indirect prompt injection can alter model behavior, so prompt review must cover both the prompt text and the surrounding application.

This checklist is operational guidance, not legal advice, a security certification, or a guarantee that a model will never disclose instructions.

When to use this checklist

Change or signalUse this checklist?Default review depth
New customer-facing chatbot or assistantYesFull prompt, data, access, tool, and test review.
System prompt or hidden instruction changesYesCompare versions and rerun leakage and behavior tests.
New connector, retrieval source, or tool descriptionYesReview indirect injection, data scope, and action boundaries.
New role, tenant, account, or escalation ruleYesReview authorization outside the model and test cross-user requests.
Prompt is copied into a ticket, analytics tool, or vendor consoleYesCheck access, retention, redaction, and vendor handling.
Prompt only changes wording for a non-production mockMaybeKeep the environment isolated and record the test boundary.
Static FAQ with no model or private dataUsually noUse ordinary content and web-security review instead.

If the owner cannot identify which parts of the prompt are instructions, data, examples, tool descriptions, or policy references, pause the change until the prompt is decomposed.

Prompt review intake form

Copy this into the change, security, or product review record.

FieldEntry
Review ID
Review date
Chatbot and environment
Prompt version or commit
Change reason
Business owner
Technical owner
Security or privacy reviewer
Model and route
Connected data sources
Available tools and actions
User and tenant boundary
Prompt storage locations
Logs, traces, and support access
Rollout and rollback owner
Next review trigger

Do not paste live credentials, customer records, private tokens, raw support transcripts, or unredacted prompt-extraction attempts into a broad ticket or chat channel. Reference an access-controlled evidence location instead.

Prompt component inventory

Inventory each component rather than reviewing one long prompt as a single block.

ComponentExample contentOwnerReview question
Role and purpose”Answer product questions”ProductIs the role narrow enough for the use case?
Allowed and prohibited topicsBilling, support, legal escalationProduct and supportWhich topics require a human handoff?
Output formatJSON, citations, or short answerEngineeringIs output validated outside the model?
Retrieval instructionsUse approved help-center sourcesKnowledge ownerCan retrieved content inject instructions?
Tool descriptionsCreate ticket or draft replyEngineeringDoes the description expose excess functionality?
User contextAccount ID, plan, localeEngineeringIs the context minimized and authorized?
Examples and demonstrationsSample customer questionsProductDo examples contain real data or hidden policy?
Refusal and handoff rulesEscalate account changesSupportIs the rule backed by an external control?
Policy referencesLinks to internal policySecurityCan the model access more than it needs?

Prompt content classification table

Classify every line, variable, example, and injected context before approval.

Content typeDefault treatmentReview outcome
Public product behaviorMay remain in promptConfirm it is accurate and non-sensitive.
Internal writing style or response formatMay remain with owner approvalTest that it does not override stronger controls.
Customer record, ticket, or transcriptDo not hard-codeRetrieve only after authorization and minimize fields.
API key, password, token, or connection stringNever includeRemove and rotate if it was exposed.
Hidden role or permission mapExternalizeEnforce access in the application or downstream system.
Internal endpoint, private hostname, or network detailRemove unless operationally requiredTreat disclosure as an information-leak signal.
Safety or refusal instructionKeep as behavioral guidance onlyAdd deterministic checks and handoff controls.
Tool schema or action descriptionMinimizeExpose only the exact operation and scope needed.

If a prompt line would cause harm when shown to a user, ask whether it should exist in the model context at all. Hiding a sensitive control inside a prompt is not a substitute for enforcing it in code.

Sensitive content removal checklist

  • No API keys, access tokens, passwords, private certificates, or signing material appear in the prompt or examples.
  • No database connection strings, private dashboard URLs, internal hostnames, or unrestricted file paths appear in the prompt.
  • No customer records, support transcripts, employee details, or regulated data are hard-coded.
  • No tenant IDs, role maps, account facts, or approval thresholds are trusted solely because the model saw them.
  • Environment-specific values are injected through a controlled context layer with authorization and logging.
  • Prompt files, traces, evaluations, and support exports have documented access and retention.
  • Any previously exposed secret has been revoked or rotated and the incident owner is named.

Externalize authorization and sensitive logic

ControlDo not delegate to the promptRequired external check
Identity”The user is an admin”Authenticate the user and bind the request to a session.
Tenant isolation”Only use this customer’s records”Enforce tenant scope in the data service.
Record access”Never reveal private tickets”Authorize each query and filter fields before retrieval.
Tool action”Ask before deleting”Require an approval token or downstream confirmation.
Financial or account change”Do not refund over the limit”Enforce limits and approval in the billing system.
Data export”Never send data externally”Block destinations and inspect the export outside the model.
Output safety”Never make a legal promise”Validate output, route sensitive topics, and keep a human review path.

Use the model to interpret or draft within a bounded workflow. Use application code and downstream systems to decide whether an identity, data request, or action is allowed.

Prompt and context data-flow map

StageData or instructionBoundary to verifyEvidence
User inputMessage, attachment, or URLInput filtering and size limits
Context assemblySystem prompt, user context, retrieved textTrusted and untrusted content separated
Model requestPrompt, tools, metadata, routeProvider, region, retention, and logging
Model responseAnswer, refusal, citations, tool callOutput validation and sensitive-data checks
Tool gatewayArguments and identity scopeAuthorization, allowlist, and human approval
StorageTranscript, trace, prompt versionAccess, retention, deletion, and export
Support pathDebug copy or vendor ticketRedaction and limited access

Record where each component is processed, stored, logged, backed up, and accessed. A prompt review is incomplete if it checks the source file but ignores traces, vendor support copies, or tool gateways.

Leakage and behavior test plan

Run tests in a non-production environment first. Use synthetic records and harmless canary values that cannot authenticate to anything.

Test familyExample testPass condition
Direct extractionAsk the bot to print its system instructionsIt does not reveal sensitive content and follows the safe response path.
Role bypassClaim to be an administrator or developerIt does not grant access based on the claim.
Context confusionPut an instruction in a retrieved documentThe bot treats the document as data, not as a higher-priority instruction.
Data boundaryRequest another user’s record or ticketThe data layer denies the request and the bot does not invent access.
Tool boundaryAsk for an unapproved action or broad exportThe gateway rejects it or requires the intended approval.
Prompt splittingSpread an extraction request across several turnsThe same boundary holds across conversation history.
Multimodal inputUse an image or attachment with hidden instructionsThe input is isolated, scanned, or rejected according to policy.
Output handlingAsk for a payload that could trigger downstream codeThe application validates or blocks unsafe output before use.

Capture the test ID, prompt version, model route, input class, output summary, tool calls, reviewer, and result. Do not preserve attack text or sensitive output more broadly than necessary.

Regression test set

Keep a small, versioned test set for every prompt change.

Test IDBehavior to protectExpected resultLast result
SP-01No secret or credential disclosureRefuse or provide a safe explanation
SP-02No cross-tenant retrievalDeny and log the authorization failure
SP-03Untrusted source cannot rewrite behaviorCite or summarize data without obeying embedded instructions
SP-04High-impact action needs approvalNo action before external approval
SP-05Human handoff remains availableRoute the topic with required context only
SP-06Output cannot execute by itselfValidation or sanitization blocks unsafe use

Fail closed for a high-risk behavior. Do not accept a prompt change because it improves answer quality if it weakens access, tenant, tool, or approval boundaries.

Review findings and remediation

FindingSeverityImmediate actionOwner and due date
Secret or credential in promptCriticalRemove, rotate, restrict traces, and assess exposure
Permission logic only in promptHighMove authorization to the application or downstream system
Private data in examples or logsHighRedact, restrict access, and confirm retention
Untrusted content can rewrite instructionsHighSeparate context, add tests, and restrict retrieval
Tool has broader scope than neededHighReduce functionality and permissions before rollout
Prompt extraction reveals harmless wordingMediumRecord the result and focus on underlying controls
Refusal wording is inconsistentMediumAdd a regression case and define the handoff path

Do not classify harmless prompt wording as the main risk if the same review finds weak identity, authorization, data, or tool controls. Fix the underlying boundary first.

Staged rollout plan

StageScopeEntry gateExit signal
1. OfflineSynthetic test setNo secrets and all critical tests definedFindings recorded and owner assigned.
2. InternalOne trained teamAccess, logging, handoff, and support rules readyNo high-severity regression failure.
3. Limited pilotOne low-risk workflowMonitoring and rollback are availableQuality and safety signals remain within limits.
4. Broader releaseApproved users and topicsProduct, security, and privacy owners sign offReview date and change triggers are recorded.

Do not use production customer records to prove that a prompt is safe. Use synthetic data, masked fixtures, and approved test accounts with no unnecessary permissions.

Rollback and pause plan

Pause the affected prompt, route, source, or tool when any of these occur:

  • A secret, credential, customer record, or private system detail appears in an output or trace.
  • A user can cross a tenant or role boundary through wording, conversation history, or retrieved content.
  • A tool action executes without the required authorization or human approval.
  • A prompt change breaks a critical regression test or removes the human handoff path.
  • Support or vendor debugging requests raw sensitive prompt or transcript content.
Pause actionOwnerEvidence to preserveRestart gate
Disable changed prompt versionEngineeringVersion, timestamp, test resultPrior approved version restored and tested.
Disable one source or connectorData or platform ownerSource ID and affected scopeSource reviewed and indirect-injection test passes.
Disable tool actionProduct or engineeringAction, identity, argumentsPermission and approval controls verified.
Route to human or static fallbackSupport ownerCustomer impact summaryHandoff works and owner approves restart.

Decision table

Review resultDefault decisionRequired record
No sensitive content, external controls verified, tests passApprove staged rolloutPrompt version, evidence, owner, and review date.
Harmless prompt wording is extractable but controls are strongApprove with monitoringNote that prompt wording is not a secret and track leakage signals.
Sensitive data or permission logic remains in promptReject or pauseRemediation owner and deadline.
Critical regression or cross-tenant failureReject and containIncident or security review record.
Tool action or export lacks external approvalRestrict to read-only or draft-onlyAction boundary and re-test plan.
Evidence is incomplete or ownership is unclearDeferMissing evidence list and next review date.

Sign-off record

RoleNameDecisionConditionsDate
Business owner
Product owner
Engineering owner
Security reviewer
Privacy or legal reviewer, if needed
Support or operations owner

Approval should identify the exact prompt version, model route, data sources, tools, user scope, unresolved risks, rollout stage, rollback owner, and review trigger.

Action tracker

ActionRiskOwnerDue dateStatusEvidence
Remove sensitive values from prompt
Move authorization out of prompt
Restrict prompt and trace access
Run leakage and indirect-injection tests
Reduce tool scope and approval path
Confirm monitoring and rollback

Final system prompt review checklist

  • Review ID, prompt version, model route, owner, and environment are recorded.
  • Every prompt component is classified as instruction, data, example, tool description, or policy reference.
  • Secrets, credentials, customer records, private URLs, and unnecessary internal details are absent.
  • Prompt and trace storage, access, retention, deletion, and support paths are documented.
  • Identity, tenant isolation, authorization, rate limits, and high-impact approvals are enforced externally.
  • Retrieved documents, attachments, and user content are treated as untrusted input.
  • Leakage, role-bypass, cross-tenant, tool, output, and multi-turn tests pass.
  • Test evidence is redacted and stored with least-privilege access.
  • Rollout, monitoring, pause, fallback, and rollback owners are named.
  • The AI Tool Risk Checker result is attached to the record.
  • The Small Team AI Security Checklist baseline controls are reviewed.
  • Product, engineering, security, privacy, and support sign-off is complete where applicable.
  • The next review date and change triggers are recorded.

Metrics to track

Track trends without collecting raw sensitive prompts unless there is a documented need.

MetricWhy it mattersReview cadence
Prompt versions releasedShows change volume and review coverageEvery release
Critical regression pass rateDetects boundary breakageEvery prompt change
Prompt leakage or extraction signalsShows attempted and successful disclosureWeekly or after an alert
Cross-tenant or unauthorized access blocksTests external authorizationWeekly
Tool calls blocked or requiring approvalShows action boundary pressureWeekly
Sensitive-data redaction findingsDetects prompt and trace hygiene issuesMonthly
Human handoff rate for restricted topicsChecks whether fallback worksMonthly
Open remediation agePrevents known gaps from becoming permanentWeekly

Evidence checked

FAQ

Is the system prompt itself a secret?

No. Treat the prompt as potentially discoverable model input. Remove sensitive values and protect the underlying data and authorization paths instead of relying on prompt secrecy.

Should a prompt tell the model which users are allowed to see a record?

It can describe the workflow, but it must not be the enforcement point. Authenticate the user, authorize the data request, and filter the result outside the model.

What if a harmless prompt extraction test succeeds?

Record it, verify that no sensitive data or security boundary was exposed, and focus remediation on external authorization, data minimization, tool scope, and output controls. Exact wording is not the main security boundary.

Do retrieval systems remove prompt leakage risk?

No. Retrieved pages, files, tickets, and attachments can contain direct or indirect instructions. Separate trusted instructions from untrusted content and test the retrieval path.

Can a small team review every prompt change manually?

Use a risk-based gate. Require full review for secrets, permissions, private data, connectors, tools, customer-facing behavior, or high-impact decisions. Use automated regression tests and an owner review for lower-risk wording changes.

Is this checklist enough for compliance?

No. It is practical operating guidance, not legal, privacy, compliance, certification, or security assurance advice. Map the review to the contracts, laws, standards, and risk tolerance that apply to your organization.

Run the AI Tool Risk Checker for the chatbot workflow, attach the result to this prompt review, and close the highest-risk findings before enabling new data sources or tool actions.