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 :
- Le ou les identifiants de reçu pour l'utilisateur en question
- Le résultat de vérification (réponse API ci-dessus)
- 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.