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 dans la séquence a été altéré ou supprimé.

Comment fonctionne 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 :

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érifier la chaîne

ConsentForge fournit un endpoint de vérification :

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

{
"receipt_id": "rec_01HXYZ123456"
}

Réponse :

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

chain_intact: true signifie que chaque reçu dans la chaîne jusqu'à la première décision est inaltéré.

Ce dont les auditeurs ont besoin

Pour un audit RGPD, fournissez :

  1. Le(s) ID(s) de reçu pour l'utilisateur en question
  2. Le résultat de la vérification (réponse API ci-dessus)
  3. Le document de version de politique qui était actif à l'époque

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

Rotation de la clé de signature

La clé de signature peut être changée dans Compte → Sécurité → Clés de signature. Après 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 rotées ne sont jamais supprimées. La chaîne d'audit reste vérifiable indéfiniment.