playbook

How to redact customer tickets before using AI

A practical redaction workflow for small teams that want to use ChatGPT or other AI tools on customer support tickets without exposing unnecessary personal, account, billing, or security data.

Audience: Support leads, founders, operators, and customer-facing teams using AI to summarize, triage, or draft replies from customer tickets Risk: High Evidence: OpenAI business data documentation, FTC data security guidance, NIST Privacy Framework, NIST de-identification guidance, and OWASP LLM sensitive-information guidance

Bottom line

Small teams should not paste raw customer tickets into ChatGPT, Claude, Gemini, or any other AI assistant by default. A support ticket can contain names, email addresses, phone numbers, IP addresses, account IDs, invoices, secrets, screenshots, log excerpts, health details, financial details, contract terms, and security incident context. The safest workflow is to redact first, then ask the AI to help with the narrow task.

Use this rule:

Only send the minimum ticket content needed for the AI task, and remove identifiers, credentials, payment details, regulated data, and unrelated customer context before prompting.

Before approving a workflow, run the AI Tool Risk Checker and record the policy in the Small Team AI Security Checklist. If the team uses ChatGPT Business, pair this with the ChatGPT Business retention questions guide and the ChatGPT connector approval template.

Redaction decision table

Ticket contentDefault action before AIExample replacement
Customer name, email, phone, addressReplace unless needed for the task.[customer_name], [customer_email], [phone]
Company name or account nameReplace when not needed; keep role/context if relevant.[customer_company], enterprise customer, trial account
Account ID, tenant ID, order ID, invoice IDReplace with stable placeholders.[account_id_1], [invoice_id_1]
Billing card, bank, tax, payment, refund detailsRemove unless the AI task is explicitly payment-policy drafting.[billing_detail_removed]
Password, API key, token, session cookie, private keyRemove completely and treat as an incident.[secret_removed]
IP address, device ID, access logs, trace IDsReplace unless required for troubleshooting.[ip_address_1], [trace_id_1]
Screenshots or attachmentsSummarize manually; do not upload by default.Screenshot shows login error after SSO redirect.
Health, HR, legal, child, financial, government, or regulated dataDo not send through the lightweight workflow.Route to owner/legal/security.
Security vulnerability or incident detailsRemove exploit details, secrets, customer identity, and internal system names.[vulnerability_summary]
Unrelated messages in the ticket threadRemove.Keep only the relevant support issue.

The point is not to make the ticket anonymous in a legal sense. The point is to minimize unnecessary exposure before the AI tool sees the content.

Step-by-step workflow

Use this workflow for ticket summarization, reply drafting, sentiment analysis, or routing.

  1. Classify the ticket: public, internal, customer, sensitive customer, regulated, or security incident.
  2. Decide the AI task: summarize, draft response, classify urgency, extract troubleshooting steps, or identify missing information.
  3. Copy only the needed ticket excerpts, not the whole thread.
  4. Remove identifiers, secrets, billing details, regulated data, and unrelated customer history.
  5. Replace necessary identifiers with stable placeholders.
  6. Add a short context block that explains the product area, support goal, and constraints.
  7. Prompt the AI not to infer missing facts, invent policy, or include removed data.
  8. Review the output before pasting it into the ticketing system.
  9. Delete or retain the AI conversation according to the approved retention rule.
  10. Record exceptions, especially if raw customer data was used.

If the ticket contains secrets, credentials, or private keys, stop the AI workflow and treat it as a security incident.

Redaction template

Copy this prompt wrapper after redacting the ticket.

Task:
Draft a concise support reply for the ticket below.

Rules:
- Do not infer customer identity or account details.
- Do not include placeholders in the final customer-facing reply.
- Do not mention internal policy, security controls, or removed data.
- Ask for missing information instead of inventing facts.
- Keep the tone calm, specific, and action-oriented.

Context:
Product area:
Known issue:
Allowed recommendation:
Do not mention:

Redacted ticket:
[customer_name] reports that [issue_summary].
Account type: [account_type]
Relevant error: [error_message]
Troubleshooting already attempted:
- [step_1]
- [step_2]

