Remove Personal Data
Find and replace emails, card numbers and other personal data before text goes near a model.
Loading the scrubber…
About the Remove Personal Data converter
Fine-tuning and retrieval got easy, and people are now feeding models training data that was never meant to leave the building: support tickets, call transcripts, CRM exports, log files. All of it is full of personal data — PII, in the jargon.
This finds that data and redacts it, in your own browser, whether you are anonymising a dataset before fine-tuning or just sanitising a document before pasting it into ChatGPT. The file never leaves your device, which is the only sensible arrangement for exactly the material you would be worried about.
Checksums, not just shapes
A scanner that flags any sixteen digits as a card number is useless on real data, because order numbers, reference codes and product SKUs are all sixteen digits. Every payment card carries a Luhn checksum, so it can be confirmed rather than guessed at — an order number simply fails it.
The same applies to IBANs, which carry an ISO 7064 checksum, and to US Social Security numbers and UK National Insurance numbers, where whole ranges have never been issued and can be ruled out. Anything confirmed this way is marked as verified, so you can tell a certainty from a guess.
Replacements that keep the data usable
Deleting personal data outright often ruins the file. If the same customer appears in forty messages, replacing every address with [EMAIL] loses the fact that it was one person, and a model trained on it learns something false.
Numbered tokens fix that: the same address becomes the same token wherever it appears, so the structure survives while the identity does not. There are also options to keep the last four digits of a card, or the domain of an email, for cases where you need to recognise a record without exposing it.
What it will not catch
Names, street addresses, dates of birth, job titles and account numbers with no fixed format have no pattern to match, and no tool that works by pattern will find them reliably. Free text is the hardest case of all — "call Sarah in the Leeds office" is personal data and looks like ordinary prose.
So treat a clean result as a starting point rather than a clearance. The things with structure are handled well here; the things without structure still need a person to read them.
Frequently asked questions
Is my data uploaded?
No, and that is the whole point. The text is scanned and redacted in your browser, and nothing is sent anywhere. A PII scrubber that asked you to upload the data you are trying to protect would be answering the wrong question.
Can I use this before pasting something into ChatGPT?
That is one of the main reasons to. Anything you paste into a hosted assistant leaves your machine, so stripping customer emails, card numbers and API keys first is worth doing whether the concern is a policy, a contract or plain common sense. The same applies to anonymising a dataset before fine-tuning.
What does it look for?
Email addresses, phone numbers, payment cards, IBANs, IP addresses, US Social Security numbers, UK National Insurance numbers, API keys and tokens from common providers, and JWTs. Each type can be turned off if it is producing noise on your data.
Why are phone numbers over-matched?
Because they have no checksum and no single format, so the choice is between missing real ones and flagging some reference numbers. Flagging too much is the safer error when the alternative is leaking a phone number, and you can switch the type off if it is unhelpful.
Does this make my data GDPR compliant?
No tool can promise that. Removing direct identifiers is a meaningful step and often what is meant by pseudonymisation, but whether data is genuinely anonymous depends on whether anyone could still work out who it refers to. Treat this as help with the mechanical part, not as legal advice.
Can I get the original text back?
No. The replacement is one-way and no mapping is kept anywhere, which is deliberate — a lookup table linking tokens back to real people would be the very thing you were trying not to create.