AuditRailsAuditRails

Requisiti di audit logging GDPR (art. 32) e come soddisfarli

L'art. 32 del GDPR impone «misure tecniche e organizzative adeguate» a garanzia della sicurezza del trattamento, tra cui la capacità di assicurare su base permanente riservatezza, integrità, disponibilità e resilienza dei sistemi. Questa pagina illustra che cosa questo significa per l'audit logging, che cosa un'autorità di controllo accetta come evidenza e come i log a catena di hash di AuditRails lo soddisfano.

Il controllo

GDPR, art. 32, par. 1, lett. b): sicurezza del trattamento

Regolamento (UE) 2016/679; in Italia, d.lgs. 196/2003 come modificato dal d.lgs. 101/2018

«La capacità di assicurare su base permanente la riservatezza, l'integrità, la disponibilità e la resilienza dei sistemi e dei servizi di trattamento.»

L'evidenza dell'art. 32 viene richiesta di norma insieme al registro delle attività di trattamento dell'art. 30 e alla documentazione delle violazioni dell'art. 33: lo stesso flusso di eventi inalterabile deve sorreggere tutti e tre, non dimostrare in astratto che la sicurezza esiste. In Italia l'autorità di controllo è il Garante per la protezione dei dati personali, e il Codice privacy resta applicabile accanto al regolamento.

Cosa chiede un auditor

Un'autorità di controllo che istruisce un reclamo, o il vostro DPO che predispone il registro dell'art. 30, richiede la prova che l'attività di trattamento sia effettivamente registrata e che il registro non sia stato alterato, non un documento di policy che lo dichiari. La domanda è: chi ha trattato il dato di questo interessato, su quale base giuridica, e come si dimostra che la voce sia rimasta invariata da quando è stata scritta.

Requisito di conservazione

AuditRails conserva i log di audit GDPR per un minimo di 5 anni per impostazione predefinita. Il regolamento non fissa una durata per i log di sicurezza: va determinata secondo il principio di limitazione della conservazione dell'art. 5, par. 1, lett. e), tenendo conto dei termini entro cui un reclamo o un'istruttoria possono ancora sopravvenire. La conservazione si estende automaticamente se è attivo anche un framework con un requisito più lungo.

Cosa registra AuditRails

Gli eventi di consenso e di trattamento corrispondono a una singola chiamata di logging, con la base giuridica registrata come campo obbligatorio anziché lasciata implicita.

import { AuditRails } from '@auditrails/node';

const audit = new AuditRails({ apiKey: 'at_live_...' });

await audit.log({
  action: 'consent.given',
  actor_id: '...', // required
  metadata: {
    legal_basis: '...', // required
    purpose: '...', // required
    consent_version: '...', // optional
    ip_address: '...', // optional
    consent_method: '...', // optional
  }
});

Cosa si consegna all'auditor

Il pacchetto di evidenze generato per la finestra di audit è un archivio che contiene un report riassuntivo in PDF, il registro completo degli eventi in NDJSON e un manifest con i checksum SHA-256 di entrambi i file, oltre alla prova della catena di hash. È materiale consegnabile direttamente a un'autorità di controllo o al vostro DPO, non una dichiarazione di policy da accettare sulla parola.

Errori comuni su questo controllo

  • Registrare che il consenso è stato prestato, ma non la base giuridica né la finalità: l'evidenza dell'art. 32 senza il contesto dell'art. 6 non risponde alla domanda che un'istruttoria pone davvero.
  • Nessuna registrazione della revoca del consenso o dell'opposizione, ma soltanto della concessione iniziale. L'art. 7, par. 3, prevede che «il consenso è revocato con la stessa facilità con cui è accordato», il che presuppone un registro simmetrico.
  • Log conservati nello stesso sistema dei dati personali che descrivono e modificabili dagli stessi amministratori: chi verifica l'integrità non trova nulla che la dimostri.
  • Conservazione più breve della finestra entro cui un reclamo può ancora essere proposto: l'evidenza necessaria a un reclamo tardivo o a un'istruttoria dell'autorità semplicemente non esiste più.
  • Nessun actor_id stabile che colleghi un evento di trattamento a un sistema o a una persona determinata, il che rende impossibile comprovare la responsabilizzazione richiesta dall'art. 5, par. 2.

Domande frequenti

AuditRails ci mette in regola con il GDPR?

Nessuno strumento da solo lo fa. AuditRails fornisce l'evidenza inalterabile dell'attività di trattamento richiesta dall'art. 32, tipicamente uno dei controlli più onerosi da costruire da zero. Il resto degli obblighi resta separato: valutazione della base giuridica, DPIA, gestione delle richieste degli interessati, meccanismi di trasferimento internazionale.

Dove sono conservati i dati?

AWS eu-central-1 (Francoforte, Germania) per la conservazione durevole dei log di audit: una scelta esplicita a favore dell'Unione europea, non un'impostazione predefinita ereditata. Il livello applicativo e di base dati è ospitato su infrastruttura self-hosted presso Hetzner, anch'essa nell'Unione europea.

Per quanto tempo vanno conservati i log di audit GDPR?

Il regolamento non fissa una durata. AuditRails adotta un minimo di 5 anni come impostazione predefinita per questo framework, che copre le consuete finestre di istruttoria dell'autorità di controllo e di reclamo degli interessati.

È possibile verificare che i log non siano stati manomessi, indipendentemente da AuditRails?

Sì. Pubblichiamo una CLI open source che ricalcola in modo indipendente la catena di hash a partire da un export. Non richiama la nostra API e non si affida alla nostra infrastruttura.

Questa pagina descrive obblighi normativi a fini informativi e non costituisce consulenza legale. Il perimetro di applicazione alla vostra organizzazione va verificato con i vostri consulenti.