How to Redact Personal Info Before Using AI (and Restore It)
Swap names, emails and numbers for placeholders, let ChatGPT do the work, then put the real details back. A walkthrough with a real support email.
Most advice about AI and privacy stops at "don't paste personal data". Fair enough, but the email you need help with is full of it. Telling people to retype it from memory without the names isn't a workflow anyone will follow on a busy Tuesday.
A better approach is borrowed from how databases handle sensitive fields. You replace each personal detail with a placeholder, send the cleaned text to the AI, and when the answer comes back you swap the placeholders for the real values again. After the second or third time it takes under a minute.
Why placeholders beat deleting things
Deleting is the obvious move, and it breaks the text. "Hi , following up on the refund for . He was charged twice" leaves the model guessing who is who. With two or three people in a thread it will happily mix them up, and your reply ends up thanking the wrong person.
Placeholders keep the structure. [NAME_2] is clearly a different person from [NAME_1], and if the same customer appears five times, all five mentions get the same placeholder. The AI writes around them naturally, and because each placeholder is unique, swapping them back is mechanical.
Redact, ask, restore: the three steps
You can do this with find and replace in a text editor. It works, though it's slow and you need to keep your own list of what you replaced. The PII Redactor does the bookkeeping for you, in your browser, without uploading anything:
The round trip
- 1
Redact
Paste your text into the redactor. Check the highlighted details, untick anything that isn't personal and add words it couldn't know about, like a company name.
- 2
Ask
Copy the safe version into ChatGPT, Claude or Gemini and ask your question as usual. Placeholders such as [NAME_1] carry through into the answer.
- 3
Restore
Paste the AI's reply into step 2 of the redactor. Every placeholder is replaced with the original name, email or number, ready to send.
A real example, start to finish
Say Daniel from support forwards you this, and you want ChatGPT to draft your answer. The top row is what you paste into the redactor and what comes out. The bottom row is the AI's draft, written with the placeholders, and what it looks like once restored.
Redacting a support email, then restoring the AI's reply
Before
Hi Priya, Marcus Webb (marcus.webb@example.com) was charged twice for order 88213. Marcus would rather have store credit. Can we do that? Thanks, Daniel Osei
After
Hi [NAME_1], [NAME_2] ([EMAIL_1]) was charged twice for order 88213. [NAME_2_FIRST] would rather have store credit. Can we do that? Thanks, [NAME_3]
Before
Hi [NAME_3], Yes, we can offer [NAME_2_FIRST] store credit for order 88213. I'll email [EMAIL_1] today to confirm the amount. Thanks, [NAME_1]
After
Hi Daniel Osei, Yes, we can offer Marcus store credit for order 88213. I'll email marcus.webb@example.com today to confirm the amount. Thanks, Priya
The AI only ever saw placeholders. The restored reply has the right names in the right places.
Calculated with the same logic as our PII Redactor.
Notice [NAME_2_FIRST]. When the email says "Marcus Webb" in one place and just "Marcus" in another, the redactor links the two, so the AI knows it's one person and can address him by first name. The order number stays, because the AI needs it and it doesn't identify anyone by itself.
Models sometimes mangle placeholders, writing NAME_2 without brackets or [name_2] in lower case. Restoring handles those variations, and tells you how many values it put back so you can spot one that went missing.
Labels, fake values or black bars?
There are three ways to fill the gaps, and they suit different jobs. For a short email with 7 details in it, the options look like this:
Three ways to replace the same details
| Labels | Fake values | Black bars | |
|---|---|---|---|
| Priya | [NAME_1] | Alex | █████ |
| Marcus Webb | [NAME_2] | Jordan Brooks | ███████████ |
| marcus.webb@example.com | [EMAIL_1] | person1@example.com | ████████████ |
| (416) 555-0173 | [PHONE_1] | (555) 010-0001 | ████████████ |
| 48 Harbour Street | [ADDRESS_1] | 101 Example Street | ████████████ |
| M5J 2L2 | [POSTAL_1] | A1A 1A1 | ███████ |
| Daniel | [NAME_3] | Sam | ██████ |
Fake values come from reserved ranges, like 555-01xx phone numbers and example.com addresses, so they can never belong to a real person.
Calculated with the same logic as our PII Redactor.
- Labels are the default for a reason. You can see at a glance what was removed, and so can the AI, which helps when it has to reason about who said what.
- Fake values read like normal text. Use them when you want feedback on tone or grammar and brackets everywhere would distract, or when the AI keeps tripping over labels.
- Black bars are for when nothing needs to come back: a screenshot for a bug report, or a document you're sharing with someone who shouldn't see the details at all.
What still slips through
Formats are easy. Card numbers pass a checksum, and phone numbers and postal codes have recognisable shapes. Names are harder, because "Rose" is a flower and "Will" is a verb. The redactor finds names from context, such as a greeting, a title like Dr. or a sign-off, and then catches every later mention of the same name. A name that shows up once with nothing around it can still get past, which is what the "Also hide these words" box is for.
Watch for the long tail of a forwarded thread, too. The old messages quoted at the bottom often carry signatures with direct lines and mobile numbers. They get redacted like everything else, but only if you include them, so either paste the whole thing or trim the thread before you start.
The list that links [NAME_1] back to Priya exists only in your browser while the page is open. Close the tab and it's gone, so finish the restore step in the same session.
If you're still deciding what counts as personal in the first place, what counts as PII covers the grey areas like IP addresses and job titles, and what not to paste into ChatGPT has a quick checklist. Otherwise, open the PII Redactor, load the sample, and try the round trip once. It makes more sense in your hands than on the page.
Mahdi Moradi
Full-stack software engineer and founder of Bornara AI, building free privacy-first tools at ZipTools. Based in Calgary, Canada.
Try the tool mentioned in this article.
Open pii redactorRelated articles
How AI Background Removal Works — The Technology Behind Instant Cutouts
Neural networks can separate foreground from background in seconds. Here's how the technology works, why client-side processing matters, and how to get the best results.
WebP vs AVIF vs PNG vs JPEG: Which Format to Use (Tested)
We ran a real photo and a screenshot through every format and quality level. WebP won both, PNG grew, and AVIF needs more than a browser to make.
The Hidden Data in Your Photos — and How to Remove It
Every photo you take can carry your exact GPS location, camera model, and timestamp baked invisibly into the file. Here is what EXIF metadata reveals, why it matters, and how to strip it in seconds — privately, in your browser.