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.

Replace with
network while you type: 0 requests

Your text

0 characters

Safe to paste

waiting for text
The cleaned version appears here as you type — highlighted so you can see exactly what changed.
CtrlEnter
no personal data yet Everything below happens in this browser tab. Nothing is uploaded, and nothing you type is saved.

    Preset: contact details, order and account references, card data — conversation structure kept.

    What to look for — 30 detectors, custom terms, exceptions

    People & organisations

    Government & health IDs

    Financial

    Technical & secrets

    Location

    For the things no word list can know: internal codenames, unusual surnames, a product that isn’t public yet. Custom terms are never saved.
    Values on this list stay in the text and out of the mapping — useful when the model needs your own company name to answer usefully.
    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

    1. Open this page — the detectors are already set for “Support tickets”.
    2. Paste your text, or drop a .txt, .md, .csv, .json or .log file onto the panel.
    3. Check the highlights: every match is coloured by type, and one click keeps a type as-is.
    4. Copy the safe version and paste it into the AI tool of your choice.
    5. 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

    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.