- Anonymiser des tickets GLPI
- Anonymisation des données
- glpi-anonymizer
- Loi 09-08
- RGPD
- GLPI
- Données personnelles
- Open source
Anonymiser des tickets GLPI : masquer les RIB, garder vos données
Pour anonymiser des tickets GLPI, masquer trop est presque aussi coûteux que masquer trop peu : un outil qui efface tout nombre de 24 chiffres détruit vos références d'inventaire. glpi-anonymizer vérifie la clé de contrôle avant de masquer. Sur 200 nombres pris au hasard, au moins 190 restent intacts. Méthode, modes de remplacement et limites juridiques.
Novagios8 min de lecture

Avant d'appliquer l'IA à un service desk, il faut presque toujours anonymiser des tickets GLPI. Les utilisateurs y collent leur numéro de téléphone, leur carte d'identité, parfois leurs coordonnées bancaires. Au Maroc, ces informations relèvent de la loi 09-08, qui couvre toute information concernant une personne identifiée ou identifiable.
La plupart des équipes pensent au risque d'en laisser passer. Peu pensent au risque inverse : masquer tout ce qui ressemble à une donnée personnelle, au point de rendre l'export inutilisable. Cet article montre comment glpi-anonymizer, la deuxième des six bibliothèques open source de Novagios, traite les deux, et ce que le droit attend vraiment.
L'essentiel en 30 secondes
- Masquer tout nombre de 24 chiffres comme un RIB détruit aussi vos références d'inventaire ; vérifier la clé de contrôle évite ce piège.
- Sur 200 nombres de 24 chiffres pris au hasard, glpi-anonymizer en laisse au moins 190 intacts, car un sur 97 environ peut porter une clé RIB valide.
- Une donnée pseudonymisée reste une donnée personnelle, selon la loi 09-08 comme selon le RGPD : choisissez le mode de remplacement selon l'usage.
Pourquoi anonymiser des tickets GLPI demande plus qu'un simple filtre
Un ticket de support est un texte libre. « Rappelez-moi au 06 12 34 56 78 », « ma CIN est BE123456 », « le virement vers le RIB 0123… n'est pas passé » : les identifiants arrivent sans format imposé, au milieu de phrases en français, en arabe ou en darija.
Les outils génériques de détection de données personnelles sont conçus pour d'autres pays. Selon le README de glpi-anonymizer, ils reconnaissent un numéro de sécurité sociale américain mais manquent entièrement une CIN marocaine. Les outils qui connaissent les formats locaux tombent dans l'excès inverse : pour eux, toute suite de 24 chiffres devient un compte bancaire.
Or un export GLPI contient beaucoup de nombres longs qui ne sont pas des données personnelles : numéros d'inventaire, références de commande, identifiants de matériel. Les effacer, c'est retirer à l'analyse ce qui la rend utile. Un modèle de tri ou un tableau de bord n'apprend rien d'un texte criblé de [RIB].
Valider avant de masquer : la clé de contrôle
La réponse de glpi-anonymizer tient en un principe : un identifiant qui porte une clé de contrôle n'est masqué que si la clé est juste. Le RIB marocain de 24 chiffres se termine par une clé calculée modulo 97. L'IBAN suit la norme ISO 7064 MOD-97-10, et les numéros de carte bancaire l'algorithme de Luhn.
Un nombre quelconque a environ une chance sur 97 de passer la clé RIB par hasard. D'où le chiffre annoncé par le README de glpi-anonymizer : sur 200 nombres de 24 chiffres tirés au hasard, au moins 190 sont laissés intacts. Nous avons refait l'essai sur cinq tirages de 200 nombres : la clé n'en a accepté que 0 à 3 par tirage.

La CIN, l'ICE et les numéros de téléphone n'ont pas de clé publique ; ils sont reconnus par leur forme. La bibliothèque traite aussi les adresses e-mail, les URL et les adresses IP.
Reste le cas des chevauchements. Un RIB contient une suite de 15 chiffres qui ressemble à un ICE. Avant tout remplacement, la correspondance la plus longue l'emporte : un RIB n'est jamais découpé en faux ICE. Relancer l'outil sur un export déjà traité ne change rien, ce qui rend les traitements répétables.

Trois modes de remplacement, trois usages
Masquer une donnée ne répond pas toujours au besoin. glpi-anonymizer propose trois stratégies, à choisir selon ce que vous comptez faire de l'export.
La suppression remplace la valeur par une étiquette, [PHONE] ou [CIN]. C'est le choix par défaut, et le plus prudent.
La pseudonymisation produit un jeton stable, [PHONE:4f2a9c1b], calculé par HMAC-SHA256 : le même numéro donne toujours le même jeton, même écrit avec des espaces. Vous pouvez alors compter les tickets par demandeur sans savoir qui il est.
Le masque partiel garde les derniers chiffres, ******5678, quand un technicien doit reconnaître un dossier.

