PII redactor for AI prompts
Mask phone numbers, emails, ID and card numbers, IBANs, IP addresses and API keys before you paste text into ChatGPT or any other AI.
Input
Result
The result will appear here.Support tickets, logs and customer emails are exactly the text people paste into an AI assistant, and they are full of personal data. This tool finds the identifiers in a text and replaces them before it leaves your machine. It follows the approach of Presidio (data-privacy-stack/presidio, MIT), the open-source PII framework that began at Microsoft, cut down to what a browser can do reliably without a language model: a pattern for each kind of identifier, followed by a validator that throws out look-alikes — the Luhn checksum for card numbers, the GB 11643 check digit and a real birth date for Chinese ID numbers, the mod-97 check for IBANs.
How it works
- It detects email addresses; Chinese mobile and landline numbers; international numbers written with + or 00; North American numbers in the (415) 555-2671 form; 18-digit Chinese resident ID numbers; card numbers; IBANs; IPv4 and IPv6 addresses; and API keys from OpenAI, Anthropic, AWS, GitHub, GitLab, Slack, Google and Hugging Face, JWTs and PEM private keys.
- Numbered labels such as [PHONE_1] give the same value the same label every time, so the model can still tell two customers apart; asterisks keep the familiar shape, like 138****8000; fake values look real but are chosen from ranges that can never belong to anyone.
- The findings table lists each item's line, kind, masked value and replacement, and never shows the original in full.
- Everything happens in your browser, and because this tool handles sensitive text, the site keeps no history of it, even for signed-in members.
Where your data goes
Nowhere. This tool runs entirely in your browser: the text you paste is processed by the page and is never transmitted to a server or written to a log.
This tool handles keys and credentials, so nothing about a run is saved, not even to your own history.
What it costs
This tool is free, with no sign-in and no points.
Common questions
- Does it find names and street addresses?
- No. Recognising a name or an address reliably needs a language model trained for it, and a pattern-based guess would miss many and flag ordinary words. Read the redacted text before you send it and replace names by hand; the numbered-label style makes that easy to keep consistent, for example [NAME_1].
- Why wasn't a number detected?
- Every detection must pass its validator, so a card number with a wrong check digit, an ID number with an impossible birth date or an IBAN that fails mod-97 is deliberately left alone — it is not a real identifier. Plain ten-digit numbers without a country code or parentheses are also skipped, because order numbers and timestamps look the same.
- Where do the fake values come from?
- From ranges reserved for testing or impossible by design: user1@example.com, Chinese mobile numbers starting 100, US numbers in the fictional 555-01xx block, ID numbers with the non-existent region code 000000 and a valid check digit, card numbers that payment processors publish as test cards, and IPs from the documentation ranges 192.0.2.0/24 and 2001:db8::/32.
- Can I put the original values back into the AI's answer?
- With numbered labels you can do it by hand: keep the findings table, and replace [EMAIL_1] and the other labels in the answer. The table shows masked values only, so keep your original text as the source of truth for the mapping.
The open-source behind it
This tool is a self-contained implementation. data-privacy-stack/presidio (MIT) does the same job as a library — if you need this behaviour inside your own program, start there rather than calling a web page.
data-privacy-stack/presidioAlso known as
- pii redaction
- redact personal information
- data masking tool
- anonymize text for chatgpt
- remove sensitive data
- pii detector