Column masking
Masque les colonnes sensibles a la lecture, sans modifier les donnees stockees. Couvre la consultation via SQL Console, Data Explorer et exports.
Quand l'utiliser
- Un dev support doit voir les commandes mais pas les emails clients.
- Un PM consulte la prod pour debug — il voit les noms masques, pas les SSN.
- Vous voulez un controle granulaire sans dupliquer les vues SQL.
Differe de Anonymisation : ici on masque a la lecture, les donnees source ne bougent pas.
Workflow rapide
Column masks->Nouvelle regle.- Choisir la table, la colonne, le pattern de masque (full redact, last 4, email domain only, etc.).
- Choisir les roles concernes (ex :
dev,qa) ou les exemptions (adminvoit tout). - Activer. La regle s'applique en streaming sur les requetes via SQL Console et Data Explorer.
Concepts cles
- ColumnMaskRule : table + colonne + pattern + scope roles.
- Scope : roles concernes. Un user admin avec exemption voit la valeur brute.
- Patterns disponibles :
full,last4,email_domain,partial_phone,hash_visible.
Pieges courants
- Le masque s'applique a la lecture, pas aux backups : un
pg_dumpdirect contourne la regle. Combine avec Anonymisation export pour les dumps externes. - Aggregations : un
COUNT(email)retourne le bon count, mais unMAX(email)retourne la valeur brute du max — le masque ne s'applique qu'aux colonnes retournees nominalement. - Cache cote client : si l'utilisateur a deja vu les valeurs avant l'ajout de la regle, son cache navigateur peut conserver les anciennes valeurs jusqu'a refresh.
API
curl -X POST https://app.auralith.io/api/v1/projects/{pid}/column-masks \
-H "Authorization: Bearer $API_KEY" \
-d '{"table":"users","column":"email","pattern":"email_domain","scope_roles":["dev","qa"]}'