Redact customer support tickets before you paste them into an AI
Support conversations are the densest personal data most companies handle: a name, an email, a phone number, an order number and often a partial card, all in one thread, written by the customer rather than by a system that could have masked it.
This preset keeps the shape of the conversation — who said what, in what order — while replacing the identifying values with placeholders, so you can ask a model to summarise, draft a reply or classify the issue without shipping the customer’s details to a third party.
Your text
Safe to paste
Preset: contact details, order and account references, card data — conversation structure kept.
Mapping — 0 values (only visible in this tab)
| Placeholder | Real value | Uses |
|---|
Check a few rows before you paste — this is the fastest way to spot a detector that grabbed the wrong thing. Nothing here is stored or sent anywhere.
What to look for — 30 detectors, custom terms, exceptions
People & organisations
Government & health IDs
Financial
Technical & secrets
Location
Step 3 — paste the AI’s answer here to put the real values back
The model replies using the placeholders. Paste its answer below and every
[NAME_1] becomes the real name again — using the mapping held in this tab, which
is the only copy that exists.
How it works
- Open this page — the detectors are already set for “Support tickets”.
- Paste your text, or drop a .txt, .md, .csv, .json or .log file onto the panel.
- Check the highlights: every match is coloured by type, and one click keeps a type as-is.
- Copy the safe version and paste it into the AI tool of your choice.
- Paste the model’s reply back into step 3 to restore the real values.
The card number problem
Customers paste full card numbers into support chats constantly, and once a full PAN is sitting in your ticketing system it is a compliance problem regardless of what you do next. Card numbers here are matched by structure and then verified: 13 to 19 digits, a valid Luhn check digit, and an issuer prefix that actually exists under ISO/IEC 7812. An order number of the same length does not pass all three, so it survives the scrub — which is what you want, because the order number is usually the part the model needs.
The same logic applies to bank details: IBANs are verified with the ISO 13616 mod-97 check and US routing numbers with the ABA weighted checksum, so lookalike digit strings are left alone.
Keeping the thread useful
Agent names, timestamps and the flow of the conversation are what make a summary worth reading. The preset therefore replaces values rather than deleting them, and it maps repeated values to the same placeholder — so a model can still see that the customer wrote three times and the agent once, and that the address in message three belongs to the person in message one.
If you are drafting a reply, switch the toolbar to Fake values: the model will write “Hi Jordan” instead of “Hi [NAME_1]”, and step 3 puts the real name back before you send it.
Tips
- Add your own company and product names to custom terms if you do not want them in the prompt at all.
- Order and account numbers are matched from their labels (“order 1099847”), so keep the label in the text you paste.
- For bulk analysis, export tickets to CSV and drop the file in — the tool reads it as text and scrubs every row.
Detectors are pattern-based and imperfect: read the highlighted output before you paste it anywhere, and confirm your own confidentiality obligations against the current rules for your profession, employer or jurisdiction. Compiled 2026-07-29.
Frequently asked questions
Our helpdesk already has an AI feature. Why paste anything manually?
Built-in features are usually the better route when they exist, because the data stays inside a contract you have already signed. This page is for the gap: the agent who wants a second opinion from a public chatbot, or the analyst pulling a week of tickets into a model that has no data agreement with you at all.
Does it catch partial card numbers like “ending 1111”?
No — four digits alone are not a card number and are not treated as one. That is deliberate: the last four are the part support staff legitimately use to identify a payment, and redacting them would break the workflow without meaningfully protecting anyone.
Can I scrub a whole export at once?
Yes. Drop a CSV or JSON export onto the panel; it is treated as text, so every field is scanned. Placeholders stay consistent across the whole file, which means the same customer keeps the same token in every row.