Skip to main content

Synchronous functions

Findings and ranges

Node.js uses camelCase fields. Findings include byteRange, codepointRange, and utf16Range. Use the UTF-16 range with native JavaScript string slicing.
Caller-supplied FindingInput objects do not require utf16Range.

Asynchronous manager

Use PrivacyManager for provider-backed pseudonymization, tokenization, and restoration:

Native distribution targets

The package build is configured for:
  • macOS x64 and Apple Silicon;
  • Linux x64 and ARM64;
  • Windows x64.

Errors

JavaScript operations throw DataFogError with stable code, optional reason, optional RFC 6901 path, and optional findingIndex properties.

Structured JSON and PERSON fields

Use discoverFields(data, config?), scanStructured(data, config?), transformStructured(data, findings, config), and scanAndTransformStructured(data, config). Scan returns { mappings, findings }; transformation returns { data, transformations }. Located findings contain path and finding; located records contain path and transformation. PrivacyManager adds asynchronous structured transform, scan-and-transform, and restore methods with the same provider and scope contracts as text calls. Paths are JSON Pointers. All ranges, including JavaScript UTF-16 ranges, address the decoded string at that path. See person-field discovery for aliases, policy configuration, input limits, and examples. German locale routing and the seven additional entity labels are documented in the German entity reference. Core 0.4.0 shares its detector registry with Rust and Python. Runtime capabilities() discovery is exposed by Rust and Python only; this binding retains its existing scan APIs. See the capability inventory and compatibility policy.

Email source context

Use the optional scan format setting ("text", "env", or "sql") to delimit emails in environment assignments or standard SQL quoted strings. See email boundaries for examples and syntax limits.