How to use it
- Paste the text you are about to share into "Original text". The redacted version appears straight away, with a count of what was replaced.
- If you want, open "What to detect" and untick anything you want to keep — for example IPv4 addresses, if the AI needs to see your internal network layout.
- Check the redacted text, click "Copy redacted text" and paste it into the AI or other tool.
- If the AI's answer uses the placeholders ("check whether [PASSWORD_1] has expired"), paste it into "Restore the AI's reply" at the bottom to get a version with the real values back.
What it detects and how
Why redact first
In November 2025 the security firm watchTowr reported that two popular online JSON formatters listed users' saved content on a public "Recent Links" page. The researchers collected more than 80,000 saved submissions containing database passwords, cloud keys and access tokens, and a decoy key they planted was tried by someone 48 hours later. Anything pasted into an online tool or an AI chat is best treated as something others might see. This tool detects and replaces everything in your browser; nothing is uploaded, and the mapping lives only in the page's memory, never in browser storage.
Keys and tokens, by their published prefixes
Many platforms prefix their credentials precisely so that scanners can find leaks. AWS's identifier reference says access keys start with AKIA and temporary STS keys with ASIA. GitHub's documentation lists ghp_ for classic personal access tokens and github_pat_ for fine-grained ones, plus gho_, ghu_, ghs_ and ghr_. Slack's token documentation says bot tokens begin with xoxb- and user tokens with xoxp-. The tool also detects long keys starting with sk-, JWTs, PEM private-key blocks and the token after Bearer in an Authorization header.
Passwords, by context
Passwords have no fixed shape, so the tool looks at what surrounds them. In a connection string such as scheme://user:password@host only the password is replaced; the user name and host stay, so the AI can still reason about the problem. The value after password, passwd, pwd, secret, api_key, access_token, client_secret and similar field names, followed by a colon or equals sign, is replaced too.
Personal data, with checksums
Card numbers must pass the Luhn check, with or without spaces or hyphens. Chinese resident ID numbers are checked against the national standard GB 11643-1999: the weighted sum of all 18 characters, including the check character, must leave 1 when divided by 11 (a check value of 10 is written X), and the eight digits in the middle must be a real date of birth. Mobile numbers are detected in the Chinese format: 11 digits starting with 1 and a second digit from 3 to 9, optionally with +86. Numbers running directly into other digits are ignored, so order and reference numbers are not mistaken for phones.
One value, one placeholder
If the same email appears three times, it becomes [EMAIL_1] each time; a different address becomes [EMAIL_2]. The AI can still follow who wrote to whom, and the placeholders in its answer restore exactly.
Examples
| Original | Redacted |
|---|---|
| postgres://admin:[email protected]:5432/app | postgres://admin:[PASSWORD_1]@db.example.com:5432/app |
| Authorization: Bearer abcdef0123456789ABCDEF | Authorization: Bearer [TOKEN_1] |
| key=AKIAIOSFODNN7EXAMPLE | key=[AWS_KEY_1] |
| server 192.168.1.10 and 10.0.0.1 | server [IP_1] and [IP_2] |
| [email protected] wrote to [email protected], then [email protected] replied | [EMAIL_1] wrote to [EMAIL_2], then [EMAIL_1] replied |
The number 6222021001123456780 fails the Luhn check, so it is left alone, while 4111 1111 1111 1111 passes and is replaced. "+86 13812345678" happens to pass the Luhn check once the plus sign is dropped; the tool looks for phone numbers first, so it is correctly labelled as a phone number.
Limits
- Rules only catch things with a recognisable shape. Names, addresses, company names, passwords without a telling field name and keys in unusual formats can slip through. Read the result before you send it.
- Rules can also over-match, for example a long number that happens to fit a pattern. Untick that type if it gets in the way.
- Only IPv4 is detected, not IPv6 or MAC addresses. Phone numbers are recognised in the Chinese mobile format only.
- Only the text you paste is handled. Screenshots, images and attached files need separate care.
- Redaction cannot undo a leak. If a key has already been shared, revoke it and issue a new one.
Frequently asked questions
Is the redacted text safe to send to ChatGPT or Claude?
Detected keys and personal data are replaced, but no rule set catches everything, names and addresses included. Check it before sending.
Where is the mapping stored?
Only in the current page's memory. It is not uploaded or saved in browser storage and disappears when you close or reload the page.
Why does the same value get the same placeholder?
So the AI can tell it is the same person or account, and so its reply can be restored exactly.
What if I already leaked a key?
Revoke it with the provider straight away, issue a new one and check its usage history.
Does it work offline?
Yes. Once the page has loaded, everything runs in your browser.
Sources and further reading
- watchTowr Labs: Stop Putting Your Passwords Into Random Websites
- AWS: IAM identifiers (unique ID prefixes)
- GitHub Docs: About authentication to GitHub (token prefixes)
- GitHub Blog: Behind GitHub’s new authentication token formats
- Slack: Tokens
- GB 11643-1999 Citizen identification number (Wikisource transcription, in Chinese)