How it works
Every field is validated
Every field is validated
before it's ever masked.
Synonym doesn't guess at what looks sensitive. Each detector applies the same check-digit rules a bank or registry would use — a value is masked because it actually is a birth number or an IBAN, not because a pattern loosely matched.
Validation
Two gates, not one.
Masked only if it looks right and computes right. Worked example: a Slovak company ID.
try:
3×8
5×7
7×6
6×5
3×4
4×3
6×2
|
9check
The same rule the Slovak business register applies.
Passes both gates
pattern ✓ · checksum ✓
masked → <COMPANY_ID_1>
Passes gate 1, fails gate 2
pattern ✓ · checksum ✗
left alone
Fails gate 1
pattern ✗
left alone
Valid company ID — masked as <COMPANY_ID_1>
Detectors
Four levels of proof.
From strongest proof to opt-in. Names, organisations and places are read in English, Slovak and Czech. Hover a detector for its rule.
Detectors, ordered from strongest proof to opt-in. Language-model detection is rolling out to paid plans.
Checksum-verifiedevery plan
Birth numberIBANCompany IDTax ID / VAT (Tax ID / VAT ID)Bank account (CZ)Credit cardPassport
Format-verifiedevery plan
EmailPhoneBIC / SWIFTIP addressCrypto wallet
Language modelpaid plans · rolling out
Person namesOrganizationsLocations
Opt-inoff by default
Diagnosis codesInsurance IDBlood typeBlood pressure
Languages
ENEnglishJane Miller · Acme Ltd · London
SKSlovakJán Novák · Alfa s.r.o. · Košice
CZCzechPetr Dvořák · Beta a.s. · Brno
Checksum and format detectors are language-independent.
Sessions
A key, a map, a wipe.
The map lives in memory on your side, for one session, and then nowhere.
Session key
Token ↔ value map
Original text
You
held by you
in memory, encrypted
never leaves
Synonym
never
never
never
Model
never
never
tokens only
Held in memory only, never written to disk. A restart reveals nothing.
Questions about a specific detector?
Tell us what kind of data you're working with and we'll walk through exactly what gets masked and what doesn't.