Cartographie RGPD & Sécurité : Anonymisation d'un Dataset

Cartographie RGPD & Sécurité : Anonymisation d'un Dataset

Jan 2026

Mise en place d'un processus de cartographie et d'anonymisation de données sensibles pour répondre aux exigences de conformité du RGPD.

Contexte : La sécurité, grande oubliée des pipelines Data

Dans notre domaine, on parle constamment de la data, de la construction de pipelines et de la manière de rendre la donnée utile pour le business. Cependant, on omet trop souvent un concept clé, fondamental et même indispensable : le RGPD et la sécurité de l’information.

J’ai eu un véritable déclic lors d’un cours dédié à ce sujet. En étudiant les réglementations, je me suis posé la question de mon propre statut d’utilisateur : comment mon opérateur télécom ou les sites web sur lesquels je suis inscrit gèrent-ils mes informations ? Si le règlement n’est pas strictement appliqué, cela signifie que mes données personnelles sont potentiellement exposées ou exploitées à mon insu. Aujourd’hui, on voit régulièrement des entreprises européennes se faire lourdement sanctionner par la CNIL Pour en savoir plus sur la CNIL pour des manquements à ces règles.

Cette réflexion théorique a trouvé un écho très concret lors de mon alternance chez Maeba Consulting. Dans le cadre de mes missions d’administration de bases de données, j’ai dû gérer finement les rôles et les permissions. Je devais m’assurer que selon le niveau d’accès d’un collaborateur, certaines informations (nom, prénom, email, téléphone) soient anonymisées ou masquées. J’ai donc voulu approfondir cette compétence vitale en Data Management : comment rendre un jeu de données “compliant” (conforme) avec le RGPD de manière programmatique ?

Cartographie et Classification Heuristique

Pour ce projet, le but n’était pas seulement de masquer des données à l’aveugle, mais de mettre en place un véritable système de cartographie. J’ai d’abord généré un dataset synthétique représentatif d’une base client (incluant des noms, des adresses IP, des coordonnées GPS, des données de santé et des montants d’achat).

L’étape la plus critique a été d’élaborer une classification heuristique des colonnes pour identifier leur nature. J’ai défini quatre catégories :

  1. Personnelles : Les données identifiant directement l’individu (Nom, Email, Téléphone).
  2. Sensibles : Les données soumises à des règles très strictes (État de santé, Adresse IP, Tranche de salaire).
  3. Quasi-identifiantes : C’est ici que l’analyse de données prend tout son sens. Une donnée quasi-identifiante ne permet pas d’identifier quelqu’un seule, mais croisée avec d’autres (comme l’âge et la ville), elle le peut. Pour les détecter informatiquement, j’ai utilisé un ratio de cardinalité : si le nombre de valeurs uniques d’une colonne divisé par le nombre total de lignes est supérieur à 0.9 (90%), la colonne est considérée comme très discriminante, et donc quasi-identifiante.
  4. Non-identifiantes : Les données purement comportementales ou métier (comme le statut d’abandon “churned”), sans risque direct.

Bien que le script propose cette classification automatiquement via des mots-clés et des ratios, j’ai implémenté un système d’ajustement manuel (override) car une bonne modélisation RGPD nécessite toujours une validation humaine liée au contexte métier.

Stratégies de Protection et Transformations

Une fois la donnée cartographiée, il fallait la protéger. J’ai élaboré et appliqué un plan de protection spécifique à chaque type de colonne, en utilisant la bibliothèque Pandas :

  • La suppression (Drop) : Pour les identifiants directs ou les données dont le risque surpasse l’utilité analytique (comme le nom complet ou la ville exacte), la suppression pure et simple est la meilleure sécurité.
  • La pseudonymisation par Hachage (Hash) : Pour les adresses IP et les données de santé, j’ai appliqué un algorithme de hachage SHA-256 avec un “sel” (salt) cryptographique. L’avantage du hachage salé est qu’il pseudonymise la donnée (elle devient une suite de caractères illisibles) mais reste réversible ou comparable si l’entreprise conserve le sel de manière sécurisée en dehors de la base de données.
  • La généralisation (Binning) : L’âge exact d’une personne est une donnée risquée. Plutôt que de la supprimer, je l’ai discrétisée en tranches (ex: 38-49 ans) via la fonction qcut. Cela réduit drastiquement la précision tout en conservant une grande utilité pour faire des statistiques ou entraîner un modèle de Machine Learning.
  • Le masquage (Masking) : Pour les emails et téléphones, j’ai utilisé des expressions régulières (Regex) pour tronquer l’information (ex: +336******).
  • L’injection de bruit (Noise) : Pour les coordonnées GPS et le montant des achats, j’ai ajouté un léger bruit aléatoire gaussien. Cela fausse légèrement la position exacte d’un utilisateur, protégeant sa vie privée, tout en permettant au département marketing de faire des analyses géographiques globales. (À noter que pour une “Differential Privacy” formelle et mathématiquement prouvée, il faudrait appliquer des mécanismes de bruit sur des agrégats, ce qui fera l’objet d’une exploration future).

Bilan et Livrables

Le pipeline se conclut par l’exportation de deux livrables essentiels lors d’un audit de sécurité :

  1. Le dataset anonymisé prêt à être exploité par les Data Analysts sans risque de fuite de données personnelles.
  2. Un registre de cartographie (livrable_cartographie.csv) qui trace de manière transparente chaque décision prise (quelle colonne, quelle catégorie identifiée, et quelle mesure de protection appliquée).

Ce projet m’a permis d’acquérir une compétence clé en Data Management. J’ai compris que la conformité RGPD n’est pas qu’une contrainte légale, mais un véritable défi d’ingénierie des données : il faut trouver le parfait équilibre entre la protection absolue de la vie privée des utilisateurs et la préservation de l’utilité statistique de la donnée pour l’entreprise.

Liens pertinents

Récapitulatif des apprentissages

  • Data Management & Conformité : Capacité à traduire des contraintes légales (RGPD / CNIL) en règles de traitement de la donnée programmatiques.
  • Méthodes d’Anonymisation : Maîtrise des techniques de pseudonymisation (SHA-256 avec sel), de généralisation (binning) et de masquage par expressions régulières (Regex).
  • Analyse de risques : Utilisation de la cardinalité et des ratios d’unicité pour détecter informatiquement des quasi-identifiants dans un volume de données.
  • Gouvernance : Génération automatisée d’un registre de traitement (livrable) indispensable pour justifier les actions menées lors d’un audit de sécurité.
  • Ethique et Responsabilité : Prise de conscience de l’importance de la protection des données personnelles dans le contexte actuel, et de la nécessité d’intégrer ces considérations dès la conception d’un projet data.