Emil detects and masks personal data in both prompts and responses — so your team and your AI product can work with real documents without exposing the people in them.
Real documents are full of names, SSNs, and account numbers your AI doesn't need to see.
Once PII is in an AI provider's logs, it's a reportable exposure.
Manual redaction is slow, error-prone, and nobody does it consistently.
What Emil redacts
Social Security Numbers, with or without dashes
Credit card numbers (Luhn-validated) and bank account / routing numbers
Emails, phone numbers, and postal addresses
IP addresses and other identifiers
How redaction works
Each detected span is replaced with a [REDACTED] tag in place
The cleaned text is what reaches the AI — the original never leaves
Runs deterministically in sub-millisecond time, no network needed
Questions
Is the redaction reversible?
No. Emil replaces the detected span with a tag before the text leaves; the original sensitive value is never transmitted or stored, so there's nothing to reverse on the AI provider's side.
What PII types are supported?
SSNs (dashed or not), credit cards (Luhn-checked), bank account and routing numbers, emails, phone numbers, addresses, IPs, plus custom patterns you define.
Will it over-redact normal text?
Detectors are validated (e.g. Luhn for cards, structural rules for SSNs) to keep false positives low. In the warn-only browser extension the bar is intentionally cautious; the auto-redacting server path is tuned to be precise.
Does it redact the AI's response too?
Yes. When Emil fronts your AI product, it screens the model's output and redacts PII before the response reaches your user.