FR PII Masking & Pseudo
Mask & pseudonymise national IDs (NIR, NISS/INSZ, BSN) with role-based reveal and an access log
Want FR PII Masking & Pseudo installed and configured for you? Onboarding Pack: $350 one-off
Support plans from $425 a month
National identifiers kept masked, pseudonymised and logged
A vault for French NIR, Belgian NISS / INSZ and Dutch BSN numbers with checksum validation, salted pseudonyms, role-based reveal with an append-only log and field masking rules
Social-security and citizen numbers are stored in a vault instead of free text fields. Each identifier is checked with its national checksum, shown masked, and replaced by a salted HMAC pseudonym for exports. Only members of the reveal group can see a clear value, every reveal is written to an access log that cannot be edited or deleted, and masking rules can permanently mask chosen text fields of any model.
Key features
Identifier vault
French NIR (key 97 with the Corsica codes), Belgian NISS / INSZ (with the after-2000 rule) and Dutch BSN (11-test) are validated before they are stored; an invalid number is refused.
Masked by default
Lists and forms show a masked value; the clear value sits behind a technical group nobody belongs to and is only read by the module's code.
Reveal with a log
Members of PII Reveal can reveal a value; each reveal increments a counter and, when enabled, writes an access-log line with user, kind and reason. A reason can be made mandatory.
Append-only access log
Access-log entries cannot be modified or deleted, and per-user reveal statistics are available for monitoring.
Bulk pseudonymise
Paste one identifier per line (optionally with a subject label): valid numbers are stored, invalid ones are listed as rejected.
Pseudonym maps and masking rules
Build a map of pseudonyms per kind for exports, with clear values only for reveal users and logged; masking rules apply partial, full, e-mail or hash masking to text fields of any model.
Screenshots
Odoo 19.0 with the data of an office-furniture company in Lyon (Lefèvre Mobilier de Bureau SAS), English interface; the same screens apply to Odoo 18.0 and 20.0.
1. The identifier vault
French NIR, Belgian NISS and Dutch BSN numbers, checksum-validated and shown masked, with the reveal count.
2. Append-only access log
Every reveal with user, kind and the reason that was required.
3. Pseudonym map for exports
Salted HMAC pseudonyms per subject, without clear values.
4. Masking rules
Partial, e-mail and hash masking of text fields of any model.
Why this app
✓ One place for national identifiers instead of copies in notes and spreadsheets.
✓ Exports carry pseudonyms, not the numbers.
✓ Every clear-text access is recorded and cannot be erased.
✓ French, Belgian and Dutch formats in the same vault.
Get started
Groups
Give PII Reveal only to the people who need clear values.
Store
Enter identifiers or bulk-pseudonymise a list.
Reveal
Reveal with a reason; the access log keeps the trace.
Export
Build pseudonym maps and set masking rules.
Questions
Is a pseudonym anonymous data?
No. A pseudonym is still personal data under the GDPR; it limits exposure in exports and screens.
Can the salt be changed?
Yes, by a settings administrator; pseudonyms are then recomputed with Re-pseudonymise.
En français
FR PII Masking & Pseudo conserve les NIR français, NISS / INSZ belges et BSN néerlandais dans un coffre : contrôle de clé, affichage masqué, pseudonyme HMAC salé, révélation réservée à un groupe et journal d'accès non modifiable.
- Contrôle de la clé NIR, NISS et BSN à la saisie
- Valeur en clair visible seulement par le groupe de révélation
- Journal d'accès impossible à modifier ou supprimer
- Pseudonymisation en masse avec rejet des numéros invalides
- Règles de masquage des champs texte
Specifications
- This page: Odoo 19.0 (also available for Odoo 18.0 and 20.0), Community and Enterprise
- License: OPL-1
- Languages: English, French
- Depends on: base
- Author: Pokutsoft, pokutsoft.com
- Support: support@pokutsoft.com
Update date: 2026-10-30 · Version: 19.0.1.3.4
User guides (PDF)
Related modules
FR BSN/NISS/NIR Validator
Checksum-validate FR NIR, BE NISS/INSZ and NL BSN on partner & employee records (local algorithm, no registry)
FR Piste d'Audit
Immutable field-level change history on fiscal-relevant records to support the French piste d'audit fiable (PAF / CGI art. 289, BOI-TVA-DECLA)
EU Backup Verify
Schedule database backups to the customer's EU-region storage (BYOK) and run an automated restore-test report so backups are actually proven (FR/BE/NL BCP)