For internal triage instead of customer replies, change the task:

Task:
Summarize the redacted ticket for internal triage. Return:
1. Customer impact
2. Likely product area
3. Missing information
4. Suggested next owner
5. Whether this should be escalated

Ticket redaction checklist

  • I copied only the relevant ticket excerpt.
  • I removed names, emails, phone numbers, addresses, and company identifiers unless required.
  • I removed passwords, API keys, tokens, cookies, private keys, and credentials.
  • I removed payment, invoice, tax, bank, and refund details unless explicitly approved.
  • I removed regulated health, HR, child, government, legal, or financial data.
  • I replaced account, tenant, invoice, order, and trace identifiers with placeholders.
  • I summarized screenshots and attachments instead of uploading them.
  • I removed unrelated customer history and internal notes.
  • I told the AI not to invent facts or reintroduce removed information.
  • I reviewed the output before sending it to a customer.
  • I followed the approved deletion or retention rule for the AI conversation.

Examples

Raw ticket excerptBetter AI-ready excerpt
Hi, this is Jane Smith from Acme Medical. My card ending 4242 failed for invoice INV-88423. Phone: +1-555-0189.[customer_name] from [customer_company] says a payment failed for [invoice_id]. Remove card and phone details. Draft a request for the customer to update payment details through the secure billing portal.
Bearer eyJ... is returning 403 in tenant tnt_82ff. Can you check our logs?[customer] reports API requests are returning 403 for [tenant_id]. Secret/token was present and removed. Treat as credential exposure; do not paste token into AI.
Here is a screenshot with the patient's name and appointment notes.Do not upload screenshot. Manually summarize: customer reports scheduling issue after clicking reschedule link. Route to approved regulated-data workflow.
Slack thread says Customer B is probably churning and the CEO is angry.Remove unrelated internal commentary. Keep only the support issue and customer-facing facts needed for a reply.

Approval record

Use this record before a team uses AI on customer tickets.

Customer ticket AI redaction approval

Workflow:
Ticket system:
Business owner:
Support owner:
AI tool:
Allowed ticket categories:
Prohibited ticket categories:
Allowed AI tasks:
Prohibited AI tasks:
Data to remove:
Placeholders to use:
Files/screenshots allowed:
Retention rule:
Escalation triggers:
Review sample owner:
Approval date:
Review date:

Escalation triggers

Do not use the normal redaction workflow when any of these appear:

TriggerWhat to do
Secret, token, password, cookie, private key, or credentialStop and route to security or the credential owner.
Health, HR, child, legal, financial, government, or regulated dataRoute to the responsible owner before AI use.
Customer contractual confidentiality termsCheck the contract owner before using an external AI tool.
Security incident, vulnerability, abuse report, or breach allegationUse incident response workflow, not normal support drafting.
Bulk export of many ticketsRequire approval, sampling, and stronger controls before processing.
Connected app or helpdesk connectorUse the connector approval template before enabling access.

Evidence checked

FAQ

Is redaction enough to make customer tickets safe for AI?

No. Redaction reduces exposure, but it does not automatically make a workflow compliant, confidential, or risk-free. Use it with tool approval, access controls, retention rules, and human review.

Can we use ChatGPT Business with customer tickets?

Possibly, if the workflow is approved and scoped. OpenAI says ChatGPT Business workspace data is not used for training by default, but your team still needs redaction, retention, access, and customer-commitment rules.

Should we paste the full ticket thread?

Usually no. Copy the minimum relevant excerpt. Full threads often include unrelated customer names, internal notes, billing context, old attachments, and security details.

What if the AI needs an account ID to troubleshoot?

Use a placeholder unless the exact ID is required for the task. If exact identifiers are needed, route the work through an approved internal workflow rather than casual chat.

Can we upload screenshots?

Not by default. Screenshots often contain names, emails, account IDs, addresses, browser tabs, internal URLs, tokens, or regulated data. Summarize the screenshot manually unless uploads are explicitly approved.

Take one recent customer ticket, redact it with the checklist above, and run the AI Tool Risk Checker for the workflow. Add the approved rule to the Small Team AI Security Checklist.