Skip to content

Détecteur intelligent de données personnelles pour une conformité RGPD simplifiée.

License

Notifications You must be signed in to change notification settings

GMS64260/RGPD_Sentinel

Repository files navigation

RGPD Sentinel

Détecteur intelligent de données personnelles pour une conformité RGPD simplifiée.

Description

RGPD Sentinel est un outil d'analyse avancé qui détecte automatiquement les données personnelles dans vos documents pour faciliter la mise en conformité RGPD.

Fonctionnalités principales

Types de documents supportés

  • 📄 PDF, Word, Excel, texte, CSV, RTF, ODT, ODS
  • 🔍 Analyse en profondeur avec traitement NLP (spaCy)
  • 📊 Rapports détaillés et visualisations

Données personnelles détectées (17 types)

Données d'identification

  • ✅ Noms de personnes (avec analyse contextuelle)
  • ✅ Emails et téléphones français
  • ✅ Adresses postales et IP

Données bancaires (⚠️ Risque très élevé)

  • 🏦 IBAN (validation checksum mod 97)
  • 💳 Cartes bancaires (algorithme de Luhn)
  • 🏦 RIB français (validation clé RIB)

Documents d'identité (⚠️ Risque très élevé)

  • 🛂 Passeports français (ancien et nouveau format)
  • 🆔 Cartes nationales d'identité
  • 🚗 Permis de conduire européens

Données administratives

  • 🔢 Numéros de sécurité sociale (validation clé)
  • 🏢 SIRET (algorithme de Luhn)

Véhicules et localisation

  • 🚙 Plaques d'immatriculation (SIV et FNI)
  • 📍 Coordonnées GPS (décimal et DMS)
  • 🔧 Numéros de châssis (VIN)

Système de scoring intelligent

  • Niveaux de confiance : Chaque détection est scorée (0-100%)
  • Analyse de risque : Classification automatique (faible, moyen, élevé)
  • Détection de templates : Réduction des faux positifs
  • Contexte professionnel : Distinction personnel vs organisation

Installation

Prérequis

  • Python 3.8+
  • pip

Installation standard

# Cloner le dépôt
git clone https://github.com/GMS64260/RGPD_Sentinel.git

# Naviguer dans le répertoire du projet
cd RGPD_Sentinel

# Installer les dépendances
pip install -r requirements.txt

# Télécharger le modèle spaCy français
python -m spacy download fr_core_news_md

Installation sur Debian/Ubuntu

Voir INSTALLATION_DEBIAN.md pour les instructions détaillées.

Utilisation

Lancer l'application web

streamlit run app.py

L'interface sera accessible sur http://localhost:8501

Tests des nouvelles détections

python3 test_new_detections.py

Utilisation en ligne de commande

from analyzer.core import detect_personal_data

text = """
Contact: Jean Dupont
Email: jean.dupont@email.fr
IBAN: FR76 3000 6000 0112 3456 7890 189
"""

results = detect_personal_data(text)
print(f"Détections: {sum(len(v) for v in results.values())} données personnelles")

Améliorations récentes (v2.0)

🎉 +112% de types de données détectés

  • Passage de 8 à 17 types de données
  • 9 nouveaux validateurs algorithmiques
  • Score de risque 5x plus précis

Voir AMELIORATIONS.md pour le détail complet.

Architecture

RGPD_Sentinel/
├── analyzer/
│   ├── core.py              # Moteur de détection principal
│   ├── validators.py        # Fonctions de validation (12 types)
│   ├── file_utils.py        # Utilitaires de lecture de fichiers
│   └── ...
├── config/
│   └── exclusion_lists.py   # Listes d'exclusion configurables
├── app.py                   # Interface Streamlit
├── test_new_detections.py   # Suite de tests
└── requirements.txt

Configuration

Personnalisation des exclusions

Éditez config/exclusion_lists.py pour ajouter :

  • Noms de personnes de votre organisation à exclure
  • Unités organisationnelles spécifiques
  • Termes professionnels contextuels

Ajustement des seuils de confiance

Modifiez les confidence_thresholds dans analyzer/core.py :

confidence_thresholds = {
    "emails": 0.7,      # 70% minimum
    "iban": 0.8,        # 80% minimum
    "names": 0.4,       # 40% minimum
    # ...
}

Conformité RGPD

RGPD Sentinel aide à la conformité aux articles :

  • Article 4(1) : Identification des données personnelles
  • Article 9 : Détection des catégories particulières
  • Article 30 : Cartographie des données pour le registre
  • Article 32 : Évaluation des risques de sécurité

⚠️ Note : Cet outil est une aide à la conformité, pas une solution complète. Un DPO qualifié doit valider votre démarche RGPD.

Performances

  • Vitesse : ~100-500 documents/minute (selon la taille)
  • Mémoire : ~200MB pour le modèle NLP
  • Précision : 85-95% selon le type de données

Roadmap

  • Classification automatique de documents (CV, contrats, etc.)
  • Modèle ML de détection contextuelle avancée
  • Export des résultats (Excel, JSON, PDF)
  • API REST pour intégration
  • Support multi-langues (EN, ES, DE)

Contribution

Les contributions sont les bienvenues ! Pour contribuer :

  1. Fork le projet
  2. Créez une branche (git checkout -b feature/AmazingFeature)
  3. Committez vos changements (git commit -m 'Add AmazingFeature')
  4. Push vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

Support

Licence

Ce projet est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.

Remerciements

  • spaCy pour le traitement NLP
  • Streamlit pour l'interface web
  • La communauté open-source

Version : 2.0 Auteur : Guillaume Gomes (OGFA) Dernière mise à jour : 2026-02-09

About

Détecteur intelligent de données personnelles pour une conformité RGPD simplifiée.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •