Aller au contenu principal

Chaîne d'audit

Chaque reçu de consentement est lié au précédent via une chaîne HMAC. Cela rend cryptographiquement détectable si un reçu de la séquence a été modifié ou supprimé.

Fonctionnement de la chaîne

Chaque reçu contient :

  • Son propre hmac — calculé sur le contenu du reçu
  • Un previous_receipt_id — référence au reçu précédent pour ce visiteur

Le HMAC est calculé comme suit :

hmac = HMAC-SHA256(
key: tenant_signing_key,
message: receipt_id + timestamp + choices_json + policy_version + previous_receipt_id
)

Pour vérifier qu'un reçu n'a pas été falsifié, recalculez le HMAC avec les mêmes entrées et comparez.

Vérification de la chaîne

ConsentForge fournit un endpoint de vérification :

POST /api/v1/receipts/verify
Authorization: Bearer YOUR_API_TOKEN

{
"receipt_id": "rec_01HXYZ123456"
}

Réponse :

{
"valid": true,
"chain_intact": true,
"receipts_verified": 3
}

chain_intact: true signifie que chaque reçu de la chaîne jusqu'à la première décision est non modifié.

Ce dont les auditeurs ont besoin

Pour un audit GDPR, fournissez :

  1. Le ou les identifiants de reçu pour l'utilisateur en question
  2. Le résultat de vérification (réponse API ci-dessus)
  3. Le document de version de politique qui était actif à ce moment-là

Tout cela est disponible dans Tableau de bord → Preuves → Exporter.

Rotation des clés de signature

La clé de signature peut être pivotée dans Compte → Sécurité → Clés de signature. Après la rotation :

  • Les nouveaux reçus sont signés avec la nouvelle clé
  • Les anciens reçus restent valides — l'ancienne clé est conservée à des fins de vérification

Les clés pivotées ne sont jamais supprimées. La chaîne d'audit reste vérifiable indéfiniment.