From b57b1beb612607df1bcba427788cee0a2cb038d9 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Mon, 15 Dec 2025 13:26:20 -0800 Subject: [PATCH] [Feat] Guardrails - litellm content filter (#18007) * add br ssn * better description --- ...odel_prices_and_context_window_backup.json | 2 +- .../litellm_content_filter/patterns.json | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 8da7b93699e..4b016bc6ca6 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -22282,7 +22282,7 @@ "supports_reasoning": true, "supports_tool_choice": true }, - "openrouter/openai/gpt-5.2": { + "openrouter/openai/gpt-5.2": { "input_cost_per_image": 0, "cache_read_input_token_cost": 1.75e-07, "input_cost_per_token": 1.75e-06, diff --git a/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/patterns.json b/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/patterns.json index 193d0868072..b87bd397aad 100644 --- a/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/patterns.json +++ b/litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/patterns.json @@ -317,6 +317,62 @@ "category": "PII Patterns", "action": "MASK", "description": "Detects Dutch BSN numbers with contextual keywords" + }, + { + "name": "br_cpf", + "display_name": "CPF - Brazilian Tax ID / Social Security (Formatted)", + "pattern": "\\b\\d{3}\\.\\d{3}\\.\\d{3}-\\d{2}\\b", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian CPF numbers (XXX.XXX.XXX-XX format)" + }, + { + "name": "br_cpf_no_format", + "display_name": "CPF - Brazilian Tax ID / Social Security (Unformatted)", + "pattern": "\\b\\d{11}\\b", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian CPF numbers without formatting (11 digits)" + }, + { + "name": "br_phone", + "display_name": "Brazilian Phone Number (Landline & Mobile)", + "pattern": "\\b(?:\\+?55[\\s.-]?)?\\(?([1-9]{2})\\)?[\\s.-]?(?:[2-9]\\d{3,4})[\\s.-]?(\\d{4})\\b", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian phone numbers with various area codes (landline and mobile)" + }, + { + "name": "br_phone_mobile", + "display_name": "Brazilian Mobile Phone Number", + "pattern": "\\b(?:\\+?55[\\s.-]?)?\\(?([1-9]{2})\\)?[\\s.-]?9[\\s.-]?\\d{4}[\\s.-]?\\d{4}\\b", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian mobile phone numbers (9 prefix for mobile)" + }, + { + "name": "br_cep", + "display_name": "CEP - Brazilian Zip / Postal Code", + "pattern": "\\b\\d{5}-\\d{3}\\b", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian CEP postal codes (XXXXX-XXX format)" + }, + { + "name": "br_address", + "display_name": "Brazilian Street Address", + "pattern": "\\b(?:Rua|Avenida|Av\\.|R\\.|Travessa|Alameda|Praça|Rodovia)\\s+[A-Za-zÀ-ÿ\\s]+,?\\s*(?:n[°º]?|número)?\\s*\\d+", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian street addresses with common prefixes" + }, + { + "name": "br_cnpj", + "display_name": "CNPJ - Brazilian Company Tax ID", + "pattern": "\\b\\d{2}\\.\\d{3}\\.\\d{3}/\\d{4}-\\d{2}\\b", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian CNPJ company registration numbers (XX.XXX.XXX/XXXX-XX format)" + }, + { + "name": "br_rg", + "display_name": "RG - Brazilian National Identity Card", + "pattern": "\\b\\d{1,2}\\.?\\d{3}\\.?\\d{3}-?[0-9Xx]\\b", + "category": "Brazilian PII Patterns", + "description": "Detects Brazilian RG identity card numbers" } ] }