National ID Detectors
us_ssn
Detects US Social Security Numbers (9-digit compact or 3-2-4 hyphenated format). Requires nearby context labels to reduce false positives.
Structural exclusions: area numbers 000, 666, 900–999; group numbers 00; serial numbers 0000.
const redactor = createRedactor({
rules: { us_ssn: { action: "redact" } },
});
redactor.redact("SSN: 123-45-6789");
// "SSN: [US_SSN_1]"- ID:
us_ssn - Entity type:
us_ssn - Context required: Yes (labels: SSN, Social Security Number, Social Security No.)
- Stream supported: Yes
- Validation: Structural exclusions, context label qualification
uk_nino
Detects UK National Insurance Numbers (2 prefix letters, 6 digits, 1 suffix letter in compact or spaced format).
Validates prefix (excludes D/F/I/Q/U/V in first position, O in second) and suffix (A–D, F, J, H, M, N, P, R, S, T, W, X, Y, Z).
const redactor = createRedactor({
rules: { uk_nino: { action: "redact" } },
});
redactor.redact("NINO: AB123456C");
// "NINO: [UK_NINO_1]"- ID:
uk_nino - Entity type:
uk_nino - Context required: No
- Stream supported: Yes
- Validation: Prefix/suffix letter validation
ca_sin
Detects Canadian Social Insurance Numbers (9 digits, compact or hyphenated format) with Luhn checksum validation.
const redactor = createRedactor({
rules: { ca_sin: { action: "redact" } },
});
redactor.redact("SIN: 123-456-789");
// "SIN: [CA_SIN_1]"- ID:
ca_sin - Entity type:
ca_sin - Context required: No
- Stream supported: Yes
- Validation: Luhn checksum
au_tfn
Detects Australian Tax File Numbers (8–9 digits, compact or spaced format) with weighted sum mod 11 validation (weights: 1, 4, 3, 7, 5, 8, 6, 9, 10).
const redactor = createRedactor({
rules: { au_tfn: { action: "redact" } },
});
redactor.redact("TFN: 123 456 789");
// "TFN: [AU_TFN_1]"- ID:
au_tfn - Entity type:
au_tfn - Context required: No
- Stream supported: Yes
- Validation: Weighted sum mod 11
jp_my_number
Detects Japanese My Number (12 digits, compact or spaced format) with weighted sum mod 11 validation (weights: 6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 for first 11 digits; 12th is the check digit).
const redactor = createRedactor({
rules: { jp_my_number: { action: "redact" } },
});
redactor.redact("My Number: 1234 5678 9012");
// "My Number: [JP_MY_NUMBER_1]"- ID:
jp_my_number - Entity type:
jp_my_number - Context required: No
- Stream supported: Yes
- Validation: Weighted sum mod 11
uk_nhs
Detects UK NHS numbers (10 digits with mod-11 checksum validation).
const redactor = createRedactor({
rules: { uk_nhs: { action: "redact" } },
});
redactor.redact("NHS: 1234567890");
// "NHS: [UK_NHS_1]"- ID:
uk_nhs - Entity type:
uk_nhs - Context required: Yes (labels: NHS, National Health Service)
- Stream supported: Yes
- Validation: Mod-11 checksum
us_itin
Detects US Individual Taxpayer Identification Numbers (9XX-7X-XXXX or 9XX-8X-XXXX format) with Luhn validation.
const redactor = createRedactor({
rules: { us_itin: { action: "redact" } },
});
redactor.redact("ITIN: 912-70-1234");
// "ITIN: [US_ITIN_1]"- ID:
us_itin - Entity type:
us_itin - Context required: No
- Stream supported: Yes
- Validation: Luhn checksum, format (9XX-7X or 9XX-8X prefix)
us_ein
Detects US Employer Identification Numbers (XX-XXXXXXX format).
const redactor = createRedactor({
rules: { us_ein: { action: "redact" } },
});
redactor.redact("EIN: 12-3456789");
// "EIN: [US_EIN_1]"- ID:
us_ein - Entity type:
us_ein - Context required: Yes (labels: EIN, Employer ID, Tax ID)
- Stream supported: Yes
- Validation: Format (XX-XXXXXXX)
nz_ird
Detects New Zealand Inland Revenue Department numbers (8–9 digits with mod-11 weighted sum validation).
const redactor = createRedactor({
rules: { nz_ird: { action: "redact" } },
});
redactor.redact("IRD: 123456789");
// "IRD: [NZ_IRD_1]"- ID:
nz_ird - Entity type:
nz_ird - Context required: No
- Stream supported: Yes
- Validation: Weighted sum mod 11
de_id
Detects German national identity card numbers (Personalausweis). Requires nearby context labels.
const redactor = createRedactor({
rules: { de_id: { action: "redact" } },
});
redactor.redact("Personalausweis: L01X00T47");
// "Personalausweis: [DE_ID_1]"- ID:
de_id - Entity type:
de_id - Context required: Yes (labels: Personalausweis, German ID, National ID, Identity Card, Ausweis)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: Length (10 or 11 chars)
fr_insee
Detects French INSEE / NIR numbers (15-digit social security identifiers). Requires nearby context labels.
const redactor = createRedactor({
rules: { fr_insee: { action: "redact" } },
});
redactor.redact("INSEE: 1234567890123 45");
// "INSEE: [FR_INSEE_1]"- ID:
fr_insee - Entity type:
fr_insee - Context required: Yes (labels: INSEE, NIR, Numéro de Sécurité Sociale, Social Security Number, Numéro INSEE)
- Stream supported: Yes (maxMatchLength: 15)
- Validation: Mod-97 checksum
it_codice_fiscale
Detects Italian Codice Fiscale (tax code) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { it_codice_fiscale: { action: "redact" } },
});
redactor.redact("Codice Fiscale: RSSMRA85M01H501Z");
// "Codice Fiscale: [IT_CODICE_FISCALE_1]"- ID:
it_codice_fiscale - Entity type:
it_codice_fiscale - Context required: Yes (labels: Codice Fiscale, Fiscal Code, Tax Code, Italian ID)
- Stream supported: Yes (maxMatchLength: 16)
- Validation: Italian Codice Fiscale checksum (odd/even character value lookup, control character)
es_dni
Detects Spanish DNI (Documento Nacional de Identidad) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { es_dni: { action: "redact" } },
});
redactor.redact("DNI: 12345678Z");
// "DNI: [ES_DNI_1]"- ID:
es_dni - Entity type:
es_dni - Context required: Yes (labels: DNI, Documento Nacional de Identidad, Spanish ID, National ID)
- Stream supported: Yes (maxMatchLength: 9)
- Validation: Control letter using mod-23 lookup table (TRWAGMYFPDXBNJZSQVHLCKE)
nl_bsn
Detects Dutch BSN (Burgerservicenummer) citizen service numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { nl_bsn: { action: "redact" } },
});
redactor.redact("BSN: 123.456.782");
// "BSN: [NL_BSN_1]"- ID:
nl_bsn - Entity type:
nl_bsn - Context required: Yes (labels: BSN, Burgerservicenummer, Dutch ID, Citizen Service Number)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: Mod-11 checksum (weighted sum with weights 9..1)
pl_pesel
Detects Polish PESEL national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { pl_pesel: { action: "redact" } },
});
redactor.redact("PESEL: 12345678901");
// "PESEL: [PL_PESEL_1]"- ID:
pl_pesel - Entity type:
pl_pesel - Context required: Yes (labels: PESEL, Polish ID, National ID, Identity Number)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: PESEL checksum (weights [1,3,7,9,1,3,7,9,1,3,1], sum mod 10 = 0)
za_id
Detects South African national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { za_id: { action: "redact" } },
});
redactor.redact("National ID: 1234567890123");
// "National ID: [ZA_ID_1]"- ID:
za_id - Entity type:
za_id - Context required: Yes (labels: South Africa, RSA, ZA, National ID, Identity, ID Number)
- Stream supported: Yes (maxMatchLength: 13)
- Validation: 13-digit length, month field (1–12), day field (1–31)
ng_nin
Detects Nigerian National Identification Numbers (NIN). Requires nearby context labels.
const redactor = createRedactor({
rules: { ng_nin: { action: "redact" } },
});
redactor.redact("NIN: 12345678901");
// "NIN: [NG_NIN_1]"- ID:
ng_nin - Entity type:
ng_nin - Context required: Yes (labels: Nigeria, NIN, National ID, Identity, Nigerian)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: 11-digit format
ng_bvn
Detects Nigerian Bank Verification Numbers (BVN). Requires nearby context labels.
const redactor = createRedactor({
rules: { ng_bvn: { action: "redact" } },
});
redactor.redact("BVN: 12345678901");
// "BVN: [NG_BVN_1]"- ID:
ng_bvn - Entity type:
ng_bvn - Context required: Yes (labels: BVN, Bank Verification, Nigeria, Nigerian, Banking)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: 11-digit format
ke_id
Detects Kenyan national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ke_id: { action: "redact" } },
});
redactor.redact("National ID: 12345678");
// "National ID: [KE_ID_1]"- ID:
ke_id - Entity type:
ke_id - Context required: Yes (labels: Kenya, Kenyan, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: 7–8 digit format
ke_kra_pin
Detects Kenyan KRA PIN (taxpayer identification) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ke_kra_pin: { action: "redact" } },
});
redactor.redact("KRA PIN: A123456789B");
// "KRA PIN: [KE_KRA_PIN_1]"- ID:
ke_kra_pin - Entity type:
ke_kra_pin - Context required: Yes (labels: KRA, Kenya, Revenue, Authority, Tax, PIN, Taxpayer)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: Format (A + 9 digits + letter)
eg_id
Detects Egyptian national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { eg_id: { action: "redact" } },
});
redactor.redact("National ID: 12345678901234");
// "National ID: [EG_ID_1]"- ID:
eg_id - Entity type:
eg_id - Context required: Yes (labels: Egypt, Egyptian, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 14)
- Validation: 14-digit length, month field (1–12), day field (1–31)
gh_card
Detects Ghana Card national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { gh_card: { action: "redact" } },
});
redactor.redact("Ghana Card: GHA-123456789-0");
// "Ghana Card: [GH_CARD_1]"- ID:
gh_card - Entity type:
gh_card - Context required: Yes (labels: Ghana, Ghanaian, Ghana Card, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 15)
- Validation: Format (GHA + 9 digits + check digit)
ma_id
Detects Moroccan national ID numbers (CNIE). Requires nearby context labels.
const redactor = createRedactor({
rules: { ma_id: { action: "redact" } },
});
redactor.redact("CNIE: AB123456");
// "CNIE: [MA_ID_1]"- ID:
ma_id - Entity type:
ma_id - Context required: Yes (labels: Morocco, Moroccan, CNIE, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: Format (1–2 letters + 6–8 digits, or 8 digits)
kz_iin
Detects Kazakhstani Individual Identification Numbers (IIN). Requires nearby context labels.
const redactor = createRedactor({
rules: { kz_iin: { action: "redact" } },
});
redactor.redact("IIN: 123456789012");
// "IIN: [KZ_IIN_1]"- ID:
kz_iin - Entity type:
kz_iin - Context required: Yes (labels: Kazakhstan, Kazakh, IIN, Individual Identification, ЖСН)
- Stream supported: Yes (maxMatchLength: 12)
- Validation: 12-digit length, month field (1–12), day field (1–31)
uz_passport
Detects Uzbekistan passport numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { uz_passport: { action: "redact" } },
});
redactor.redact("Passport: AB1234567");
// "Passport: [UZ_PASSPORT_1]"- ID:
uz_passport - Entity type:
uz_passport - Context required: Yes (labels: Uzbek, Uzbekistan, Passport, Pasport)
- Stream supported: Yes (maxMatchLength: 9)
- Validation: Format (2 letters + 7 digits)
uz_stir
Detects Uzbekistan STIR (tax identification) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { uz_stir: { action: "redact" } },
});
redactor.redact("STIR: 123456789");
// "STIR: [UZ_STIR_1]"- ID:
uz_stir - Entity type:
uz_stir - Context required: Yes (labels: Uzbek, Uzbekistan, STIR, Tax, INN, Soliq)
- Stream supported: Yes (maxMatchLength: 9)
- Validation: 9-digit format
kg_pin
Detects Kyrgyzstani Personal Identification Numbers (PIN). Requires nearby context labels.
const redactor = createRedactor({
rules: { kg_pin: { action: "redact" } },
});
redactor.redact("PIN: 12345678901234");
// "PIN: [KG_PIN_1]"- ID:
kg_pin - Entity type:
kg_pin - Context required: Yes (labels: Kyrgyz, Kyrgyzstan, PIN, Personal ID, Личный, Номер)
- Stream supported: Yes (maxMatchLength: 14)
- Validation: 14-digit format
tj_id
Detects Tajikistan national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { tj_id: { action: "redact" } },
});
redactor.redact("National ID: 123456789");
// "National ID: [TJ_ID_1]"- ID:
tj_id - Entity type:
tj_id - Context required: Yes (labels: Tajik, Tajikistan, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 9–10 digit format
tm_passport
Detects Turkmenistan passport numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { tm_passport: { action: "redact" } },
});
redactor.redact("Passport: A1234567");
// "Passport: [TM_PASSPORT_1]"- ID:
tm_passport - Entity type:
tm_passport - Context required: Yes (labels: Turkmen, Turkmenistan, Passport, Pasport)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: Format (1 letter + 7 digits)
ru_passport
Detects Russian passport numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ru_passport: { action: "redact" } },
});
redactor.redact("Passport: 1234 567890");
// "Passport: [RU_PASSPORT_1]"- ID:
ru_passport - Entity type:
ru_passport - Context required: Yes (labels: Russia, Russian, Passport, Паспорт, Российский)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: Format (4 digits + 6 digits)
ru_snils
Detects Russian SNILS (pension insurance) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ru_snils: { action: "redact" } },
});
redactor.redact("SNILS: 123-456-789 00");
// "SNILS: [RU_SNILS_1]"- ID:
ru_snils - Entity type:
ru_snils - Context required: Yes (labels: Russia, Russian, SNILS, СНИЛС, Pension, Пенсионный)
- Stream supported: Yes (maxMatchLength: 14)
- Validation: Format (3-3-3 2 digit groups)
ua_passport
Detects Ukrainian passport numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ua_passport: { action: "redact" } },
});
redactor.redact("Passport: AB123456");
// "Passport: [UA_PASSPORT_1]"- ID:
ua_passport - Entity type:
ua_passport - Context required: Yes (labels: Ukrainian, Passport, Паспорт, Український)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: Format (2 letters + 6 digits)
ua_inn
Detects Ukrainian INN (tax identification) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ua_inn: { action: "redact" } },
});
redactor.redact("INN: 1234567890");
// "INN: [UA_INN_1]"- ID:
ua_inn - Entity type:
ua_inn - Context required: Yes (labels: Ukrainian, INN, Tax, Податковий, ІНН)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 10-digit format
cz_id
Detects Czech national ID numbers (Rodné číslo). Requires nearby context labels.
const redactor = createRedactor({
rules: { cz_id: { action: "redact" } },
});
redactor.redact("Rodné číslo: 123456/7890");
// "Rodné číslo: [CZ_ID_1]"- ID:
cz_id - Entity type:
cz_id - Context required: Yes (labels: Czech, Czechia, Republic, Rodné, Číslo, National ID)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: 10-digit length, month field (1–12 or 51–62), day field (1–31)
ro_cnp
Detects Romanian CNP (Cod Numeric Personal) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ro_cnp: { action: "redact" } },
});
redactor.redact("CNP: 1234567890123");
// "CNP: [RO_CNP_1]"- ID:
ro_cnp - Entity type:
ro_cnp - Context required: Yes (labels: Romania, Romanian, CNP, Cod Numeric, Personal)
- Stream supported: Yes (maxMatchLength: 13)
- Validation: 13-digit length, first digit (1–9), month field (1–12), day field (1–31)
hu_id
Detects Hungarian national ID numbers (Személyi igazolvány). Requires nearby context labels.
const redactor = createRedactor({
rules: { hu_id: { action: "redact" } },
});
redactor.redact("Személyi: 123456AB");
// "Személyi: [HU_ID_1]"- ID:
hu_id - Entity type:
hu_id - Context required: Yes (labels: Hungarian, Magyar, Személyi, Igazolvány, Personal ID)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: Format (6 digits + 2 letters)
hu_tax_id
Detects Hungarian tax identification numbers (Adóazonosító). Requires nearby context labels.
const redactor = createRedactor({
rules: { hu_tax_id: { action: "redact" } },
});
redactor.redact("Adó: 1234567890");
// "Adó: [HU_TAX_ID_1]"- ID:
hu_tax_id - Entity type:
hu_tax_id - Context required: Yes (labels: Hungarian, Magyar, Adó, Tax, Adóazonosító)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 10-digit format
bg_egn
Detects Bulgarian EGN (Personal Number) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { bg_egn: { action: "redact" } },
});
redactor.redact("EGN: 1234567890");
// "EGN: [BG_EGN_1]"- ID:
bg_egn - Entity type:
bg_egn - Context required: Yes (labels: Bulgaria, Bulgarian, EGN, Personal Number, Единен)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 10-digit length, month field (1–12, 21–32, or 41–52), day field (1–31)
rs_jmbg
Detects Serbian JMBG (Unique Master Citizen Number) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { rs_jmbg: { action: "redact" } },
});
redactor.redact("JMBG: 1234567890123");
// "JMBG: [RS_JMBG_1]"- ID:
rs_jmbg - Entity type:
rs_jmbg - Context required: Yes (labels: Serbian, Serbia, JMBG, Jedinstveni, Matični, Personal)
- Stream supported: Yes (maxMatchLength: 13)
- Validation: 13-digit length, day field (1–31), month field (1–12)
ar_dni
Detects Argentine DNI numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ar_dni: { action: "redact" } },
});
redactor.redact("DNI: 12345678");
// "DNI: [AR_DNI_1]"- ID:
ar_dni - Entity type:
ar_dni - Context required: Yes (labels: Argentina, Argentin, DNI, Documento Nacional, Identidad)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: 7–8 digit format
ar_cuit
Detects Argentine CUIT/CUIL tax identification numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ar_cuit: { action: "redact" } },
});
redactor.redact("CUIT: 20-12345678-3");
// "CUIT: [AR_CUIT_1]"- ID:
ar_cuit - Entity type:
ar_cuit - Context required: Yes (labels: Argentina, CUIT, CUIL, Tax, Impuesto, Tributario)
- Stream supported: Yes (maxMatchLength: 13)
- Validation: Format (2 digits + 8 digits + check digit)
cl_rut
Detects Chilean RUT (Rol Único Tributario) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { cl_rut: { action: "redact" } },
});
redactor.redact("RUT: 12.345.678-K");
// "RUT: [CL_RUT_1]"- ID:
cl_rut - Entity type:
cl_rut - Context required: Yes (labels: Chile, Chilean, RUT, Rol Único, Tributario, Cédula)
- Stream supported: Yes (maxMatchLength: 12)
- Validation: Chilean RUT checksum (mod-11, check digit 0–9 or K)
co_cedula
Detects Colombian Cédula de Ciudadanía numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { co_cedula: { action: "redact" } },
});
redactor.redact("Cédula: 1234567890");
// "Cédula: [CO_CEDULA_1]"- ID:
co_cedula - Entity type:
co_cedula - Context required: Yes (labels: Colombia, Colombian, Cédula, Cedula, Ciudadanía, CC)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 6–10 digit format
co_nit
Detects Colombian NIT (tax identification) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { co_nit: { action: "redact" } },
});
redactor.redact("NIT: 123456789-0");
// "NIT: [CO_NIT_1]"- ID:
co_nit - Entity type:
co_nit - Context required: Yes (labels: Colombia, NIT, Tax, Impuesto, Tributario, Empresa)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: Format (9 digits + check digit)
pe_dni
Detects Peruvian DNI numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { pe_dni: { action: "redact" } },
});
redactor.redact("DNI: 12345678");
// "DNI: [PE_DNI_1]"- ID:
pe_dni - Entity type:
pe_dni - Context required: Yes (labels: Peru, Peruvian, Perú, Peruano, DNI, Documento Nacional, Identidad, RENIEC)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: 8-digit format
pe_ruc
Detects Peruvian RUC (tax identification) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { pe_ruc: { action: "redact" } },
});
redactor.redact("RUC: 12345678901");
// "RUC: [PE_RUC_1]"- ID:
pe_ruc - Entity type:
pe_ruc - Context required: Yes (labels: Peru, Perú, RUC, Tax, SUNAT, Tributario)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: 11-digit format, prefix must be 10, 15, 17, or 20
ve_cedula
Detects Venezuelan Cédula de Identidad numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ve_cedula: { action: "redact" } },
});
redactor.redact("Cédula: V-12345678");
// "Cédula: [VE_CEDULA_1]"- ID:
ve_cedula - Entity type:
ve_cedula - Context required: Yes (labels: Venezuela, Venezuelan, Cédula, Cedula, Identidad, CI)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: Format (V/E prefix + 1–8 digits)
ve_rif
Detects Venezuelan RIF (tax identification) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ve_rif: { action: "redact" } },
});
redactor.redact("RIF: J-12345678-9");
// "RIF: [VE_RIF_1]"- ID:
ve_rif - Entity type:
ve_rif - Context required: Yes (labels: Venezuela, RIF, Tax, SENIAT, Tributario)
- Stream supported: Yes (maxMatchLength: 13)
- Validation: Format (V/E/J/G prefix + 8–9 digits + check digit)
ec_cedula
Detects Ecuadorian Cédula de Identidad numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ec_cedula: { action: "redact" } },
});
redactor.redact("Cédula: 1234567890");
// "Cédula: [EC_CEDULA_1]"- ID:
ec_cedula - Entity type:
ec_cedula - Context required: Yes (labels: Ecuador, Ecuadorian, Cédula, Cedula, Identidad)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 10-digit format, province code (1–24), third digit (≤6 or =9)
uy_cedula
Detects Uruguayan Cédula de Identidad numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { uy_cedula: { action: "redact" } },
});
redactor.redact("Cédula: 1.234.567-8");
// "Cédula: [UY_CEDULA_1]"- ID:
uy_cedula - Entity type:
uy_cedula - Context required: Yes (labels: Uruguay, Uruguayan, Cédula, Cedula, Identidad)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: Format (1 digit + 3 digits + 3 digits + check digit)
uae_id
Detects UAE Emirates ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { uae_id: { action: "redact" } },
});
redactor.redact("Emirates ID: 784-1234-5678901-2");
// "Emirates ID: [UAE_ID_1]"- ID:
uae_id - Entity type:
uae_id - Context required: Yes (labels: UAE, Emirates, Dubai, Abu Dhabi, National ID, Emirates ID)
- Stream supported: Yes (maxMatchLength: 18)
- Validation: Format (784 prefix + 12 digits + check digit)
sa_id
Detects Saudi Arabian national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { sa_id: { action: "redact" } },
});
redactor.redact("National ID: 1234567890");
// "National ID: [SA_ID_1]"- ID:
sa_id - Entity type:
sa_id - Context required: Yes (labels: Saudi, KSA, Kingdom, Iqama, National ID, Muqeem)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: Format (1 or 2 prefix + 9 digits)
il_id
Detects Israeli national ID numbers (Teudat Zehut). Requires nearby context labels.
const redactor = createRedactor({
rules: { il_id: { action: "redact" } },
});
redactor.redact("Teudat Zehut: 123456789");
// "Teudat Zehut: [IL_ID_1]"- ID:
il_id - Entity type:
il_id - Context required: Yes (labels: Israel, Teudat, Zehut, Israeli, National ID)
- Stream supported: Yes (maxMatchLength: 9)
- Validation: 9-digit format
tr_id
Detects Turkish national ID numbers (TC Kimlik). Requires nearby context labels.
const redactor = createRedactor({
rules: { tr_id: { action: "redact" } },
});
redactor.redact("TC Kimlik: 12345678901");
// "TC Kimlik: [TR_ID_1]"- ID:
tr_id - Entity type:
tr_id - Context required: Yes (labels: Turkey, Turkish, TC, Kimlik, National ID)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: 11-digit format (first digit 1–9)
qa_id
Detects Qatari national ID numbers (QID). Requires nearby context labels.
const redactor = createRedactor({
rules: { qa_id: { action: "redact" } },
});
redactor.redact("QID: 12345678901");
// "QID: [QA_ID_1]"- ID:
qa_id - Entity type:
qa_id - Context required: Yes (labels: Qatar, QID, Doha, National ID, Resident Permit)
- Stream supported: Yes (maxMatchLength: 11)
- Validation: 11-digit format
kw_id
Detects Kuwaiti Civil ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { kw_id: { action: "redact" } },
});
redactor.redact("Civil ID: 123456789012");
// "Civil ID: [KW_ID_1]"- ID:
kw_id - Entity type:
kw_id - Context required: Yes (labels: Kuwait, Civil ID, National ID)
- Stream supported: Yes (maxMatchLength: 12)
- Validation: 12-digit length, month field (1–12), day field (1–31)
bh_cpr
Detects Bahraini CPR (Central Population Registry) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { bh_cpr: { action: "redact" } },
});
redactor.redact("CPR: 123456789");
// "CPR: [BH_CPR_1]"- ID:
bh_cpr - Entity type:
bh_cpr - Context required: Yes (labels: Bahrain, CPR, Central Population, National ID)
- Stream supported: Yes (maxMatchLength: 9)
- Validation: 9-digit length, month field (1–12), day field (1–31)
om_id
Detects Omani national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { om_id: { action: "redact" } },
});
redactor.redact("Civil ID: 12345678");
// "Civil ID: [OM_ID_1]"- ID:
om_id - Entity type:
om_id - Context required: Yes (labels: Oman, Muscat, Civil ID, National ID)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: 8-digit format
jo_id
Detects Jordanian national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { jo_id: { action: "redact" } },
});
redactor.redact("National ID: 1234567890");
// "National ID: [JO_ID_1]"- ID:
jo_id - Entity type:
jo_id - Context required: Yes (labels: Jordan, Amman, National ID, Jordanian)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 10-digit format
lb_id
Detects Lebanese national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { lb_id: { action: "redact" } },
});
redactor.redact("National ID: 12345678");
// "National ID: [LB_ID_1]"- ID:
lb_id - Entity type:
lb_id - Context required: Yes (labels: Lebanon, Lebanese, Beirut, National ID)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: 7–8 digit format
nz_driver_license
Detects New Zealand driver license numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { nz_driver_license: { action: "redact" } },
});
redactor.redact("Driver License: AB123456");
// "Driver License: [NZ_DRIVER_LICENSE_1]"- ID:
nz_driver_license - Entity type:
nz_driver_license - Context required: Yes (labels: New Zealand, NZ, Kiwi, Driver License, Driver Licence, Driver, License, Licence)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: Format (2 letters + 6 digits)
nz_passport
Detects New Zealand passport numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { nz_passport: { action: "redact" } },
});
redactor.redact("Passport: AB123456");
// "Passport: [NZ_PASSPORT_1]"- ID:
nz_passport - Entity type:
nz_passport - Context required: Yes (labels: New Zealand, NZ, Passport, Travel Document)
- Stream supported: Yes (maxMatchLength: 8)
- Validation: Format (2 letters + 6 digits)
fj_id
Detects Fijian national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { fj_id: { action: "redact" } },
});
redactor.redact("National ID: ABC12345");
// "National ID: [FJ_ID_1]"- ID:
fj_id - Entity type:
fj_id - Context required: Yes (labels: Fiji, Fijian, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 8–10 alphanumeric character format
png_id
Detects Papua New Guinean national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { png_id: { action: "redact" } },
});
redactor.redact("National ID: ABC123456789");
// "National ID: [PNG_ID_1]"- ID:
png_id - Entity type:
png_id - Context required: Yes (labels: Papua New Guinea, Papua, New Guinea, National ID)
- Stream supported: Yes (maxMatchLength: 12)
- Validation: 8–12 alphanumeric character format
ws_id
Detects Samoan national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ws_id: { action: "redact" } },
});
redactor.redact("National ID: 1234567890");
// "National ID: [WS_ID_1]"- ID:
ws_id - Entity type:
ws_id - Context required: Yes (labels: Samoa, Samoan, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 8–10 digit format
to_id
Detects Tongan national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { to_id: { action: "redact" } },
});
redactor.redact("National ID: ABC12345");
// "National ID: [TO_ID_1]"- ID:
to_id - Entity type:
to_id - Context required: Yes (labels: Tonga, Tongan, National ID, Identity)
- Stream supported: Yes (maxMatchLength: 10)
- Validation: 8–10 alphanumeric character format
nz_ird_extra
Detects additional New Zealand IRD number formats. Requires nearby context labels.
const redactor = createRedactor({
rules: { nz_ird_extra: { action: "redact" } },
});
redactor.redact("IRD: 123456789");
// "IRD: [NZ_IRD_EXTRA_1]"- ID:
nz_ird_extra - Entity type:
nz_ird_extra - Context required: Yes (labels: New Zealand, NZ, IRD, Tax, Inland Revenue)
- Stream supported: Yes (maxMatchLength: 9)
- Validation: 8–9 digit format
id_nik
Detects Indonesian NIK (Nomor Induk Kependudukan) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { id_nik: { action: "redact" } },
});
redactor.redact("NIK: 1234567890123456");
// "NIK: [ID_NIK_1]"- ID:
id_nik - Entity type:
id_nik - Context required: Yes (labels: Indonesia, Indonesian, NIK, Nomor Induk, KTP, National ID)
- Stream supported: Yes (maxMatchLength: 16)
- Validation: 16-digit format
id_npwp
Detects Indonesian NPWP (taxpayer identification) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { id_npwp: { action: "redact" } },
});
redactor.redact("NPWP: 12.345.678.9-012.345");
// "NPWP: [ID_NPWP_1]"- ID:
id_npwp - Entity type:
id_npwp - Context required: Yes (labels: Indonesia, NPWP, Tax, Pajak, Wajib Pajak)
- Stream supported: Yes (maxMatchLength: 20)
- Validation: Format (dotted digit groups)
th_id
Detects Thai national ID numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { th_id: { action: "redact" } },
});
redactor.redact("National ID: 1234567890123");
// "National ID: [TH_ID_1]"- ID:
th_id - Entity type:
th_id - Context required: Yes (labels: Thailand, Thai, National ID, บัตร, ประชาชน)
- Stream supported: Yes (maxMatchLength: 13)
- Validation: Thai national ID checksum (weighted sum, check digit)
my_ic
Detects Malaysian IC (MyKad) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { my_ic: { action: "redact" } },
});
redactor.redact("IC Number: 123456-12-3456");
// "IC Number: [MY_IC_1]"- ID:
my_ic - Entity type:
my_ic - Context required: Yes (labels: Malaysia, Malaysian, MyKad, IC Number, Kad Pengenalan)
- Stream supported: Yes (maxMatchLength: 14)
- Validation: 12-digit length, month field (1–12), day field (1–31)
ph_umid
Detects Philippine UMID (Unified Multipurpose ID) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { ph_umid: { action: "redact" } },
});
redactor.redact("UMID: 1234-1234567-8");
// "UMID: [PH_UMID_1]"- ID:
ph_umid - Entity type:
ph_umid - Context required: Yes (labels: Philippines, Filipino, UMID, Unified, Multipurpose, National ID)
- Stream supported: Yes (maxMatchLength: 14)
- Validation: Format (4 digits + 7 digits + check digit)
vn_cccd
Detects Vietnamese CCCD (Citizen Identity) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { vn_cccd: { action: "redact" } },
});
redactor.redact("CCCD: 123456789012");
// "CCCD: [VN_CCCD_1]"- ID:
vn_cccd - Entity type:
vn_cccd - Context required: Yes (labels: Vietnam, Vietnamese, CCCD, Citizen Identity, CMND, National ID)
- Stream supported: Yes (maxMatchLength: 12)
- Validation: 12-digit format
mm_nrc
Detects Myanmar NRC (National Registration Card) numbers. Requires nearby context labels.
const redactor = createRedactor({
rules: { mm_nrc: { action: "redact" } },
});
redactor.redact("NRC: 12/Yangon(N)123456");
// "NRC: [MM_NRC_1]"- ID:
mm_nrc - Entity type:
mm_nrc - Context required: Yes (labels: Myanmar, Burmese, NRC, National Registration, Identity)
- Stream supported: Yes (maxMatchLength: 20)
- Validation: Format (division code + township + citizen type + 6 digits)