Skip to content

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 ​

DomainDetector IDContext RequiredStream Support
ContactaddressYesYes
emailNoYes
phoneNoYes
postal_codeNoYes
Cryptocrypto_addressNoYes
crypto_tx_hashYesYes
Cloud Keysaws_access_keyNoYes
google_api_keyNoYes
slack_tokenNoYes
stripe_api_keyNoYes
Financialcard_dataYesYes
eu_vatNoYes
financial_referenceYesYes
ibanNoYes
investment_accountYesYes
payment_cardNoYes
payment_gateway_idYesYes
swift_bicYesYes
uk_bank_accountYesYes
uk_sort_codeYesYes
us_routingYesYes
Healthcareclinical_trial_idYesYes
genetic_infoYesYes
health_insurance_idYesYes
medical_codeYesYes
medical_device_idYesYes
medical_record_numberYesYes
medical_referenceYesYes
us_deaYesYes
us_npiNoYes
HRhr_compensationYesYes
hr_identifierYesYes
hr_recruitmentYesYes
hr_screeningYesYes
Identitydigital_identityYesYes
drivers_licenseYesYes
imeiNoYes
imsiYesYes
license_plateYesYes
passportYesYes
vinNoYes
Legallegal_caseYesYes
legal_licenseYesYes
legal_referenceYesYes
National IDar_cuitYesYes
ar_dniYesYes
au_tfnNoYes
bg_egnYesYes
bh_cprYesYes
ca_sinNoYes
cl_rutYesYes
co_cedulaYesYes
co_nitYesYes
cz_idYesYes
de_idYesYes
ec_cedulaYesYes
eg_idYesYes
es_dniYesYes
fj_idYesYes
fr_inseeYesYes
gh_cardYesYes
hu_idYesYes
hu_tax_idYesYes
id_nikYesYes
id_npwpYesYes
il_idYesYes
it_codice_fiscaleYesYes
jo_idYesYes
jp_my_numberNoYes
ke_idYesYes
ke_kra_pinYesYes
kg_pinYesYes
kw_idYesYes
kz_iinYesYes
lb_idYesYes
ma_idYesYes
mm_nrcYesYes
my_icYesYes
ng_bvnYesYes
ng_ninYesYes
nl_bsnYesYes
nz_driver_licenseYesYes
nz_irdNoYes
nz_ird_extraYesYes
nz_passportYesYes
om_idYesYes
pe_dniYesYes
pe_rucYesYes
ph_umidYesYes
pl_peselYesYes
png_idYesYes
qa_idYesYes
ro_cnpYesYes
rs_jmbgYesYes
ru_passportYesYes
ru_snilsYesYes
sa_idYesYes
us_ssnYesYes
th_idYesYes
tj_idYesYes
tm_passportYesYes
to_idYesYes
tr_idYesYes
ua_innYesYes
ua_passportYesYes
uae_idYesYes
uk_nhsYesYes
uk_ninoNoYes
us_einYesYes
us_itinNoYes
uy_cedulaYesYes
uz_passportYesYes
uz_stirYesYes
ve_cedulaYesYes
ve_rifYesYes
vn_cccdYesYes
ws_idYesYes
za_idYesYes
Networkipv4NoYes
ipv6NoYes
mac_addressNoYes
url_with_authNoYes
Personperson_nameNoYes
person_name_liteNoYes
Tokens & Keysgeneric_api_keyYesYes
github_tokenNoYes
jwt_tokenNoYes
private_keyNoYes
Logisticstracking_numberYesYes

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 Number
  • clinical_trial_id — Labels: NCT, Clinical Trial, Study
  • crypto_tx_hash — Labels: Transaction, Tx, Hash, Blockchain
  • digital_identity — Labels: Username, User ID, Handle, Account
  • drivers_license — Labels: Driver's License, DL, License No., Driving Licence
  • financial_reference — Labels: Reference, Ref, Transaction ID
  • generic_api_key — Labels: API key, API secret, access token, etc.
  • gh_card — Labels: Ghana Card, National ID
  • hr_compensation — Labels: Salary, Bonus, Compensation, Pay
  • hr_identifier — Labels: Employee ID, Staff ID, Personnel
  • hr_recruitment — Labels: Application, Candidate, Requisition
  • hr_screening — Labels: Background, Screening, Check
  • investment_account — Labels: Account, Investment, Portfolio
  • legal_case — Labels: Case, Docket, No., vs.
  • legal_license — Labels: Bar, License, Attorney
  • legal_reference — Labels: Statute, CFR, USC, Section
  • license_plate — Labels: License Plate, Plate, Registration
  • medical_code — Labels: ICD-10, CPT, HCPCS, Diagnosis Code
  • medical_device_id — Labels: UDI, Device ID, Medical Device
  • medical_record_number — Labels: MRN, Medical Record, Medical Record Number
  • medical_reference — Labels: Reference, DOI, PubMed
  • passport — Labels: Passport, Passport No., Passport Number
  • payment_gateway_id — Labels: Gateway, Merchant, Payment ID
  • swift_bic — Labels: SWIFT, BIC, Bank Code
  • uk_bank_account — Labels: Account Number, Bank Account
  • uk_nhs — Labels: NHS, Health Service
  • uk_sort_code — Labels: Sort Code, Bank Code
  • us_dea — Labels: DEA, DEA Number
  • us_ein — Labels: EIN, Employer ID, Tax ID
  • us_routing — Labels: Routing, ABA, Transit
  • us_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:

  1. Regex candidate discovery — Pattern matching finds potential matches
  2. Deterministic validators — Checksums (Luhn, mod-97, mod-11, mod-23), length validation, and format rules filter out false positives
  3. 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.

Released under the MIT License.