Catena di Audit
Ogni ricevuta di consenso è collegata alla precedente tramite una catena HMAC. Questo rende rilevabile crittograficamente se una ricevuta nella sequenza è stata alterata o eliminata.
Come funziona la catena
Ogni ricevuta contiene:
- Il proprio
hmac— calcolato sul contenuto della ricevuta - Un
previous_receipt_id— riferimento alla ricevuta precedente per questo visitatore
L'HMAC viene calcolato come:
hmac = HMAC-SHA256(
key: tenant_signing_key,
message: receipt_id + timestamp + choices_json + policy_version + previous_receipt_id
)
Per verificare che una ricevuta non sia stata manomessa, ricalcolate l'HMAC con gli stessi input e confrontate.
Verificare la catena
ConsentForge fornisce un endpoint di verifica:
POST /api/v1/receipts/verify
Authorization: Bearer YOUR_API_TOKEN
{
"receipt_id": "rec_01HXYZ123456"
}
Risposta:
{
"valid": true,
"chain_intact": true,
"receipts_verified": 3
}
chain_intact: true significa che ogni ricevuta nella catena, risalendo alla prima decisione, è inalterata.
Cosa necessitano gli auditor
Per un audit GDPR, fornite:
- L'ID/gli ID della ricevuta per l'utente in questione
- Il risultato della verifica (risposta API sopra)
- Il documento della versione della policy attiva al momento
Tutto ciò è disponibile in Dashboard → Prove → Esporta.
Rotazione della chiave di firma
La chiave di firma può essere ruotata in Account → Sicurezza → Chiavi di Firma. Dopo la rotazione:
- Le nuove ricevute vengono firmate con la nuova chiave
- Le ricevute vecchie rimangono valide — la vecchia chiave viene conservata per scopi di verifica
Le chiavi ruotate non vengono mai eliminate. La catena di audit rimane verificabile a tempo indeterminato.