Passa al contenuto principale

Audit Chain

Ogni ricevuta di consenso è collegata alla precedente tramite una catena HMAC. Questo rende crittograficamente rilevabile se qualsiasi 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, ricalcola l'HMAC con gli stessi input e confronta.

Verifica della 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 fino alla prima decisione è inalterata.

Di cosa hanno bisogno i revisori

Per un audit GDPR, fornisci:

  1. Gli ID ricevuta per l'utente in questione
  2. Il risultato della verifica (risposta API sopra)
  3. Il documento della versione della policy attivo al momento

Tutto questo è 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 a scopo di verifica

Le chiavi ruotate non vengono mai eliminate. La catena di audit rimane verificabile a tempo indeterminato.