Anonymiser le journal des modifications

Request description

Bonjour,

Je viens d’essayer la nouvelle fonctionnalité en v6.2 permettant d’anonymiser un utilisateur. C’est vraiement pratique et c’est top d’avoir le hook “anonymizeUser” pour pouvoir y ajouter nos propres règles.

Par défaut, serait-il possible d’inclure dans l’anonymisation le journal des modifications ?
Le contenu du champ “activity” n’est pas anonymisé :

Technical information

Instance /health
[Platform]
Status=OK
Version=6.2.0-beta
BuiltOn=2024-12-14 00:24
Git=master/8c1cd5a290976ebc0e9f9c3f26f8831ec27e6a08
Encoding=UTF-8
EndpointIP=
EndpointURL=
TimeZone=Europe/Paris
SystemDate=2024-12-16 10:39:23

[Application]
ApplicationVersion=0.3.2
ContextPath=
ContextURL=
ActiveSessions=2
TotalUsers=11
EnabledUsers=9
LastLoginDate=2024-12-16 10:30:04

[Server]
ServerInfo=Apache Tomcat/9.0.98
ServerType=WEB
ServerActiveSessions=2
ServerSessionTimeout=30
CronStarted=true

[OS]
Name=Linux
Architecture=amd64
Version=5.10.102.1-microsoft-standard-WSL2
DockerImageName=almalinux9
SystemEncoding=UTF-8

[JavaVM]
Version=21.0.5
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=21.0.5+11-LTS
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=745345
HeapSize=1007616
HeapMaxSize=4096000
TotalFreeSize=3833729

[Cache]
ObjectCache=385
ObjectCacheMax=10000
ObjectCacheRatio=3
ProcessCache=6
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=3
VendorName=postgresql
ProductName=PostgreSQL
ProductVersion=15.4 (Debian 15.4-2.pgdg120+1)
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.7.4
DBDate=2024-12-16 10:39:23
DBDateOffset=0
DBPatchLevel=6;P02b;c33c861697fa81920233383b57c40e07;0-beta
UsingBLOBs=true

[Healthcheck]
Date=2024-12-16 10:39:23
ElapsedTime=224

Bonjour Florent,

Merci pour ton retour.

Anonymiser les données d’historique “redolog” n’a pas été prévu, car ce serait comme perdre la trace du “qui avait fait quoi” en terme de piste d’audit (donnée légale, contractuelle…) et accessible à des utilisateurs particuliers. Il faudrait donc que ce soit une option lors du process d’anonymisation car l’onglet “change logs” n’est pas affiché en front pour tout le monde.

Techniquement, le HTML est déduit d’un champ JSON caché des données modifiées rlg_data.

Ca implique un full scan de la table m_redolog (ou les lignes liées à une session du user si on ne change que le QUI, mais s’il faut changer le QUOI, il faudra tout regarder), de charger chaque JSON pour regarder dedans, et le cas échéant le modifier avec le HTML en base.

Et si le serveur s’arrête au milieu du traitement très long, il faudra prévoir un rattrapage, en mémorisant qq part l’avancement de ce batch + cron de reprise. Bref aller anonymiser n’est pas facile pour des logs ou historiques volumineux accessibles en front.

Autre approche : anonymiser les logs/redolog serait peut-être plus à voir comme un export de la table dans un ficher pour archivage/audit + purge en base ?

Ou autre approche en consultation : l’anonymisation de ces données pourrait se faire au moment où on consulte les données (postSearch) pour les laisser intactes en base si on souhaite les garder pour audit/raisons légales.

Ca serait bien une option comme pour les droits, préférences et interactions.

Dans notre cas le but est d’utiliser cette fonctionnalité quand une personne quitte l’entreprise. A ce moment là on doit supprimer toutes mentions de son nom, prénom, etc.

On souhaite cependant conserver l’historique complet au niveau du journal des modifications, même s’il n’y a plus d’informations qui permettent d’identifier la personne qui a fait les actions les administrateurs peuvent quand même voir qu’il c’est passé quelque chose à tel moment.

Sinon une solution partielle serait peut être de revoir le début du message de l’activité afin de retirer le nom et prénom de la personne qui a fait l’action, cette information étant déjà présente dans les colonnes prénom et nom qui sont bien anonymisées. Ca couvrirait déjà pas mal de cas où dans la colonne “Activity” ceux sont les seules données personnelles qui remontent.

Pour le reste des données de la colonne “Activity”, soit ça serait aux intégrateurs d’implémenter avec le hook “anonymizeUser” le comportement soit Simplicité pourrait en proposer un par défaut qui serait en option lors de l’anonymisation et le traitement pourrait se baser sur la classification des attributs mais en effet le traitement serait assez lourd et il faudrait un moyen de suivre son avancement et sa bonne exécution.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.