Passa al contenuto principale

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:

  1. L'ID/gli ID della ricevuta per l'utente in questione
  2. Il risultato della verifica (risposta API sopra)
  3. 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.