Text Redactor
Replace identifiers with stable placeholders before sending text to a model, then put the originals back when the answer returns.
Everything on this page runs in your browser. Nothing is uploaded, logged or sent anywhere — and unlike the other pages in this family, what you paste here is deliberately NOT written into the URL. Only the settings are. A scanner that put your secrets in a shareable link would be causing the leak it exists to prevent.
6 distinct value(s), each with a stable token. Pseudonymisation is reversible by design, which means the mapping below is exactly as sensitive as the original text — treat it that way.
Beste meneer [TERM_1], Uw bestelling [CARD_1] is verzonden naar [EMAIL_1]. IBAN [IBAN_1]3 00 — telefoon [PHONE_1]. Neem contact op met [TERM_2] als er iets mis is.
{
"[TERM_1]": "De Vries",
"[CARD_1]": "4111 1111 1111 1111",
"[EMAIL_1]": "[email protected]",
"[IBAN_1]": "NL91ABNA0417164300",
"[PHONE_1]": "+31 6 12 34 56 78",
"[TERM_2]": "Acme Logistics"
}- Characters in
- 211
- Characters out
- 164
- Spans replaced
- 6
- Distinct values
- 6
- Your own terms matched
- 2
Pseudonymisation is not anonymisation
Replacing an email address with [EMAIL_1] removes the identifier and leaves everything around it. The dates stay, the amounts stay, the job title stays, the unusual phrasing stays, and the fact that this is the customer who complained twice in March stays. Under the GDPR that is pseudonymised data, which is still personal data with all the obligations attached — the mapping exists, so re-identification is one file away. Anonymisation is a much higher bar and this tool does not clear it, nor does any regex.
Why you have to bring the names
Because there is no honest automatic name detector that runs in a browser. A list of common first names finds "Mark" in "mark the row as read", misses every name not on the list, and produces a scan that looks thorough while being close to useless on any document with more than one culture in it. Rather than ship that and let it produce false confidence, this page asks for the terms — which for most real documents is a short list you already know: the customer, the account manager, the company, the internal system name.
The round trip is the part that breaks
Sending redacted text to a model and substituting the originals back works well right up until the model does something reasonable with your token. It paraphrases [PERSON_1] as "the customer". It writes [EMAIL 1] with a space. It summarises three sentences into one and takes two tokens with it. It helpfully invents [PERSON_2] for someone your mapping never covered. The restore step counts how many tokens actually came back and lists any it does not recognise, because a silent partial restore produces a document that reads correctly and has a hole in it. If the count is short, do not ship the result — fix the prompt to say the tokens are opaque identifiers that must be reproduced exactly, and try again.
Where the mapping lives
In this tab and nowhere else. It is not in the URL, unlike the settings, and it is not sent anywhere, because a mapping file is the original document with extra steps. If you save it, save it where you would have saved the original.