Adds identifier checksum/structural validation, optional on-device name detection, and throughput improvements for high-volume callers. Targets redaction policy schema 1.1.0 and PhiSQL 1.1.0.
- Identifier validators. Custom identifier filters can carry a validator so only structurally valid values are redacted: luhn, mod11 (CPF/CNPJ), mod97 (IBAN/NIR), mod23-letter (DNI/NIE), bic-structural,
and the national formats de-personalausweis, de-steuerid, and es-cif. - Local Ph-Eye inference. A Ph-Eye filter can run a GLiNER model on-device by setting modelPath, via the optional phileas-pheye-onnx (https://github.com/philterd/phileas-pheye-onnx) module (ONNX
Runtime). Without that module, setting modelPath fails fast with a clear, actionable error instead of falling back silently. - Throughput and concurrency. filter() is now safe to call concurrently on a shared FilterService; added a prepared-policy API (prepare(policy)) for per-row callers; post-filters are cached per policy;
the policy cache key is memoized; and large dictionaries are shared across instances to cut memory. - Ph-Eye default label. The default detection label changed from Person to name (both still map to PERSON), aligning with the ph-eye-pii-en-* models. Policies that set labels explicitly are unaffected.
See RELEASE_NOTES.md for the full list.