Change the package and import
datafog-core), while the Python import
uses an underscore (datafog_core). The two distributions can be installed at
the same time while an application is migrated incrementally.
Update scan results
DataFog Python returns aScanResult wrapper. DataFog Core returns a list of
Finding objects directly.
codepoint_range when slicing a Python string. Use byte_range when
addressing the UTF-8 encoded input. Both ranges are zero-based and
end-exclusive.
Rule-based Core findings can have
confidence=None. Do not assume every
finding has a numeric confidence score.
Replace scan-and-redact calls
DataFog Core separates detection configuration from transformation policy.transform requires explicit findings; scan_and_transform is the convenience
operation that performs both steps.
Transformation records describe what was applied, including source and output
ranges, but intentionally omit the original matched PII.
Choose the intended transformation
Do not migrate strategy names mechanically. In particular, legacytoken and
Core tokenize have different security and reversibility semantics.
Core also adds
remove, which deletes only the exact finding span.
For a strictly non-reversible first pass, choose
redact, mask, or
remove. Core pseudonymize is keyed and one-way but intentionally linkable;
Core tokenize is reversible through the configured token provider.Remove legacy engine selection
Do not translateengine="regex", "smart", "spacy", or "gliner" into
Core configuration. DataFog Core 0.3 owns detector composition and exposes
locale as its scan setting. Detector provenance appears on each finding.
Entity names are exact and case-sensitive. The built-in Core entities are:
EMAIL, PHONE, SSN, CREDIT_CARD, IP_ADDRESS, DATE, and ZIP_CODE.
Use canonical names such as DATE and ZIP_CODE rather than legacy aliases
such as DOB or ZIP. Entity selection belongs in the transformation config,
not the scan config.
Migration checklist
- Replace the
datafogdistribution anddatafog.engineimports. - Consume the list returned by
scaninstead ofScanResult.entities. - Rename entity fields and select
codepoint_rangeorbyte_rangeexplicitly. - Replace
scan_and_redactwithscan_and_transformand a transformation envelope. - Remove legacy engine selectors and normalize entity names.
- Select a Core strategy by behavior, especially for
tokenandpseudonymize. - Stop depending on plaintext mappings or original PII in transformation records.
- Update error handling for the DataFog Core exceptions.