Logsiegel

Règlement (UE) 2016/679 (RGPD)

Responsabilité, intégrité et effacement : où le RGPD exige des enregistrements, et comment Logsiegel fait les deux à la fois

Le RGPD n'impose pas expressément un journal, mais il exige que vous puissiez démontrer ce que vous avez fait des données, et que vous effaciez ces données sur demande. Un journal inaltérable et une obligation d'effacement semblent se contredire. Logsiegel est construit de façon qu'ils ne se contredisent pas.

Qui est concerné

Tout responsable du traitement et tout sous-traitant dont le système d'IA traite des données à caractère personnel, donc en pratique tout exploitant d'un agent en contact avec des clients (et, en Suisse, la nLPD pose des exigences comparables). Particulièrement pertinent lorsque le système prend ou prépare des décisions produisant des effets pour les personnes concernées.

Ce que la réglementation exige en matière d'enregistrements

Quatre endroits où des enregistrements sont soit exigés, soit indispensables :

RéférenceExigence
Art. 5, par. 2Obligation de rendre compte : le responsable du traitement doit non seulement assurer le respect des principes, mais être en mesure de le démontrer.
Art. 5, par. 1, f, et art. 32, par. 1, bIntégrité et confidentialité : les données doivent être protégées contre toute altération non autorisée ; la sécurité du traitement comprend l'intégrité des systèmes et des services.
Art. 32, par. 1, dUne procédure visant à tester, analyser et évaluer régulièrement l'efficacité des mesures de sécurité.
Art. 17Droit à l'effacement. Les données à caractère personnel doivent être effacées sur demande, y compris dans les journaux, sauf exception applicable.
Art. 22 et art. 15, par. 1, hPour les décisions individuelles automatisées : droit de contester la décision, d'exprimer son point de vue et d'obtenir des informations sur la logique sous-jacente. Sans enregistrement de la décision prise, de sa date et de son fondement, ces droits restent lettre morte.
Art. 33, par. 5Les violations de données à caractère personnel doivent être documentées, de manière à permettre à l'autorité de contrôle de vérifier le respect des obligations.

Ce que Logsiegel y apporte aujourd'hui

Ce qui est en préparation prévu

Ce que Logsiegel ne fait pas

  • Registre des activités de traitement, analyse d'impact, contrats de sous-traitance. Obligations distinctes, outils distincts.
  • Base légale et qualification. Aucun journal ne vous dira si votre traitement est licite, ni si l'art. 22 s'applique.
  • L'appréciation de l'empreinte résiduelle. Savoir si une empreinte salée reste une donnée à caractère personnel après destruction de la clé relève de votre analyse, à la lumière des lignes directrices en vigueur du Comité européen de la protection des données.
  • L'exhaustivité. Ce qui est prouvé, c'est que l'enregistré est inaltéré, jamais que tout a été enregistré. C'est une question d'intégration : l'adaptateur doit se trouver à un endroit par lequel chaque action passe obligatoirement (LiteLLM aujourd'hui, proxy MCP en préparation).
  • La protection contre l'exploitant lui-même. Qui détient la clé de signature pourrait réécrire le journal et le signer à nouveau. Cela se remarque précisément lorsqu'une autre partie détient un point de contrôle ou un justificatif antérieur. Faites donc sortir les points de contrôle de chez vous ; le contreseing par un témoin indépendant est le prochain niveau.
  • L'appréciation juridique. Savoir si votre système relève de la réglementation, quelles obligations s'appliquent concrètement et si un justificatif suffit dans un cas donné relève de votre analyse juridique ou de votre service conformité, pas de cet outil.

Comment le mettre en œuvre

1. Installer et créer un journal

Le SDK est en Python, sous Apache 2.0, sans serveur et sans compte. L'origine (origin) désigne le système dont l'activité est journalisée.

pip install logsiegel
logsiegel init ./trail --origin "acme.example/support-agent"

2. Brancher l'adaptateur là où chaque action doit passer

Si votre trafic d'IA passe par LiteLLM, chaque complétion devient une entrée inference signable, et les erreurs sont enregistrées comme anomaly. Les interventions humaines, vous les journalisez expressément comme un événement distinct.

import litellm
from logsiegel.integrations.litellm_logger import LogsiegelLogger

litellm.callbacks = [LogsiegelLogger("/var/lib/logsiegel/prod", store_payload=True)]

3. Ne stocker les contenus que masqués et chiffrés

Avec store_payload=True, entrées et sorties sont stockées chiffrées à côté du journal, entrée par entrée ; le détecteur de données personnelles masque au préalable. Sans cette option, le journal ne contient que des empreintes. Exemple : python examples/pii_demo.py dans le dépôt.

4. Détruire l'entrée en cas de demande d'effacement

La clé de l'entrée est détruite, le contenu est donc irrécupérable. verify continue de passer, car la chaîne repose sur des empreintes, pas sur des contenus.

logsiegel shred ./trail --seq 1284
logsiegel verify ./trail   # toujours PASS

5. Remettre le justificatif en cas de demande

Au lieu d'extraits de base de données, vous remettez un seul justificatif. La partie adverse le vérifie dans le navigateur sur logsiegel.com/verifier ou en ligne de commande, dans les deux cas hors ligne.

logsiegel receipt ./trail --seq 1284 --out receipt.json
logsiegel verify-receipt receipt.json --pubkey logsiegel.pub

Autres réglementations : AI Act DORA NIS 2 ISO/IEC 27001 ISO/IEC 42001 GoBD eIDAS Vue d'ensemble

État du droit : septembre 2026. Cette page est une appréciation technique par le projet, ni un conseil juridique ni une déclaration de conformité. Merci de vérifier les références sur le texte en vigueur. Corrections bienvenues via une issue GitHub.