Redact
A local helper for masking obvious personal data in text before you paste it somewhere else. Also reverses the masking later, locally.
Please read before using. This is a local helper for masking obvious personal data in text before you paste it somewhere else. It runs entirely in your browser. It is not anonymization, not GDPR compliance, and not suitable for high-risk or sensitive workflows.
Regex and simple rules cannot reliably find every name, place, or identifying detail. The output may still contain personal data. You must review the redacted text yourself before sharing it anywhere. Treat this as a prompt to think, not as a green light.
1. Redact
Original text → redacted text + mapping2. Unredact
Redacted text + mapping → originalWhat it handles
The tool runs English and German rules on every input, since both languages often appear mixed in the kind of text people paste into LLMs.
Structured patterns (high confidence): email addresses, phone numbers (strict formats only, to avoid matching dates or order numbers), dates, times, IBANs with checksum validation, and http(s) URLs. Labeled fields like Name:, Adresse:, Telefon:, DOB: are read to the end of the line.
Names (conservative): titled forms like Frau Müller, Dr. Becker, Mr Smith, and greeting lines like Hallo Anna,, Dear Sarah,. Signature blocks after sign-offs are also scanned for a few lines.
Name propagation: once a name is learned from a confident context (title or greeting), later exact whole-word matches of that same name within the same run reuse the same placeholder. This is deliberate: otherwise Hallo Anna, gets redacted while Anna said... in the next paragraph leaks through.
Cities (conservative): only in preposition context like in Berlin, aus Hamburg, based in Munich, cross-checked against a modest built-in list of major cities to avoid false positives on words like September or Python. A small list of neighborhood suffixes (Mitte, Altona, Nord, Süd, Schwabing, ...) extends a listed city to a two-token form where appropriate; anything else stays a single-token match so Berlin Office redacts as Berlin, not the whole phrase.
What it does not handle
It does not try to detect bare names, pronouns, or inferred gender. It does not parse free-form street addresses: only labeled addresses (Adresse:, Anschrift:, Address:) are caught. It does not detect company names, project codenames, internal jargon, or relational clues like the new lead on the Phoenix migration, reporting to Thomas. Those are often more identifying than a name, and regex cannot catch them.
This is why manual review matters. The redacted output tells you what the tool found. It does not tell you what it missed.
How the mapping works
Each redacted value gets a stable placeholder like [person_1], [email_1], [date_2]. The same original value within one run reuses the same placeholder, so you can still see that two mentions refer to the same thing.
The mapping lists every placeholder together with its original value, one per line, with JSON-style quoting:
[person_1] = "Anna Müller"
Keep this mapping somewhere local. It reverses the redaction. Anyone with the mapping can reconstruct the original text, so treat it as sensitive.
A note on honesty
This tool is small and the rules are visible in the source. It will not catch everything, and it says so.
If you find a false positive or a miss, mail hello@honestapps.eu.
Please do not send real personal data, confidential text, or original mappings. Send a sanitized example instead.
This tool is provided as-is, without any warranty. It does not guarantee that all personal data is removed or that the resulting text is safe to share.