Mask customer data before the prompt goes out.
This tool replaces customer data in your text with placeholders before you paste it into ChatGPT or another AI tool. Name, IBAN, phone number, customer number and email address become [NAME_1], [IBAN_1] and so on. You then paste the model reply back in here and the real values return. Everything runs in your browser, free of charge and without a sign-up.
How do you mask a text?
- 1. Enter the namesList the names you want replaced, one per line. No pattern in the world produces a name, which makes this list the most important part.
- 2. Paste the textPaste the customer email, the complaint or the order into the first field. The masked version appears in the second field straight away.
- 3. Copy the masked textCopy the masked version into your AI tool. Read it through once first to check that nothing was left behind.
Stays on this device. The text is never stored and never sent anywhere.
This version goes to the model. Same value, same placeholder.
Nothing replaced yet.
How do you restore the reply?
Paste the draft the model returns into the field below and press "Restore placeholders". The tool swaps every placeholder it knows back for the real value. The lookup table sits in this page memory only: it never leaves the page and is gone after a reload. If the model scrambles a placeholder, it stays visible, and you spot the mistake as you read.
Which data does the tool recognise?
Names come from your list. Four search patterns cover the rest. They are exactly the patterns from our article, including the IBAN pattern that counts characters instead of groups of four, because otherwise the last two digits of a German IBAN stay in the text.
| Kind of data | Pattern | Placeholder |
|---|---|---|
| Name | Your name list, longest name first | [NAME_1] |
| Email address | [\w.+-]+@[\w-]+\.[\w.]{2,} | [MAIL_1] |
| IBAN | \b[A-Z]{2}\d{2}(?:\s?[A-Z0-9]){10,30}\b | [IBAN_1] |
| Customer number | \bKD-\d{4,}\b | [KDNR_1] |
| Phone number | (?:\+49|0)[\d\s/()-]{8,}\d | [TEL_1] |
| Your own pattern | Whatever you enter above | [X_1] |
The customer number is replaced before the phone number. Otherwise the phone pattern could swallow the digits of a long customer number. The same value keeps the same placeholder throughout the text, so the model keeps the link between sender, signature and callback number.
Do your texts leave the browser?
No. The page loads our own files and calls no address after that. Your text, the masked version and the lookup table live in this page memory and are gone once you close or reload it. Only the name list is stored, and only if you tick the box. You can untick it at any time, and the list is deleted in this browser.
Is masking enough for data protection?
No, and we say so plainly. What this tool does is pseudonymisation, not anonymisation: because you can re-attribute the text with the lookup table, the data stays personal data. Legal basis, transparency obligations and the data processing agreement apply exactly as before. What changes is the damage if something is exposed at the vendor. Colleagues, place names and the context of a case also stay in the text unless you add them to the name list or to a pattern of your own.
The long version with sources, a worked run and the bug from our own test run sits in the article masking customer data before the AI prompt.