Articles

Écrire son propre outil de masquage de données personnelles semble prendre vingt minutes. C’est le piège.

2 min de lecture

En production, j’avais besoin de deux choses peu spectaculaires : nettoyer les infos personnelles du texte libre avant qu’il ne quitte notre système, et chiffrer quelques champs d’identité au repos. Les deux sont faciles à bricoler. Les deux finissent par vous causer des ennuis, sans prévenir.

Un enregistrement se divise en un parcours de masquage à sens unique et un parcours de chiffrement distinct, avec une clé et une flèche de retour des données chiffrées vers les champs d’origine.

Les regex de masquage que la plupart des gens écrivent matchent trop large. Elles transforment volontiers un numéro de commande ou un montant de paiement en « [redacted] », et vous ne le remarquez pas avant qu’un client s’en aperçoive. Et le chiffrement de champs maison cache généralement un IV réutilisé ou une fonction de hachage rapide en guise de dérivation de clé : une crypto qui n’a que l’air sûre.

J’avais déjà résolu ça dans un vrai projet, alors j’ai extrait le code, retiré tout ce qui était spécifique à l’app, et je l’ai open-sourcé.

pii-toolkit-cy fournit :

redact()

redact() pour e-mail / carte / IBAN / téléphone, réglé pour NE PAS avaler les entiers bruts comme les numéros de commande 

createPiiCipher()

createPiiCipher() avec AES-256-GCM, un IV neuf par valeur, dérivation scrypt et détection de falsification au déchiffrement 

zéro dépendance, ESM, types TypeScript inclus.

C’est délibérément petit. C’est né de quelque chose de réel, pas d’un repo de tutoriel.

Publication originale (site externe)

Partager cet article