PII Redaction vs Masking vs Tokenization
Redaction removes values, masking partially hides them, tokenization replaces them with reversible references. Compare approaches for LLM pipelines.
PII redaction, masking, and tokenization are three ways to limit exposure of sensitive values in text: redaction removes or replaces the entire value with a placeholder, masking partially hides characters while leaving some visible, and tokenization swaps the value for a reversible reference stored in a secure vault. For LLM pipelines, the choice affects model utility, re-identification risk, compliance posture, and whether downstream systems can recover the original value without bypassing your privacy boundary.
Side-by-side comparison
| Aspect | Redaction | Masking | Tokenization |
|---|---|---|---|
| Output example | [EMAIL] | u***@example.com | TOK_email_a1b2c3 |
| Reversible | No (by default) | No | Yes (via token vault) |
| LLM sees original | No | Partial | No (sees token only) |
| Re-identification risk | Lower | Medium (partial leaks) | Low if vault secured |
| Implementation complexity | Low | Low–medium | High |
| Best for LLM prompts | General default | Display in UI | Regulated workflows needing exact replay |
| Secrets (API keys) | Block preferred over redact | Not recommended | Not recommended |
| Audit trail | Finding logs | Same | Token map + access logs |
| API support (IdenticAPI) | redact: true placeholders | Custom post-processing | Custom vault layer |
IdenticAPI implements redaction via POST /api/v1/security/pii-secrets with "redact": true. Masking and tokenization are patterns you layer on top depending on requirements.
Redaction
Definition: Replace each detected sensitive substring with a neutral placeholder such as [EMAIL], [PHONE], or [CREDIT_CARD].
Example input:
Contact user@example.com or call 555-010-0200.
Redacted output:
Contact [EMAIL] or call [PHONE].
API call:
{
"text": "Contact user@example.com or call 555-010-0200.",
"redact": true
}
The response includes redacted_text alongside findings. See How to Redact PII Before Sending Data to an LLM and PII & Secrets Detection docs.
Strengths
- Simple mental model for engineering and compliance docs
- Model cannot directly read the literal
- Consistent placeholders across services when using the API
Weaknesses
- Model loses exact values—bad for "what is my email on file?" unless you use tools
- Multiple instances collapse to identical placeholders unless you extend the scheme
- Does not help if surrounding context still identifies a person
When to use: Default choice for LLM preprocessing, logging, and RAG ingestion.
Masking
Definition: Show a subset of characters while hiding others—common in UI display of card numbers (**** **** **** 1111).
Example:
user@example.com → u***@example.com
555-010-0200 → ***-***-0200
Strengths
- Users confirm they pasted the right item without exposing full value
- Familiar pattern in banking UIs
Weaknesses for LLM boundaries
- Partial emails and phone suffixes aid re-identification when combined with other context
- Models may infer or complete masked patterns unpredictably
- Inconsistent masking rules create bugs (mask too much → model confusion)
When to use: Display layers in your frontend—not the string sent to third-party LLM providers. If you must include masked values in prompts, treat as higher re-identification risk than full redaction.
Tokenization
Definition: Replace sensitive values with opaque tokens mapped to originals in a secure store (vault, encrypted database). Only authorized components detokenize.
Example flow:
Input: "Ship to user@example.com"
Store: TOK_7f3a → user@example.com (encrypted)
Prompt: "Ship to TOK_7f3a"
LLM responds with shipping policy; fulfillment service detokenizes to send email
Strengths
- LLM never sees literal PII
- Authorized backend workflows recover exact values
- Supports audit (who detokenized, when)
Weaknesses
- Vault becomes critical infrastructure—compromise equals breach
- Token collision and lifecycle management add complexity
- Multi-tenant systems need strict token namespace isolation
- Higher engineering cost than API redaction
When to use: Healthcare, financial, or enterprise workflows where specific fields must flow to blessed downstream systems but not to model providers.
Choosing an approach for LLM apps
| Scenario | Recommendation |
|---|---|
| Customer support chat to external LLM | Redact via API |
| Show user their submitted email in UI | Mask in UI; redact in LLM path |
| Order fulfillment agent needs exact address | Tokenize; detokenize only in shipping tool |
| User pasted API key | Block (do not redact/mask/tokenize) |
| Analytics on "how many emails submitted" | Count findings categories; never store literals |
For secrets, read How to Prevent API Keys from Leaking into AI Prompts—redaction does not fix credential exposure.
Combining approaches
A layered design is common:
- Detect —
POST /api/v1/security/pii-secretswithredact: falsefor metrics - Redact — Second call or same call with
redact: truefor LLM path - Mask — Frontend displays masked preview of user input
- Tokenize — Backend vault for fields required by internal microservices
Keep paths separate: the string the user sees ≠ the string the model receives ≠ the string in logs.
IdenticAPI redaction placeholders
Documented placeholders include [EMAIL], [PHONE], [SSN], [CREDIT_CARD], [IBAN], [IP_ADDRESS], [API_KEY], [PRIVATE_KEY], [BEARER_TOKEN], and [CREDENTIAL]. Product page: PII & Secrets Detection. Quick tests: PII Checker.
If you build custom tokenization, map API findings offsets to vault inserts before substituting tokens—do not rely on the model to handle raw offsets.
Comparison to enterprise DLP transforms
DLP tools may offer redaction, masking, or encryption in email attachments. The semantic trade-offs mirror LLM choices but integration points differ. See PII Detection vs Data Loss Prevention.
Limitations
- Redaction does not remove semantic identity ("CEO of Acme in Austin")
- Masking can leak entropy in the visible portion
- Tokenization shifts risk to vault security and operational complexity
- None substitute for data minimization or lawful basis for processing
Detection misses obfuscated PII—any transform assumes values were found first. See What Is PII Detection? for coverage limits.
Related reading
Frequently asked questions
What is the difference between redaction and masking?
Redaction replaces the entire sensitive value with a placeholder like [EMAIL]. Masking partially hides characters (u***@example.com). For LLM boundaries, full redaction generally carries lower re-identification risk than partial masking.
When should I use tokenization instead of redaction?
Use tokenization when authorized backend systems must recover exact values but the LLM must never see literals—common in regulated workflows with a secure vault and strict detokenization audit.
Does IdenticAPI support tokenization?
The API provides detection and placeholder redaction via redact true. Tokenization requires a custom vault layer that maps findings or offsets to opaque tokens before prompt assembly.
Which approach is best for API keys in prompts?
Block the request. Do not mask, tokenize, or redact-and-forward secrets—rotate if exposure occurred.
Related reading
- How to Redact PII Before Sending Data to an LLM
Redact or mask sensitive data before it reaches an LLM. Learn preprocessing patterns, placeholder strategies, and when t…
- What Is PII Detection?
PII detection identifies personally identifiable information in text — emails, phone numbers, government IDs, and more. …
- How to Detect PII in Text with an API
Use a PII detection API to scan user input, logs, and LLM context. Request format, response fields, verdict semantics, a…
- LLM Data Leakage: Causes, Examples and Prevention
LLM data leakage happens when sensitive information enters prompts, context, logs, or model output. Understand common ca…
- How to Prevent API Keys from Leaking into AI Prompts
API keys in prompts, retrieved documents, and chat history are a common leakage path. Learn detection, redaction, and ar…