Misure tecniche e organizzative (TOMs)
Misure ai sensi dell'Art. 32 GDPR che garantiscono la sicurezza del trattamento dei dati personali sulla piattaforma NISD2.eu.
Ultimo aggiornamento: giugno 2026.
Questo documento descrive le misure tecniche e organizzative effettivamente implementate da Simon Orzel in qualità di gestore della piattaforma NISD2.eu. È un inventario onesto, non una lista di desideri: elenchiamo soltanto ciò che è già in atto.
Le misure sono allineate con IT-Grundschutz (BSI) e saranno ampliate man mano che la piattaforma cresce.
Il trattamento in produzione dei dati personali avviene esclusivamente all'interno dell'UE:
- Server applicativi e database PostgreSQL: Hetzner Online GmbH, data center di Falkenstein/Norimberga, Germania
- Archiviazione dei documenti di evidenza caricati: AWS S3, regione UE
- Nessun trattamento di dati di produzione al di fuori dell'UE. I sub-servizi statunitensi (Resend per le email transazionali, xAI per la precompilazione opzionale assistita da IA) trattano soltanto i dati necessari alla loro funzione.
- Cifratura del trasporto: TLS per tutte le connessioni alla piattaforma (HTTPS)
- Cifratura a riposo: cifratura lato server di AWS S3 (AES256, impostata esplicitamente a ogni caricamento tramite PutObject); dati PostgreSQL sull'infrastruttura Hetzner
- Le credenziali e le chiavi API sono gestite tramite variabili d'ambiente del server, non memorizzate nel codice sorgente o nei database
Misure che garantiscono la riservatezza:
- Controllo degli accessi fisici: i data center dei fornitori di hosting (Hetzner, AWS) sono in possesso di certificazioni ISO 27001
- Misure relative al personale: l'accesso ai sistemi di produzione e ai dati personali è limitato a un gruppo ristretto e nominativo vincolato alla riservatezza. L'accesso segue il principio del privilegio minimo e viene revocato quando un ruolo termina.
- Autenticazione: accesso con indirizzo e-mail e password oppure tramite Google OAuth 2.0. Le password sono conservate esclusivamente come hash bcrypt con fattore di costo 12, mai in chiaro. Nella registrazione con password l'indirizzo e-mail viene confermato una volta con un codice monouso, e i tentativi di accesso falliti sono limitati a 10 in 15 minuti per istanza applicativa. La piattaforma non offre un secondo fattore sul percorso con password. Chi accede con Google utilizza la MFA del proprio account Google.
- Autorizzazioni basate sui ruoli: admin, reviewer, member; applicate a livello applicativo tramite middleware tRPC
- Isolamento multi-tenant: ogni query che gestisce dati filtra a livello di database in base all'ID aziendale dell'utente autenticato; nessun pool di dati condiviso tra i clienti
- Le password non vengono mai conservate in chiaro. Ogni accesso viene confrontato con un hash bcrypt, anche quando per l'indirizzo indicato non esiste alcun account, così che il tempo di risposta non riveli chi è registrato.
- Controllo degli input: audit trail di tutte le mutazioni che acquisisce ID utente, azione, tipo di entità, marca temporale, indirizzo IP, user agent e valori precedenti/successivi
- Rilevamento delle manomissioni dell'audit trail: ogni riga di audit reca un checksum SHA-256 sul proprio contenuto, in modo che le modifiche a una riga siano rilevabili
- Controllo del trasferimento: trasmissione dei dati solo tramite TLS; tutti gli endpoint autenticati richiedono una sessione valida
- Documenti di evidenza: la posizione di archiviazione e i metadati vengono scritti al caricamento; un hash SHA-256 opzionale fornito dal client può essere memorizzato insieme al file
- Meccanismo di approvazione: al momento dell'approvazione, lo stato del requisito viene fotografato in una tabella di cronologia delle approvazioni le cui voci formano una catena SHA-256 (il checksum di ciascuna voce copre quello precedente): la manomissione della cronologia è rilevabile da estremo a estremo
- Backup del database secondo le impostazioni predefinite del servizio Hetzner Cloud; i dettagli sulla configurazione attuale dei backup sono disponibili su richiesta
- Archiviazione dei documenti di evidenza in AWS S3 con le garanzie di durabilità degli oggetti fornite da AWS
- Rate limiting sui tentativi di login, sugli endpoint pubblici (verifica di applicabilità, portale fornitori) e sugli endpoint autenticati ad alto consumo di risorse (esportazioni PDF, generazione di certificati)
- I file caricati sono limitati a 50 MB per file
- Indicatore di disponibilità: nisd2.eu/status verifica a ogni richiesta la raggiungibilità del database e mostra pubblicamente il risultato, con una cache di 30 secondi. Non gestiamo un monitoraggio continuo con allarme automatico.
- Queste TOMs sono riesaminate al verificarsi di un evento e almeno una volta all'anno
- Aggiornamenti delle dipendenze e delle librerie rilevanti per la sicurezza: Dependabot è attivo per far emergere patch di sicurezza e aggiornamenti di versione come pull request con cadenza settimanale
- Obblighi di notifica: le violazioni dei dati personali saranno segnalate all'autorità di controllo competente entro 72 ore ai sensi dell'Art. 33 GDPR
- Prassi di sviluppo: le modifiche al codice passano attraverso pull request; vengono applicati i controlli di tipo strict-mode di TypeScript; test automatizzati mirati coprono la logica critica per la sicurezza (ad esempio la classificazione di applicabilità)
Tutti i sub-responsabili del trattamento sono vincolati da contratti ai sensi dell'Art. 28 GDPR. L'elenco completo è nel documento DPA.
Le domande su queste TOMs o sul nostro trattamento dei dati vanno inviate a: