GDPR / Privacy Log

Registro trattamenti, consensi, diritti interessato, data breach, log di accountability

v 2.2Manuale Utente

Riferimenti normativi

1Panoramica

Il modulo GDPR / Privacy Log centralizza tutti gli adempimenti privacy richiesti dal Regolamento UE 2016/679 in un unico strumento organizzato in 5 tab:

TabContenutoRif. GDPRIndicatore
TrattamentiRegistro dei trattamenti dati personaliArt. 30Numero trattamenti attivi
ConsensiGestione consensi per soggetto e tipoArt. 6-7Consensi attivi totali
RichiesteDiritti degli interessatiArt. 15-22Richieste aperte (da evadere)
Data BreachRegistro violazioni con notificaArt. 33-34Breach aperti (non chiusi)
LogLog cronologico operazioni privacyArt. 5.2 (accountability)

Nella toolbar, tre contatori in tempo reale mostrano: richieste aperte, breach aperti, consensi attivi.

Accessibile da: Documentale → GDPR / Privacy Log nel menu laterale. Richiede il ruolo ADMIN.
2Registro Trattamenti (Art. 30)

Il Registro dei trattamenti è il documento fondamentale della compliance GDPR. Documenta cosa trattate, perché, come e per quanto tempo.

Quando è obbligatorio

  • Organizzazioni con più di 250 dipendenti
  • Trattamento di dati particolari (sanitari, biometrici, genetici — art. 9)
  • Trattamento non occasionale (praticamente tutte le aziende)
  • In pratica: è sempre consigliato tenere il registro, indipendentemente dalla dimensione

Campi per ogni trattamento

CampoObbligatorioDescrizioneEsempio
NomeDenominazione del trattamento“Gestione anagrafica clienti”
FinalitàScopo del trattamento“Gestione rapporto contrattuale e fatturazione”
Base giuridicaFondamento legale (art. 6.1 a-f)“Esecuzione contratto (art. 6.1.b)”
Categorie datiTipologie di dati trattati“Anagrafici, fiscali, contatto”
Categorie interessatiChi sono i soggetti dei dati“Clienti, pazienti, fornitori”
DestinatariConsigliatoA chi vengono comunicati“Commercialista, Agenzia Entrate, hosting provider”
Trasferimento extra-UESe applicabileTrasferimenti fuori dallo Spazio Economico Europeo“Sì — hosting USA con clausole contrattuali standard”
Termine conservazionePer quanto tempo si conservano i dati“10 anni dalla cessazione rapporto (art. 2220 CC)”
Misure di sicurezzaProtezioni tecniche e organizzative“Crittografia, backup, accesso con credenziali, firewall”
ResponsabileConsigliatoPersona o ente responsabile“Titolare dello studio”
DPOSe nominatoResponsabile protezione dati“Avv. Mario Rossi — dpo@studio.it”

Basi giuridiche disponibili

BaseArt. GDPRQuando si usa
Consenso6.1.aMarketing, newsletter, profilazione, dati sanitari
Esecuzione contratto6.1.bAnagrafica clienti, fatturazione, gestione ordini
Obbligo legale6.1.cConservazione fatture (10 anni), adempimenti fiscali
Interessi vitali6.1.dEmergenze sanitarie (raro in ambito commerciale)
Interesse pubblico6.1.eEnti pubblici, servizi di pubblica utilità
Legittimo interesse6.1.fSicurezza IT, prevenzione frodi, marketing diretto ai clienti esistenti

Trattamenti predefiniti

Il sistema pre-carica 4 trattamenti tipo per uno studio/azienda italiana:

  • Gestione anagrafica clienti/pazienti — base: contratto (6.1.b)
  • Fatturazione e contabilità — base: obbligo legale (6.1.c), conservazione 10 anni
  • Trattamento dati sanitari — base: consenso esplicito (6.1.a + art. 9)
  • Comunicazioni commerciali — base: consenso (6.1.a)
3Creare un Trattamento — Passo per Passo
  1. Aprire il tab Trattamenti.
  2. Premere + Nuovo Trattamento. Si apre il form inline.
  3. Compilare il Nome del trattamento (es. “Gestione fornitori”).
  4. Descrivere la Finalità in modo chiaro e specifico.
  5. Selezionare la Base giuridica dal dropdown (le 6 basi dell'art. 6.1).
  6. Indicare le Categorie di dati trattati (anagrafici, fiscali, bancari, sanitari...).
  7. Indicare le Categorie di interessati (clienti, pazienti, dipendenti, fornitori...).
  8. Specificare i Destinatari a cui i dati vengono comunicati.
  9. Indicare il Termine di conservazione con riferimento normativo.
  10. Descrivere le Misure di sicurezza adottate.
  11. Premere Salva. Il trattamento appare nell'elenco con badge della base giuridica.
Il registro dei trattamenti deve essere sempre aggiornato. Quando si introduce un nuovo trattamento dati (es. nuova campagna marketing, nuovo fornitore estero), aggiungere immediatamente il record.
4Gestione Consensi

Il tab Consensi traccia l'acquisizione e la revoca dei consensi per ogni soggetto dell'anagrafica.

Tipi di consenso gestiti

TipoDescrizioneQuando richiesto
BASETrattamento dati personali di baseSempre, per ogni soggetto
MARKETINGComunicazioni commerciali e promozionaliPrima di inviare materiale promozionale
PROFILAZIONEAnalisi abitudini e preferenzeSe si usano strumenti di analisi comportamentale
TERZE_PARTICondivisione dati con partner esterniSe i dati vengono comunicati a terzi per finalità proprie
NEWSLETTERInvio newsletter periodichePrima di iscrivere alla mailing list
GEOLOCALIZZAZIONETracciamento posizioneSe si utilizzano servizi basati sulla localizzazione
COMUNICAZIONI_COMMERCIALIOfferte e promozioni diretteDistinto da marketing generico se su canali specifici (SMS, WhatsApp)

Informazioni per ogni consenso

  • Soggetto: collegato all'anagrafica (ricerca per nome)
  • Stato: DATO (verde) o NEGATO (rosso)
  • Data acquisizione: timestamp automatico
  • Data scadenza: opzionale (per consensi a termine)
  • Canale: CARTACEO, EMAIL, WEB, TELEFONO, PEC
  • Note: annotazioni libere

Funzionalità

  • Ricerca soggetto: filtra i consensi per nome (con debounce 300ms)
  • Toggle consenso: clic per attivare/revocare con timestamp automatico
  • Revoca tutti: revoca tutti i consensi di un soggetto in un'unica azione (irreversibile, richiede conferma)
  • Export consensi: scarica i consensi di un soggetto come documentazione
5Acquisire un Consenso — Passo per Passo
  1. Aprire il tab Consensi.
  2. Cercare il soggetto nel campo di ricerca (digitare almeno 2 caratteri).
  3. Se il soggetto non ha ancora consensi, creare il primo cliccando + Nuovo Consenso.
  4. Selezionare il Tipo di consenso dal dropdown.
  5. Selezionare il Canale di acquisizione (cartaceo, email, web, telefono, PEC).
  6. Il sistema registra automaticamente la data di acquisizione.
  7. Se necessario, impostare una data di scadenza (es. consenso annuale).
  8. Lo stato viene impostato a DATO (badge verde).
Il canale “CARTACEO” implica che esiste un modulo firmato dall'interessato da conservare negli archivi. Inserire nelle note il riferimento al documento cartaceo (es. “Modulo firmato conservato in raccoglitore Privacy 2026”).
6Diritti dell'Interessato (Art. 15-22)

Il tab Richieste gestisce le richieste di esercizio dei diritti previsti dal GDPR:

DirittoArticoloIn cosa consisteTermine
AccessoArt. 15L'interessato ha diritto di ottenere copia di tutti i dati personali trattati, le finalità, i destinatari, il termine di conservazione30 giorni
RettificaArt. 16Correzione di dati inesatti o integrazione di dati incompleti30 giorni
Cancellazione (Oblio)Art. 17Eliminazione dei dati personali quando non più necessari, consenso revocato, o trattamento illecito30 giorni
LimitazioneArt. 18Sospensione del trattamento (i dati restano ma non vengono usati)30 giorni
PortabilitàArt. 20Ricezione dei dati in formato strutturato, leggibile da macchina (es. JSON, CSV)30 giorni
OpposizioneArt. 21Opposizione al trattamento per motivi legittimi, incluso il marketing diretto30 giorni

Workflow delle richieste

StatoColoreSignificato
RICEVUTABluRichiesta registrata, in attesa di presa in carico. Il contatore dei 30 giorni parte.
IN_LAVORAZIONEArancioneRichiesta presa in carico, in fase di analisi ed evasione
EVASAVerdeRichiesta completata. La data di evasione viene registrata automaticamente.
RIFIUTATARossoRichiesta respinta con motivazione (es. obbligo legale di conservazione)
Art. 12.3 GDPR: il riscontro deve avvenire entro 30 giorni dalla ricezione. Il termine può essere prorogato di 60 giorni per complessità (totale 90 giorni), ma l'interessato deve essere informato della proroga entro i primi 30 giorni. Il mancato riscontro può essere segnalato al Garante con conseguenti sanzioni.
7Gestire una Richiesta — Passo per Passo
  1. Aprire il tab Richieste.
  2. Premere + Nuova Richiesta. Si apre il form.
  3. Selezionare il soggetto richiedente dall'anagrafica.
  4. Selezionare il tipo di diritto esercitato (Accesso, Rettifica, Cancellazione, ecc.).
  5. Inserire la data di ricezione della richiesta.
  6. Descrivere la richiesta nel campo Descrizione.
  7. Premere Salva. La richiesta appare con stato RICEVUTA.
  8. Analizzare la richiesta e passare allo stato IN_LAVORAZIONE premendo il pulsante di avanzamento.
  9. Dopo aver evaso la richiesta, passare allo stato EVASA. La data di evasione viene registrata automaticamente.
  10. Se la richiesta non può essere accolta (es. obbligo legale di conservazione fatture), marcarla come RIFIUTATA con motivazione nelle note.

Quando rifiutare una richiesta di cancellazione

Il diritto alla cancellazione (art. 17) non si applica quando il trattamento è necessario per:

  • Adempiere un obbligo legale (es. conservazione fatture per 10 anni — art. 2220 CC)
  • Esercitare o difendere un diritto in sede giudiziaria
  • Motivi di interesse pubblico nel settore della sanità pubblica
  • Fini di archiviazione nel pubblico interesse, ricerca scientifica o storica

In questi casi, registrare la richiesta come RIFIUTATA documentando la motivazione legale.

8Data Breach (Art. 33-34)

Il tab Data Breach registra le violazioni di sicurezza dei dati personali e gestisce le notifiche obbligatorie.

Cos'è un data breach

Una violazione dei dati personali (data breach) è una violazione di sicurezza che comporta, accidentalmente o in modo illecito: distruzione, perdita, modifica, divulgazione non autorizzata o accesso ai dati personali. Esempi:

  • Furto o smarrimento di un dispositivo con dati personali
  • Attacco informatico con accesso ai database
  • Invio di dati al destinatario sbagliato
  • Perdita di dati per guasto hardware senza backup
  • Accesso non autorizzato da parte di un dipendente

Campi per ogni breach

CampoDescrizione
Data rilevamentoQuando la violazione è stata scoperta (fa partire le 72 ore)
DescrizioneNatura della violazione
Tipologia datiCategorie di dati coinvolti (anagrafici, sanitari, finanziari...)
Interessati coinvoltiNumero approssimativo di persone impattate
RischioBASSO (verde), MEDIO (giallo), ALTO (rosso), CRITICO (rosso scuro)
Notifica GaranteFlag + data se notifica effettuata (obbligatoria entro 72 ore se rischio)
Notifica interessatiFlag se comunicazione agli interessati effettuata (obbligatoria se rischio alto)
Misure adottateAzioni correttive implementate
StatoRILEVATO → IN_GESTIONE → RISOLTO → CHIUSO

Obblighi di notifica

Livello rischioNotifica Garante (art. 33)Notifica interessati (art. 34)
BASSONon obbligatoria (documentare comunque)Non obbligatoria
MEDIOObbligatoria entro 72 oreNon obbligatoria (valutare caso per caso)
ALTO / CRITICOObbligatoria entro 72 oreObbligatoria senza ritardo
Le 72 ore partono dal momento del rilevamento, non dal momento dell'incidente. Se si scopre venerdì sera che c'è stata un'intrusione lunedì, le 72 ore partono da venerdì sera. È fondamentale registrare immediatamente il breach nel sistema.
9Registrare un Data Breach — Passo per Passo
  1. Aprire il tab Data Breach.
  2. Premere + Registra Violazione. Si apre il form.
  3. Inserire la data di rilevamento (quando avete scoperto l'incidente).
  4. Selezionare il livello di rischio: BASSO, MEDIO, ALTO, CRITICO.
  5. Indicare il numero approssimativo di interessati coinvolti.
  6. Descrivere la natura della violazione.
  7. Indicare la tipologia dei dati coinvolti.
  8. Descrivere le misure adottate per contenere e risolvere.
  9. Se il rischio è medio/alto: spuntare “Notifica al Garante” e indicare la data di notifica.
  10. Se il rischio è alto/critico: spuntare “Notifica agli interessati”.
  11. Premere Salva. Il breach appare nell'elenco con stato RILEVATO.
  12. Aggiornare lo stato man mano che si procede: IN_GESTIONE → RISOLTO → CHIUSO.
10Log Privacy (Accountability)

Il tab Log mostra il registro cronologico non modificabile di tutte le operazioni privacy eseguite nel sistema:

  • Acquisizione e revoca consensi
  • Creazione e modifica trattamenti
  • Registrazione e avanzamento richieste diritti
  • Registrazione e gestione data breach
  • Export di documentazione

Colonne del log

ColonnaContenuto
Data/oraTimestamp dell'operazione
AzioneTipo di operazione (badge colorato)
UtenteUsername dell'operatore che ha eseguito l'azione
SoggettoInteressato coinvolto (se applicabile)
DettagliDescrizione specifica dell'operazione

Il log è in sola lettura e costituisce la documentazione di accountability richiesta dall'art. 5.2 GDPR. In caso di ispezione del Garante, il log dimostra che l'organizzazione ha implementato e mantenuto le misure di protezione.

11Export e Accountability

Esportare il registro trattamenti

Il pulsante “Esporta Registro” nel tab Trattamenti genera un file JSON contenente tutti i trattamenti attivi con dettagli completi e la data dell'export. Il file può essere:

  • Presentato in caso di ispezione del Garante
  • Allegato alla documentazione del sistema di gestione privacy
  • Archiviato come fotografia periodica dello stato dei trattamenti

Esportare i consensi di un soggetto

Nel tab Consensi, il pulsante Export per soggetto scarica tutti i consensi con date, canali e stati. Utile per rispondere a richieste di accesso (art. 15) dimostrando le basi giuridiche dei trattamenti.

Cosa tenere aggiornato

AdempimentoFrequenza consigliata
Registro trattamentiAd ogni nuovo trattamento o modifica significativa
Revisione consensiAnnuale (verificare scadenze e validità)
Revisione misure sicurezzaAnnuale o dopo ogni incidente
Export registro per archivioTrimestrale o semestrale
12Integrazione con Modulo Soggetti

Il modulo GDPR è integrato con l'anagrafica Soggetti su più livelli:

  • Consensi: collegati ai soggetti per ID. Ogni soggetto ha i suoi consensi specifici con data, canale e tipo.
  • Richieste diritti: collegate al soggetto richiedente. La richiesta registra chi ha chiesto cosa e quando.
  • Scheda soggetto: nella sezione Privacy della scheda paziente/cliente, sono visibili i flag consenso con data e canale di acquisizione.
  • Informativa privacy: generabile e stampabile in PDF dalla scheda soggetto, usando il template “Informativa Privacy” del Print Designer.
  • Ricerca: nel tab Consensi, la ricerca per nome trova direttamente i soggetti dall'anagrafica.
Quando si crea un nuovo soggetto (paziente, cliente), è buona prassi acquisire immediatamente il consenso BASE e, se sanitario, il consenso per il trattamento dati sanitari. Il canale “CARTACEO” con modulo firmato è il più sicuro dal punto di vista probatorio.
?Domande Frequenti (FAQ)
Il registro trattamenti è obbligatorio per la mia attività?
In teoria, l'obbligo scatta sopra i 250 dipendenti o con trattamento di dati particolari (sanitari) o non occasionale. In pratica, tutti dovrebbero tenerlo: il Garante lo considera un elemento fondamentale di accountability e la sua assenza è di per sé indice di non conformità.
Come gestisco una richiesta di cancellazione se devo conservare le fatture?
Le fatture devono essere conservate per 10 anni (art. 2220 CC). Registrare la richiesta, cancellare i dati non necessari alla conservazione fiscale (es. note personali, preferenze) e mantenere solo i dati obbligatori. Marcare come EVASA con nota: “Dati non fiscali cancellati. Dati fiscali conservati per obbligo legale art. 2220 CC”.
Devo notificare ogni data breach al Garante?
Solo se la violazione presenta un rischio per i diritti e le libertà delle persone (art. 33). Per i breach a rischio BASSO basta la documentazione interna. Per MEDIO, ALTO, CRITICO la notifica entro 72 ore è obbligatoria. In caso di dubbio, è preferibile notificare: il Garante è più indulgente con chi notifica tempestivamente.
Come faccio a dimostrare di aver acquisito il consenso?
Il sistema registra: data di acquisizione, canale (cartaceo, email, web, PEC), tipo di consenso e stato. Per il canale cartaceo, conservare il modulo firmato e annotare il riferimento nelle note. Per email/PEC, il sistema traccia automaticamente la data dell'operazione nel Log privacy.
Cosa succede se non rispondo a una richiesta entro 30 giorni?
L'interessato può presentare reclamo al Garante (art. 77 GDPR) o ricorso giurisdizionale (art. 79). Il Garante può aprire un'istruttoria e comminare sanzioni. Il sistema mostra il contatore delle richieste aperte nella toolbar per prevenire dimenticanze.
Posso revocare il consenso di un soggetto a sua insaputa?
No. La revoca avviene su richiesta dell'interessato (art. 7.3 GDPR). L'utente del sistema può registrare la revoca nel modulo, ma deve farlo a seguito di una richiesta esplicita del soggetto, non di propria iniziativa.
Devo nominare un DPO?
Il DPO (Data Protection Officer) è obbligatorio per: enti pubblici, organizzazioni che trattano dati su larga scala come attività principale, o che trattano dati particolari su larga scala (art. 37 GDPR). Per studi professionali e PMI, il DPO è facoltativo ma consigliato. Il campo “DPO” nel registro trattamenti permette di indicare il referente se nominato.
Come funziona la portabilità dei dati?
L'interessato ha diritto di ricevere i propri dati in un formato strutturato, di uso comune e leggibile da macchina (art. 20). Il sistema consente l'export dei consensi per soggetto. Per i dati anagrafici e documentali, sarà necessario un export personalizzato dal modulo Soggetti (formato JSON o CSV).
Per quanto tempo devo conservare i log privacy?
Il GDPR non specifica un termine preciso per i log di accountability. La prassi consigliata è conservarli per almeno 5 anni (termine prescrizionale per le sanzioni) o per la durata del trattamento. I log nel sistema sono persistenti e non eliminabili.
Quali sono le sanzioni in caso di non conformità?
L'art. 83 GDPR prevede due fasce: fino a 10 milioni di euro o 2% del fatturato per violazioni organizzative (registro, DPO, sicurezza), e fino a 20 milioni o 4% del fatturato per violazioni dei principi fondamentali e dei diritti degli interessati. Il Garante italiano ha inoltre poteri di ispezione, blocco del trattamento e pubblicazione dei provvedimenti.
Come gestisco i dati sanitari dei pazienti?
I dati sanitari sono dati particolari (art. 9 GDPR). Richiedono: consenso esplicito (non implicito), misure di sicurezza rafforzate, registro trattamenti specifico con base giuridica “Consenso esplicito (art. 9.2.a)”. Per gli studi medici, il trattamento è lecito anche sulla base dell'art. 9.2.h (finalità di medicina preventiva o del lavoro).
Il log privacy costituisce prova in caso di ispezione?
Sì. Il log è uno strumento di accountability (art. 5.2 GDPR). Dimostra che l'organizzazione ha adottato misure concrete per la conformità: consensi tracciati, richieste evase nei termini, breach gestiti e notificati. In caso di ispezione del Garante, il log cronologico è uno dei primi documenti richiesti.
Uno studio di naturopatia è considerato attività sanitaria ai fini GDPR?

Formalmente no, ma ai fini Privacy sì. La naturopatia è una professione non organizzata in ordini o collegi ai sensi della Legge 4/2013: il naturopata non è un esercente professione sanitaria, non può diagnosticare né prescrivere farmaci, non ha accesso al Sistema TS e le sue prestazioni non rientrano nell'esenzione IVA art. 10 n. 18 DPR 633/72.

Però tratta sistematicamente "dati relativi alla salute" (sintomi, terapie alternative, intolleranze, allergie, integratori, ecc.) che ricadono nelle categorie particolari ex art. 9 GDPR. Il Garante Privacy italiano ha più volte chiarito che la qualifica formale dell'operatore (sanitario o meno) non cambia la natura dei dati trattati: se raccogli informazioni sulla salute di una persona, applichi l'art. 9 GDPR.

Conseguenze pratiche per uno studio di naturopatia configurato in NOX:

  • Sistema TS — modulo declassato e disattivabile (non applicabile)
  • Esenzione IVA prestazioni sanitarie — non applicabile (Natura IVA N4 utilizzabile solo in casi specifici autorizzati)
  • GDPR/Privacyindispensabile e non disattivabile: consenso esplicito per dati salute, registro trattamenti specifico, misure di sicurezza rafforzate (art. 32), notifica data breach in 72h (art. 33-34), eventuale DPIA per trattamenti su larga scala (art. 35)

È paradossale ma corretto: la naturopatia non è sanitaria a fini fiscali/professionali, ma è quasi sanitaria a fini Privacy. Il pallino rosso (indispensabile) su GDPR/Privacy nel pacchetto BASE per un workspace "Studio di Naturopatia" è quindi voluto e va lasciato attivo.

15Registro trattamenti (art. 30 GDPR)
🔑 Visibilità condizionata (certificazione v 2.2) — Questo modulo è accessibile solo se:
Pacchetto BASE attivo sul workspace (configurabile da SUPERADMIN in /admin/pacchetti)
Profilo attività compatibile: Tutti i profili
Permesso utente abilitato in Modifica Utente → Moduli
I tre livelli si applicano in intersezione. Dettagli completi in Gerarchia Pacchetti+Profilo+Utente.

Elenco formale dei trattamenti con finalità, base giuridica, categorie dati, retention.

Tabella: gdpr_trattamenti. Endpoint CRUD: GET / POST / DELETE /api/gdpr/trattamenti.

L'audit sulle modifiche al registro è in roadmap v 2.3 (oggi le modifiche non lasciano traccia).
16Audit consensi esteso

Ogni modifica ad un consenso (dato / revocato) è registrata in due posti per compatibilità + granularità.

Log legacy (compatibilità)

Tabella gdpr_log: azione (CONSENSO_DATO / CONSENSO_REVOCATO), username, dettagli.

Log esteso (certificazione v 2.2)

Tabella log_consensi_gdpr con campi aggiuntivi: soggettoId, campo modificato, valore vecchio/nuovo, motivazione opzionale, timestamp.

Consultabile tramite: GET /api/gdpr/consensi/:id/audit-log.

La motivazione permette di documentare il contesto in cui il consenso è stato raccolto o revocato (es. "revocato su richiesta scritta del 15/03").
17Log accessi dati personali

Tabella log_accessi_dati_personali per tracciare gli accessi a dati sensibili di soggetti interessati.

OperazioneQuando registrare
READLettura scheda anagrafica o documenti personali
EXPORTDownload di dati personali in CSV/PDF
MODIFYModifica dati personali
DELETECancellazione richiesta interessato
ANONAnonimizzazione (diritto oblio senza cancellazione)

Come registrare un accesso

Chiamata: POST /api/gdpr/log-accessi con body: { soggettoId, operazione, entita, entitaId, motivazione }. L'IP e l'utente sono estratti automaticamente dalla request.

Consultazione

GET /api/gdpr/log-accessi [ADMIN] con filtri: soggettoId, utente, operazione. Limit default 200.

18Richieste interessati (artt. 15-22)

Gestione richieste di accesso, rettifica, cancellazione, portabilità con scadenza 30 giorni.

Tabella gdpr_richieste. Stato della richiesta tracciato con data di apertura e data di chiusura. Alert scadenza pianificato per v 2.3.

Il Garante Privacy applica sanzioni amministrative per mancata risposta nei 30 giorni (art. 83 GDPR).
19Data breach (artt. 33-34)

Registro separato per violazioni dei dati personali con notifica all'Autorità Garante e agli interessati.

Endpoint: GET /api/gdpr/breaches per lista, POST per registrare nuova violazione. Notifica Garante Privacy entro 72 ore (obbligo art. 33).

La notifica automatica via PEC al Garante è in roadmap v 2.3.
20Diritto all'oblio (anonimizzazione)

L'interessato può richiedere la cancellazione dei propri dati personali (GDPR art. 17). Per i dati con obbligo di conservazione fiscale (10 anni, art. 2220 c.c.) la cancellazione fisica non è possibile; al suo posto si esegue anonimizzazione.

Endpoint

POST /api/gdpr/anonimizza/:soggettoId (richiede ruolo ADMIN)

Body JSON obbligatorio: { "motivazione": "riferimento alla richiesta dell'interessato" }

Cosa viene anonimizzato

  • cognome, nome → "ANONIMIZZATO (#ID)"
  • email, telefono, cellulare, pec → null
  • indirizzo, cap, località, provincia, paese → null
  • ragioneSociale (se presente) → "ANONIMIZZATO (#ID)"
  • ibanSoggetto → null
  • note → "Anonimizzato il [data] da [utente] — [motivazione]"

Cosa viene preservato

  • Codice Fiscale e Partita IVA — necessari per conservazione fiscale
  • Documenti fiscali collegati (fatture, scadenze) — per obblighi ex art. 2220 c.c.
  • Integrità referenziale — tutti i riferimenti al soggetto continuano a funzionare

Tracciabilità

  • Evento operazione=ANON in log_accessi_dati_personali con motivazione e IP
  • Ogni campo modificato registrato in log_modifiche_soggetti con valore vecchio mascherato come ***ANON*** (l'obiettivo dell'oblio è non lasciare traccia del valore originale)
Irreversibile: dopo l'anonimizzazione i dati originali non sono più recuperabili. Valutare con il responsabile privacy prima di procedere.
Riferimenti normativi: GDPR art. 17 (diritto alla cancellazione), art. 2220 c.c. (conservazione scritture), art. 8 DPR 633/72.
21Portabilità dati (art. 20 GDPR)

L'interessato ha diritto di ricevere i propri dati personali in un formato strutturato, di uso comune e leggibile da dispositivo automatico (GDPR art. 20).

Endpoint

GET /api/gdpr/export/:soggettoId (richiede ruolo ADMIN)

Query param opzionale: ?motivazione=riferimento (viene registrato nel log accessi)

Risposta: file JSON scaricabile gdpr_export_soggetto_<id>_<YYYY-MM-DD>.json

Struttura del payload

SezioneContenuto
metadatidata export, utente, riferimento GDPR art. 20, versione formato
soggettoanagrafica completa (cognome, nome, recapiti, fiscali, ruoli)
documentiultimi 500 documenti collegati (fatture, DDT, preventivi...)
scadenzeultime 500 scadenze di pagamento
consensistato consensi privacy registrati
auditModificheultimi 200 log modifiche anagrafica
accessiDatiultimi 200 log accessi ai dati personali

Tracciabilità

Ogni chiamata registra un evento operazione=EXPORT in log_accessi_dati_personali con: utente, data/ora, IP, motivazione opzionale. L'interessato può verificare gli export eseguiti sui suoi dati.

Il formato JSON è machine-readable come richiesto dall'art. 20. Può essere inviato via PEC all'interessato come risposta alla sua richiesta.
22Retention automatica cestino

Job schedulato che ogni giorno alle 03:15 UTC elimina fisicamente dal cestino gli elementi rimasti oltre il periodo di conservazione configurato.

Due livelli di retention

CategoriaRetentionModuli
Commerciale90 giorni (default)Opportunità, Attività CRM, Soggetti (non linked), Catalogo, Listini, Sconti, Spedizioni, Utenti
Fiscale3650 giorni = 10 anniDocumenti, Scadenze, Prima Nota, Piano dei Conti, Lettere Intento, Magazzino

Configurazione

Variabili d'ambiente configurabili:

  • CESTINO_RETENTION_DAYS = 90 (default commerciale)
  • CESTINO_RETENTION_DAYS_FISCAL = 3650 (default fiscale — art. 2220 c.c.)

Protezioni

  • Per i soggetti il job verifica l'assenza di record collegati prima di eliminare: se ci sono documenti/scadenze l'eliminazione viene saltata
  • Per i moduli fiscali la retention a 10 anni garantisce il rispetto dell'art. 2220 c.c.
  • Il log di ogni esecuzione (conteggi per modulo) viene stampato nei log del backend
L'eliminazione del cestino è irreversibile. Gli elementi rimossi dal cestino prima del limite retention tramite azione manuale Definitivo vengono eliminati subito (con motivazione obbligatoria tracciata).
Riferimenti: GDPR art. 5.1(e) — principio di limitazione della conservazione. Art. 2220 c.c. — obbligo conservazione scritture contabili 10 anni.