diff --git a/presidio_config/custom_recognizers.py b/presidio_config/custom_recognizers.py index 67643d8..c55b0b6 100644 --- a/presidio_config/custom_recognizers.py +++ b/presidio_config/custom_recognizers.py @@ -1,24 +1,10 @@ from presidio_analyzer import Pattern, PatternRecognizer -# Ce fichier définit nos détecteurs personnalisés sous forme de classes Python. -# C'est beaucoup plus robuste que le JSON. - # --- DÉTECTEURS BELGES --- class BelgianNrnRecognizer(PatternRecognizer): """Détecteur pour le Numéro de Registre National belge.""" - PATTERNS = [ - Pattern( - name="NRN (avec séparateurs)", - regex=r"\b(?:[0-9]{2}(?:\.0[1-9]|\.1[0-2])(?:\.0[1-9]|\.[12][0-9]|\.3[01]))-\d{3}\.\d{2}\b", - score=1.0, - ), - Pattern( - name="NRN (sans séparateurs)", - regex=r"\b(?:[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12][0-9]|3[01]))\d{5}\b", - score=0.8, - ), - ] + PATTERNS = [Pattern(name="NRN", regex=r"\b(?:[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12][0-9]|3[01]))-?\d{3}\.?\d{2}\b", score=1.0)] CONTEXT = ["registre national", "nrn", "niss"] SUPPORTED_ENTITY = "BE_NATIONAL_REGISTER_NUMBER" @@ -27,7 +13,7 @@ class BelgianEnterpriseRecognizer(PatternRecognizer): PATTERNS = [Pattern(name="BTW/TVA", regex=r"\bBE\s?0\d{3}\.\d{3}\.\d{3}\b", score=0.95)] CONTEXT = ["numéro d'entreprise", "btw", "tva"] SUPPORTED_ENTITY = "BE_ENTERPRISE_NUMBER" - + # --- DÉTECTEURS RGPD GÉNÉRIQUES --- class IbanRecognizer(PatternRecognizer): @@ -36,13 +22,18 @@ class IbanRecognizer(PatternRecognizer): CONTEXT = ["iban", "compte", "bancaire"] SUPPORTED_ENTITY = "IBAN" -# Ajoutez ici d'autres classes pour les autres regex si nécessaire... -# (Ex: FrenchNIRRecognizer, PhoneRecognizer, etc.) +class PhoneRecognizer(PatternRecognizer): + """Détecteur pour les numéros de téléphone EU.""" + PATTERNS = [Pattern(name="Phone (EU)", regex=r"\b(?:(?:\+|00)(?:32|33|352)|0)\s?[1-9](?:[\s.-]?\d{2}){3,4}\b", score=0.8)] + CONTEXT = ["tel", "téléphone", "gsm"] + SUPPORTED_ENTITY = "PHONE_NUMBER" -# Liste de tous les reconnaisseurs à charger +# ... Ajoutez ici d'autres classes pour les autres regex si nécessaire ... + +# Liste de tous les reconnaisseurs à charger par Presidio custom_recognizers = [ BelgianNrnRecognizer, BelgianEnterpriseRecognizer, IbanRecognizer, - # Ajoutez les autres classes de reconnaisseurs ici + PhoneRecognizer, ]