Presidio PII Detection

4 probes

Integration with Microsoft Presidio for detecting Personally Identifiable Information in dataset samples. Supports approximately 75 built-in entity types plus custom patterns defined in YAML. Includes PAN detection with Luhn checksum validation, FinServ-specific patterns (IBAN, SWIFT/BIC), and domain-specific recognisers loaded from a user-supplied YAML file.

Install

pip install 'metapod-probes[presidio]'

This pulls in presidio-analyzer and presidio-anonymizer as transitive dependencies.

Configuration

sources:
  - type: presidio
    dataset_path: /data/landing/*.csv
    sample_rows: 500
    score_threshold: 0.7
    custom_recognizers: /etc/metapod/pii_patterns.yaml
    entities:
      - PERSON
      - EMAIL_ADDRESS
      - CREDIT_CARD
      - IBAN_CODE
      - IT_FISCAL_CODE

Probes

Probe

Description

presidio.compliance.pii_scan

Scan dataset samples for PII entities (~75 built-in types)

presidio.compliance.pan_detection

Detect payment card numbers with Luhn checksum validation

presidio.compliance.finserv_patterns

Detect FinServ patterns (IBAN, SWIFT/BIC, account numbers)

presidio.compliance.custom_patterns

Evaluate user-defined recognisers from YAML configuration

Usage

metapod run "presidio.compliance.*" --config config.yaml

Output

{
  "probe": "presidio.compliance.pii_scan",
  "source": "presidio",
  "collected_at": "2026-03-31T08:00:00Z",
  "results": [
    {
      "dataset": "customers.csv",
      "column": "cf",
      "entity_type": "IT_FISCAL_CODE",
      "occurrences": 312,
      "score": 0.95,
      "sample_redacted": "RSSMRA85M01H501Z"
    }
  ]
}