Detection · Redaction strategies
slim.io gives you precise control over what happens to each entity after detection. Choose the right strategy per entity type, per policy.
Overview
Each strategy transforms a detected value into a safe representation. The right choice depends on who sees the output and whether the original ever needs to be recovered.
| Strategy | Output example | Reversible | Use when |
|---|---|---|---|
| mask | ***-**-**** |
No | Displaying to UI, logs |
| format-preserve | 7891 2345 6789 0123 |
Yes (vault) | Format-sensitive systems, test data |
| category | [SSN] |
No | LLM prompts, training data |
| partial | ***-**-1120 |
No | Support agents need last-4 |
| tokenize | [SSN_a3f2] |
Yes (vault) | Reversible workflows, detokenization |
Strategies
Every strategy is applied after detection. slim.io supports mixed-strategy policies: mask credit cards, tokenize SSNs, and label entity types for LLMs within the same pipeline.
Replaces the detected value with a format-aware pattern of asterisks. Credit cards preserve their last four digits; SSNs, emails, and phone numbers each follow their own masking shape.
Replaces the detected value with a different value in the exact same format. A 16-digit credit card becomes a different valid-looking 16-digit number. The mapping is stored in slim.io's vault and is recoverable by authorized services. Uses FF3-1 format-preserving encryption.
Substitutes the detected value with its entity type label in bracket notation. The result is human-readable and safe for language models. The type is preserved; the value is gone.
[SSN]
[EMAIL]
[CREDIT_CARD]
[MRN]
[ICD10]
[PERSON_NAME]
[API_KEY]
[PHONE]
Masks most of the value while preserving a recognizable trailing segment. For most numeric identifiers this is the last four characters; for email addresses, the domain is retained.
Generates a short, opaque token that maps back to the original value in slim.io's encrypted vault. Authorized services can recover the original through the detokenization API. Tokens are scoped by connector, resource, or field.
Decision guide
Work through these questions in order. The first "yes" match is your recommended strategy.
Per-entity defaults
slim.io ships with opinionated defaults tuned for common compliance and operational requirements. All defaults can be overridden per connector or per field in your policy configuration.
| Entity | Default strategy | Rationale |
|---|---|---|
| SSN / SIN | tokenize | Reversible for billing and identity verification workflows |
| Credit Card | mask (last 4) | PCI-DSS requires last-four preservation for user-facing display |
| category LLM · partial UI | Models need the label; support agents need the domain. Use category for LLM prompts, partial for display. | |
| Phone | mask | Low need for recovery; masking satisfies most display and logging requirements |
| MRN | tokenize | Clinical workflows (scheduling, billing, EHR) require detokenization |
| ICD-10 | category | Diagnosis codes are safe for LLMs as labels; low need for reversibility |
| Person Name | category | NER output; language models do not need real names in prompt context |
| API Key | format-preserve | Format-sensitive audit systems; the token looks like a real key but maps to the original in vault |
| IP Address | mask | Rarely needs recovery; masking satisfies most logging and GDPR requirements |