Structured PERSON support
- Discover explicit name fields such as
first_name,last_name, andfullNamewithout a model or dictionary download. - Supply concrete JSON Pointer mappings for fields that automatic discovery
leaves unresolved, such as
/customer/name. - Scan JSON string values with the original seven detectors and return each finding with its field path. Protect the findings with the existing policies.
- Use structured pseudonymization, tokenization, and restoration through Rust, Python, and Node provider integrations. Browser WASM retains its existing restriction on provider-backed operations.
scan(text) does not enable discovery.
See Discover and protect person fields.
Performance
- Index duplicate findings and resolve ordinary overlaps with ordered interval selection. Built-in findings use an O(m log m) selection path, where m is the finding count.
- Reuse lazy text indexes during validation and byte/code-point/UTF-16 range conversion, maintain running output positions, and avoid copying a whole field for every Node transformation record.
- Expose Rust’s reusable
TextIndexfor converting multiple ranges from the same string. See the Rust reference.