Le README met en garde sur la pseudonymisation. Le nombre de CIN ou de numéros de GSM possibles reste limité : avec la clé secrète, il suffit de les essayer un par un pour savoir si une personne précise apparaît dans vos données. Cette clé doit donc être protégée comme un mot de passe.
Ce que dit le droit : pseudonymiser n'est pas anonymiser
Sur le plan juridique, l'écart entre les deux notions pèse lourd. Le RGPD définit la pseudonymisation comme un traitement après lequel les données ne peuvent plus être attribuées à une personne sans informations supplémentaires, conservées à part. Son considérant 26 précise que ces données restent des informations sur une personne identifiable, alors que les informations réellement anonymes sortent du champ de la protection des données.
La loi 09-08 retient la même logique, avec sa définition large de la donnée personnelle. Le README de glpi-anonymizer le dit sans détour : une donnée pseudonymisée reste une donnée personnelle, au sens du RGPD comme de la loi marocaine.
En pratique, un export pseudonymisé doit être traité avec les mêmes précautions qu'un export brut. Seul un export débarrassé de tout identifiant, et relu, peut circuler plus librement, par exemple vers un prestataire ou un modèle d'IA hébergé à l'extérieur. Le cadrage de ces flux relève de vos équipes conformité ; notre offre cybersécurité peut les épauler.
En pratique : trois lignes de Python
L'outil s'utilise en ligne de commande ou depuis Python, sans aucune dépendance et sans accès réseau : rien ne quitte votre serveur. Il lit directement l'export de GLPI.
from glpi_anonymizer import Anonymizer
resultat = Anonymizer().anonymize("Rappeler A123456 au 0612345678 ou a.b@example.ma")
print(resultat.text) # Rappeler [CIN] au [PHONE] ou [EMAIL]
Il se combine avec glpi-rest, notre client pour l'API GLPI en Python : on extrait les tickets, on les nettoie, puis on les analyse. La version 0.1.0 a été publiée sur PyPI le 11 octobre 2026 ; selon son journal des versions, elle compte 89 tests et tourne sur Python 3.10 à 3.13.
Si vos équipes utilisent déjà Presidio, le cadre open source de détection de données sensibles, presidio-mena apporte les mêmes identifiants marocains sous forme de reconnaisseurs Presidio.
Plan d'action avant d'exploiter vos tickets
- Cartographiez les usages : statistiques internes, entraînement d'un modèle, partage avec un prestataire. Chacun appelle un niveau de protection différent.
- Choisissez le mode : suppression par défaut, pseudonymisation seulement si vous devez relier des tickets à une même personne.
- Protégez la clé de pseudonymisation dans un coffre-fort de secrets, hors du code.
- Relisez un échantillon de l'export avant toute diffusion, en cherchant noms, adresses et descriptions de personnes.
- Documentez le traitement pour votre registre et votre délégué à la protection des données.
Pour la suite du parcours, notre article sur les six bibliothèques Python open source de Novagios montre comment ces tickets nettoyés alimentent un modèle de tri.
Limites de l'analyse
glpi-anonymizer est un détecteur par motifs, pas un modèle de langue. Il ne repère pas les noms de personnes, les adresses rédigées en toutes lettres, les personnes décrites sans être nommées (« la comptable de l'agence de Fès »), ni les identifiants coupés par un retour à la ligne. Il élimine bien les identifiants au format connu ; il ne suffit pas, à lui seul, à rendre un document anonyme.
La CIN, l'ICE et les téléphones, sans clé publique, sont détectés avec moins de précision que les RIB. Enfin, les chiffres cités viennent du projet et de notre propre essai ; aucun tiers ne les a encore audités.
Questions fréquentes
Comment anonymiser des tickets GLPI ?
Exportez les tickets en JSON, passez-les dans glpi-anonymizer avec glpi-anonymize tickets.json -o clean.json, puis relisez un échantillon. L'outil reconnaît l'enveloppe d'export de GLPI et renvoie un fichier de même structure.
Une donnée pseudonymisée est-elle encore une donnée personnelle ?
Oui. Le RGPD et la loi 09-08 la considèrent comme une donnée personnelle tant qu'elle peut être rattachée à quelqu'un, par exemple avec la clé de pseudonymisation. Seules des données réellement anonymes sortent du champ de ces textes.
Comment détecter un RIB marocain sans faux positifs ?
En vérifiant sa clé, calculée modulo 97. Un nombre de 24 chiffres pris au hasard n'a qu'environ une chance sur 97 de la passer, ce qui écarte la grande majorité des références qui ne sont pas des RIB.
Les noms des clients sont-ils masqués ?
Non. glpi-anonymizer traite les identifiants structurés, pas les noms, qui demandent un modèle de reconnaissance d'entités nommées. Il faut le compléter par une relecture ou un outil adapté.
Sources
- README de glpi-anonymizer, octobre 2026.
- Journal des versions de glpi-anonymizer, version 0.1.0.
- PyPI, glpi-anonymizer, 11 octobre 2026.
- Règlement (UE) 2016/679 (RGPD), article 4 et considérant 26, 27 avril 2016.
- CMS, état des lieux de la loi 09-08, consulté le 15 octobre 2026.
- README de presidio-mena, octobre 2026.
- Essai Novagios : cinq tirages de 200 nombres aléatoires de 24 chiffres passés dans glpi-anonymizer 0.1.0, 17 octobre 2026.
Vous voulez exploiter vos tickets sans exposer vos clients ? Demandez une démonstration sur un échantillon de votre export.