Skip to content

PII Remover Plugin

Removes or masks Personally Identifiable Information (PII) from query results.

Type

  • Interceptor

Description

Scans and removes/masks PII data from query results based on field patterns and custom detection rules.

Configuration

Below is an example of different regex rules, you dont need to use them all, just pick that you need or add a new one by yourself.

pii_remover:
fields: # Fields to check for PII
- "*.email"
- "users.phone" #users is column that could have json or child property: phone
- "*.credit_card"
replacement: "[REDACTED]" # Replacement text for PII values
detection_rules: # Custom regex patterns for PII detection
detection_rules: # Custom regex patterns for PII detection
credit_card: |
"\d{4}-\d{4}-\d{4}-\d{4}"
phone: |
"\+?\d{10,12}"
ssn: |
"^\d{3}-\d{2}-\d{4}$"
us_address: |
"^(?:\d{1,5})\s[A-Za-z0-9\s\.,]{5,}(?:Avenue|Ave|Street|St|Road|Rd|Boulevard|Blvd|Lane|Ln|Drive|Dr|Way|Court|Ct|Circle|Cir|Trail|Trl)[\s,]*(?:[A-Za-z\s]{2,})?[,\s]+(?:A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])[,\s]+\d{5}(?:-\d{4})?$"
email: |
"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b"
ipv4: |
"\b(?:\d{1,3}\.){3}\d{1,3}\b"
ipv6: |
"\b(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}\b"
iban: |
"\b[A-Z]{2}\d{2}[A-Z0-9]{11,30}\b"
swift: |
"\b[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?\b"