Add 6 new EU PII patterns for GDPR compliance

- fr_nir: French Social Security Number (NIR/INSEE) with validation
- eu_iban_enhanced: Enhanced IBAN detection with specific format
- fr_phone: French phone numbers (+33, 0033, 0 formats)
- eu_vat: EU VAT identification numbers (all 27 member states)
- eu_passport_generic: Generic EU passport format
- fr_postal_code: French postal codes with contextual keywords
This commit is contained in:
Ishaan Jaffer 2026-02-16 13:56:23 -08:00
parent a5e8eb6848
commit 5327e3feaa

View file

@ -398,6 +398,50 @@
"category": "Payment Card Patterns",
"description": "Detects IBANs (2 letter country code + 2 check digits + 4 char bank code + 7 digit base + optional 0-16 alphanumeric)"
},
{
"name": "fr_nir",
"display_name": "NIR/INSEE (French Social Security Number)",
"pattern": "\\b[12][0-9]{2}(0[1-9]|1[0-2])[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{2}\\b",
"category": "EU PII Patterns",
"description": "Detects French National Identification Number (Numéro d'Inscription au Répertoire) - 15 digits with specific format: sex + year + month + department + commune + order + key"
},
{
"name": "eu_iban_enhanced",
"display_name": "IBAN (Enhanced EU Format)",
"pattern": "\\b[A-Z]{2}[0-9]{2}[A-Z0-9]{4}[0-9]{7}([A-Z0-9]?){0,16}\\b",
"category": "EU PII Patterns",
"description": "Enhanced IBAN detection with more specific format validation (2 letter country + 2 check digits + 4 char bank code + 7 digit account base + optional 0-16 alphanumeric)"
},
{
"name": "fr_phone",
"display_name": "Phone Number (France)",
"pattern": "(?:\\+33|0033|0)[1-9][0-9]{8}\\b",
"category": "EU PII Patterns",
"description": "Detects French phone numbers in various formats (+33, 0033, or 0 prefix followed by 9 digits starting with 1-9)"
},
{
"name": "eu_vat",
"display_name": "VAT Number (EU)",
"pattern": "\\b(AT|BE|BG|CY|CZ|DE|DK|EE|EL|ES|FI|FR|HR|HU|IE|IT|LT|LU|LV|MT|NL|PL|PT|RO|SE|SI|SK)[0-9A-Z]{8,12}\\b",
"category": "EU PII Patterns",
"description": "Detects EU VAT identification numbers (2-letter country code + 8-12 alphanumeric characters covering all EU member states)"
},
{
"name": "eu_passport_generic",
"display_name": "Passport Number (EU Generic)",
"pattern": "\\b[0-9]{2}[A-Z]{2}[0-9]{5}\\b",
"category": "EU PII Patterns",
"description": "Detects generic EU passport format (2 digits + 2 letters + 5 digits) - covers France and similar EU formats"
},
{
"name": "fr_postal_code",
"display_name": "Postal Code (France)",
"pattern": "\\b[0-9]{5}\\b",
"category": "EU PII Patterns",
"description": "Detects French postal codes (5 digits)",
"keyword_pattern": "\\b(?:code\\s*postal|postal\\s*code|CP|zip\\s*code|postcode)\\b",
"allow_word_numbers": false
},
{
"name": "street_address",
"display_name": "Street Address",