Detector Overview
sensored includes 129 built-in detectors across 13 domains. Each detector identifies a specific type of sensitive data and can be used with any transformation action.
All detectors
| Domain | Detector ID | Context Required | Stream Support |
|---|---|---|---|
| Contact | address | Yes | Yes |
email | No | Yes | |
phone | No | Yes | |
postal_code | No | Yes | |
| Crypto | crypto_address | No | Yes |
crypto_tx_hash | Yes | Yes | |
| Cloud Keys | aws_access_key | No | Yes |
google_api_key | No | Yes | |
slack_token | No | Yes | |
stripe_api_key | No | Yes | |
| Financial | card_data | Yes | Yes |
eu_vat | No | Yes | |
financial_reference | Yes | Yes | |
iban | No | Yes | |
investment_account | Yes | Yes | |
payment_card | No | Yes | |
payment_gateway_id | Yes | Yes | |
swift_bic | Yes | Yes | |
uk_bank_account | Yes | Yes | |
uk_sort_code | Yes | Yes | |
us_routing | Yes | Yes | |
| Healthcare | clinical_trial_id | Yes | Yes |
genetic_info | Yes | Yes | |
health_insurance_id | Yes | Yes | |
medical_code | Yes | Yes | |
medical_device_id | Yes | Yes | |
medical_record_number | Yes | Yes | |
medical_reference | Yes | Yes | |
us_dea | Yes | Yes | |
us_npi | No | Yes | |
| HR | hr_compensation | Yes | Yes |
hr_identifier | Yes | Yes | |
hr_recruitment | Yes | Yes | |
hr_screening | Yes | Yes | |
| Identity | digital_identity | Yes | Yes |
drivers_license | Yes | Yes | |
imei | No | Yes | |
imsi | Yes | Yes | |
license_plate | Yes | Yes | |
passport | Yes | Yes | |
vin | No | Yes | |
| Legal | legal_case | Yes | Yes |
legal_license | Yes | Yes | |
legal_reference | Yes | Yes | |
| National ID | ar_cuit | Yes | Yes |
ar_dni | Yes | Yes | |
au_tfn | No | Yes | |
bg_egn | Yes | Yes | |
bh_cpr | Yes | Yes | |
ca_sin | No | Yes | |
cl_rut | Yes | Yes | |
co_cedula | Yes | Yes | |
co_nit | Yes | Yes | |
cz_id | Yes | Yes | |
de_id | Yes | Yes | |
ec_cedula | Yes | Yes | |
eg_id | Yes | Yes | |
es_dni | Yes | Yes | |
fj_id | Yes | Yes | |
fr_insee | Yes | Yes | |
gh_card | Yes | Yes | |
hu_id | Yes | Yes | |
hu_tax_id | Yes | Yes | |
id_nik | Yes | Yes | |
id_npwp | Yes | Yes | |
il_id | Yes | Yes | |
it_codice_fiscale | Yes | Yes | |
jo_id | Yes | Yes | |
jp_my_number | No | Yes | |
ke_id | Yes | Yes | |
ke_kra_pin | Yes | Yes | |
kg_pin | Yes | Yes | |
kw_id | Yes | Yes | |
kz_iin | Yes | Yes | |
lb_id | Yes | Yes | |
ma_id | Yes | Yes | |
mm_nrc | Yes | Yes | |
my_ic | Yes | Yes | |
ng_bvn | Yes | Yes | |
ng_nin | Yes | Yes | |
nl_bsn | Yes | Yes | |
nz_driver_license | Yes | Yes | |
nz_ird | No | Yes | |
nz_ird_extra | Yes | Yes | |
nz_passport | Yes | Yes | |
om_id | Yes | Yes | |
pe_dni | Yes | Yes | |
pe_ruc | Yes | Yes | |
ph_umid | Yes | Yes | |
pl_pesel | Yes | Yes | |
png_id | Yes | Yes | |
qa_id | Yes | Yes | |
ro_cnp | Yes | Yes | |
rs_jmbg | Yes | Yes | |
ru_passport | Yes | Yes | |
ru_snils | Yes | Yes | |
sa_id | Yes | Yes | |
us_ssn | Yes | Yes | |
th_id | Yes | Yes | |
tj_id | Yes | Yes | |
tm_passport | Yes | Yes | |
to_id | Yes | Yes | |
tr_id | Yes | Yes | |
ua_inn | Yes | Yes | |
ua_passport | Yes | Yes | |
uae_id | Yes | Yes | |
uk_nhs | Yes | Yes | |
uk_nino | No | Yes | |
us_ein | Yes | Yes | |
us_itin | No | Yes | |
uy_cedula | Yes | Yes | |
uz_passport | Yes | Yes | |
uz_stir | Yes | Yes | |
ve_cedula | Yes | Yes | |
ve_rif | Yes | Yes | |
vn_cccd | Yes | Yes | |
ws_id | Yes | Yes | |
za_id | Yes | Yes | |
| Network | ipv4 | No | Yes |
ipv6 | No | Yes | |
mac_address | No | Yes | |
url_with_auth | No | Yes | |
| Person | person_name | No | Yes |
person_name_lite | No | Yes | |
| Tokens & Keys | generic_api_key | Yes | Yes |
github_token | No | Yes | |
jwt_token | No | Yes | |
private_key | No | Yes | |
| Logistics | tracking_number | Yes | Yes |
Context requirements
Some detectors require nearby context labels to confirm a match. For example, us_ssn looks for labels like "SSN" or "Social Security Number" near the candidate number. This reduces false positives from arbitrary 9-digit numbers.
You can discover context requirements programmatically via listDetectors() or redactor.describe(). Each returns DetectorDescription objects with an optional contextHint field containing the labels, position, and window. See LLM Steering for details.
Context-required detectors:
address— Labels: Address, Street, Ave, Boulevard, Road, etc.card_data— Labels: Card, PAN, CVV, CVC, Card Numberclinical_trial_id— Labels: NCT, Clinical Trial, Studycrypto_tx_hash— Labels: Transaction, Tx, Hash, Blockchaindigital_identity— Labels: Username, User ID, Handle, Accountdrivers_license— Labels: Driver's License, DL, License No., Driving Licencefinancial_reference— Labels: Reference, Ref, Transaction IDgeneric_api_key— Labels: API key, API secret, access token, etc.gh_card— Labels: Ghana Card, National IDhr_compensation— Labels: Salary, Bonus, Compensation, Payhr_identifier— Labels: Employee ID, Staff ID, Personnelhr_recruitment— Labels: Application, Candidate, Requisitionhr_screening— Labels: Background, Screening, Checkinvestment_account— Labels: Account, Investment, Portfoliolegal_case— Labels: Case, Docket, No., vs.legal_license— Labels: Bar, License, Attorneylegal_reference— Labels: Statute, CFR, USC, Sectionlicense_plate— Labels: License Plate, Plate, Registrationmedical_code— Labels: ICD-10, CPT, HCPCS, Diagnosis Codemedical_device_id— Labels: UDI, Device ID, Medical Devicemedical_record_number— Labels: MRN, Medical Record, Medical Record Numbermedical_reference— Labels: Reference, DOI, PubMedpassport— Labels: Passport, Passport No., Passport Numberpayment_gateway_id— Labels: Gateway, Merchant, Payment IDswift_bic— Labels: SWIFT, BIC, Bank Codeuk_bank_account— Labels: Account Number, Bank Accountuk_nhs— Labels: NHS, Health Serviceuk_sort_code— Labels: Sort Code, Bank Codeus_dea— Labels: DEA, DEA Numberus_ein— Labels: EIN, Employer ID, Tax IDus_routing— Labels: Routing, ABA, Transitus_ssn— Labels: SSN, Social Security Number, Social Security No.tracking_number— Labels: tracking, tracking number, shipment, waybill, parcel- All 56 new national ID detectors — Labels vary per country (see individual detector pages)
Detection mechanisms
Detectors use three complementary mechanisms:
- Regex candidate discovery — Pattern matching finds potential matches
- Deterministic validators — Checksums (Luhn, mod-97, mod-11, mod-23), length validation, and format rules filter out false positives
- Context rules — Nearby labels confirm or reject candidates
Overlap resolution
When matches from different detectors overlap, they form transitive overlap groups. The highest-precedence action in the group wins:
remove > redact > format-preserve > token-replace > mask
Adjacent (non-overlapping) matches remain separate groups.