Aller au contenu principal

GDPR Scanner

Detecte automatiquement les colonnes contenant des donnees personnelles dans tes bases. Pratique pour preparer un audit RGPD, configurer le Column Masking, ou identifier les donnees a anonymiser avant une copie staging.

Le scanner combine 3 strategies de detection : nom de colonne, type de donnees, et echantillonnage du contenu. Plus l'echantillon est riche, plus la detection est fiable.


Quand utiliser ce scanner

  • 🛡️ Preparer un audit RGPD ou SOC2 — produire un inventaire des PII par base, par table, par colonne
  • 🎭 Avant une copie prod→staging — savoir quoi anonymiser avant de cloner
  • 🔒 Configurer le Column Masking — laisser le scanner pre-remplir les regles
  • 📋 Cataloguer ton patrimoine de donnees — pour une demarche de classification continue

Le scanner ne modifie rien dans tes bases ; il lit en SELECT uniquement.


Lancer un scan

Sidebar gauche → GDPR Scanner. Bouton "Lancer le scan" en haut a droite.

Le scan tourne en arriere-plan (1-30s selon la taille). Tu peux fermer l'onglet, le resultat est persiste. Notification push quand c'est termine.

Options du scan

OptionDefaultDescription
ConnexionactiveChoisis quelle base scanner
SchemastousFiltrer pour ne pas perdre de temps sur les schemas systeme
Tailles d'echantillon100 lignesPlus = plus precis, mais plus lent
Reglements ciblesRGPDRGPD, CCPA, LGPD, HIPAA selon ton plan
Re-utiliser le snapshottrueSi tu viens d'analyser, pas la peine de re-lire

Comment ca detecte

1. Heuristique sur le nom de colonne

Match regex sur les noms standards :

Pattern de nomCategorie PIISeverite
email, e_mail, mailContactMedium
phone, telephone, mobile, tel_ContactMedium
first_name, last_name, firstname, lastname, full_nameIdentiteMedium
birth_date, dob, date_of_birthSensibleHigh
ssn, social_security, nir, aadhaarIdentifiant govCritical
passport, id_card, national_idIdentifiant govCritical
iban, bank_account, card_number, panFinancierCritical
password, pwd, passphraseAuthCritical
address, street, city, postal_code, zipLocalisationMedium
gps, latitude, longitude, geolocationLocalisation preciseHigh
ip_address, user_agentTrace techniqueLow
medical_*, diagnosis, health_*SanteCritical
religion, political_*, sexual_*Sensible RGPDCritical

2. Type de donnees

UUID ou JSONB sont marques a investigation parce qu'ils peuvent contenir n'importe quoi. KytheraDB echantillonne 100 valeurs et regarde si elles matchent des patterns connus (UUID v4, JWT, JSON avec cle email...).

3. Echantillonnage du contenu

Sur les colonnes TEXT / VARCHAR, scan d'un echantillon avec regex :

  • ^[\w.+-]+@[\w.-]+\.\w+$ → email
  • ^\+?\d{10,14}$ → phone
  • ^[A-Z]{2}\d{2}[\d ]+$ → IBAN
  • ^\d{3}-\d{2}-\d{4}$ → SSN US
  • ^\d{4} \d{4} \d{4} \d{4}$ → numero de carte
  • ^192\.168\.|^10\.|^172\.(1[6-9]|2[0-9]|3[01])\. → IP privee
  • ^[a-f0-9]{32}$ → hash MD5 / token

Si > 50% de l'echantillon match, la colonne est flaggee. La confiance est calculee selon le pourcentage de match.


Resultat du scan

Le scan produit un rapport visualisable et exportable :

Vue resume

  • Nombre total de colonnes flaggees par severite
  • Repartition par categorie (Contact, Identite, Financier, etc.)
  • Repartition par schema et par table
  • Score de conformite estime

Vue detaillee

Pour chaque colonne flaggee :

  • Path complet : schema.table.column
  • Type SQL : text, varchar(255), jsonb, etc.
  • Categorie PII + severite + confiance (en %)
  • Methode de detection : nom / type / echantillon
  • Exemples de valeurs masquees (3-5 echantillons obfusques type j****@e*****.com)
  • Reglement applicable : RGPD Art. 4(1), CCPA §1798.140(o)(1), etc.
  • Actions suggerees : configurer un Column Mask, anonymiser, exclure d'un export

Export

Bouton "Exporter le rapport" → CSV ou PDF. Le PDF est mis en forme pour etre joint a un dossier d'audit (header, footer, signature, date).


Actions a partir du rapport

Chaque ligne du rapport a des actions rapides :

  • Configurer un Column Mask → ouvre directement le wizard de masquage avec la colonne pre-selectionnee
  • Marquer comme faux positif → la colonne disparait des rapports suivants
  • Anonymiser cette colonne → ouvre l'Anonymisation avec la cible pre-remplie
  • Voir les donnees → ouvre la SQL Console avec un SELECT ... LIMIT 10 (les valeurs seront automatiquement masquees selon ton role)

Historique des scans

Tous les scans sont historises. Tu peux :

  • Comparer 2 scans dans le temps — voir les nouvelles colonnes PII apparues, les anciennes disparues, les promotions de severite
  • Suivre l'evolution de la conformite par schema / connexion
  • Reproduire un audit a une date donnee (les scans sont immuables)

C'est utile pour montrer la trajectoire en audit : "voici notre score conformite en janvier vs juin, voici les actions prises entre les deux".


Faux positifs courants

Le scanner est opt-in conservateur — mieux vaut un faux positif qu'un faux negatif. Tu vas en avoir, voici les classiques :

ColonnePourquoi flagSi c'est OK pour ton cas
notes, description, commentsTexte libre, peut contenir des PIIMarque "vu, pas de PII attendu"
external_id, customer_refUUID ressemble parfois a un identifiantFaux positif si c'est un identifiant interne sans correspondance externe
metadata, payload (JSONB)Type ouvert, contenu inconnuInspecte un echantillon ; si pas de PII, marque resolu
last_modified_byEmail comme valeur possibleSouvent OK : c'est ton equipe interne

Le marquage faux positif est par projet — tu n'as a le faire qu'une fois.


Limites

  • Pas de scan sur les vues materialisees ni les CTE — uniquement les tables physiques
  • Sample biais — si tes 100 premieres lignes sont des donnees de seed factices, le scanner peut conclure "pas de PII" alors qu'il y en a apres
  • Pas de detection de PII chiffrees — si tu stockes des emails encryptes avec ton propre algo, le scanner ne peut pas les decouvrir (et c'est tant mieux pour ta securite)
  • Limite par connection-DB : pas de cross-DB. Il faut scanner chaque base separement.

Tarification

  • Plan starter : pas inclus
  • Plan pro : 5 reglements simultanes max (RGPD + 4 autres)
  • Plan enterprise : illimite + comparaisons historiques + export PDF

Pour plus de details, voir la page Tarifs.


Connexe