← Retour aux projets

Ingénierie de la confidentialité · prototype synthétique

Gouvernance des données et masquage

Classification des données personnelles et pseudonymisation cohérente de données relationnelles synthétiques.

Explorer l’architecture

Contexte

Mon stage chez Spindox portait sur la gouvernance et le masquage des données. Cette étude technique décrit un prototype personnel distinct, fondé sur des données synthétiques ; ses résultats ne décrivent ni les systèmes ni les travaux internes de Spindox.

Problème

Masquer séparément les identifiants sensibles peut rompre les jointures, les contraintes et la cohérence entre systèmes. Copier des données non protégées vers des environnements de développement ou d’analyse accroît l’exposition.

Objectif

Inventorier et classer les colonnes de données personnelles, appliquer des pseudonymes cohérents entre tables liées et vérifier les propriétés techniques du jeu protégé.

Mes responsabilités

J’ai développé et documenté le dépôt du prototype : processus en ligne de commande, règles de classification et de masquage, contrôles de la base protégée et tests automatisés. Les responsabilités et livrables internes à l’entreprise ne sont pas décrits ici.

Architecture

Processus du prototype synthétique

  1. 01Génération
  2. 02Inventaire
  3. 03Profilage
  4. 04Classification
  5. 05Masquage
  6. 06Validation
Séquence implémentée dans la CLI locale. Les contrôles ne portent que sur le jeu de données synthétique.

Mise en œuvre documentée

Le processus local génère des données synthétiques, inventorie schémas et relations, profile et classe les champs, applique les règles de pseudonymisation puis valide les schémas protégés. Les politiques YAML sont versionnées ; les correspondances de valeurs restent en mémoire pendant le traitement.

Décisions techniques et compromis

  • Cohérence entre tables

    Les pseudonymes déterministes utilisent une clé externe, une normalisation et des espaces de noms. Les clés techniques autorisées restent stables pour préserver les relations. Une possibilité de rapprochement demeure : il s’agit de pseudonymisation, pas d’anonymisation.

  • Traitement des ambiguïtés

    Une classification ambiguë ne déclenche pas de règle de masquage supposée : une décision explicite est nécessaire. Cela demande une revue manuelle, mais rend le choix traçable.

Contrôles et vérifications

Le dépôt documente des tests sur les comptages, contraintes, relations entre tables, groupes de cohérence, dérive du schéma et idempotence déterministe sur le jeu synthétique.

Éléments et résultats documentés

  • Inventaire synthétique

    20 tables sources et 20 tables protégées ; 109 colonnes inventoriées et classées dans le jeu de référence.

  • Contrôles documentés

    La suite du dépôt vérifie les relations, les contraintes, l’absence de dérive du schéma et l’idempotence déterministe sur les données synthétiques.

Limites et améliorations

La validation porte uniquement sur des données synthétiques. Elle ne démontre ni la précision sur des données réelles, ni les performances en entreprise, ni la conformité juridique. Authentification, gestion opérationnelle des secrets et observabilité restent à développer.

Technologies

  • Python 3.12
  • PostgreSQL 16
  • YAML
  • pytest

Sources et périmètre

Les chiffres et contrôles proviennent du dépôt personnel du prototype. Ils ne mesurent pas le stage chez Spindox ; aucun code, document ou jeu de données de l’entreprise n’est inclus.

Le dépôt n’est pas actuellement accessible au public. Un lien vers le code sera ajouté uniquement lorsque sa publication sera appropriée.