/Getting started

Quickstart /

Redact European PII in one function call. Choose your language and get running in 30 seconds.

code

Python

1. Install

Terminal
$ pip install euredact

2. Redact

main.py
from euredact import redact

result = redact("Mijn BSN is 111222333 en IBAN NL91ABNA0417164300.")

print(result.redacted_text)
# "Mijn BSN is [NATIONAL_ID] en IBAN [BANK_ACCOUNT]."

print(result.detections)
javascript

Node.js

1. Install

Terminal
$ npm install euredact

2. Redact

index.ts
import { redact } from "euredact";

const result = redact("Mijn BSN is 111222333 en IBAN NL91ABNA0417164300.", {
  countries: ["NL"],
});

console.log(result.redactedText);
// "Mijn BSN is [NATIONAL_ID] en IBAN [BANK_ACCOUNT]."

console.log(result.detections);

What Gets Detected

The SDKs detect 27 PII entity types across 31 European countries with 99.72% recall and 99.82% precision, backed by 346 pattern definitions and 44 checksum validators. Those figures come from a generated evaluation set of 152,300 records with the optional countries parameter supplied. Since 0.3.2 that parameter scores a detection rather than gating it: every pattern runs either way, and blind detection — no country declared — scores 99.50% recall and 99.59% precision. Date-of-birth detection is excluded and sits at 62.76% recall by design; bare dates are deferred to the AI layer.

Those 27 are the Rules Engine layer — everything with a format regular enough to match and, often, a checksum to confirm. The forthcoming AI layer adds 13 more for the categories that have no fixed shape: names, addresses, job titles, and the special-category data covered by GDPR Article 9. What euRedact detects lists all 40, what each one covers and deliberately does not, and which layer is responsible.

[NATIONAL_ID][BANK_ACCOUNT][PHONE][EMAIL][TAX_ID][CREDIT_CARD][LICENSE_PLATE][PASSPORT][VAT][BIC][VIN][IP_ADDRESS][MAC_ADDRESS][UUID][IMEI][GPS_COORDINATES][SOCIAL_HANDLE][DOB][POSTAL_CODE][HEALTHCARE_PROVIDER][HEALTH_INSURANCE]