Conformità al GDPR: è un problema di ingegneria
Il GDPR non è solo un documento legale. Richiede architetture di database, flussi di lavoro di eliminazione e gestione del consenso specifici.
Il divario tecnico-legale
Gli avvocati scrivono la Privacy Policy. Gli ingegneri scrivono lo schema del database. Se non parlano ti denunciano. Il GDPR (Regolamento generale sulla protezione dei dati) conferisce agli utenti i diritti:
- Diritto di accesso: “Mostrami quello che sai di me.”
- Diritto alla cancellazione (Diritto all’oblio): “Cancella tutto di me.”
- Diritto alla portabilità: “Dammi un CSV dei miei dati.” La maggior parte delle startup lo ignora. “Lo faremo manualmente se qualcuno lo chiede.” Quindi un utente chiede. E ti rendi conto che i loro dati sono sparsi tra Postgres, Salesforce, Stripe, Mailchimp e S3 Logs. Trascorri 2 settimane a eliminarlo manualmente. La conformità al GDPR deve essere un Codice automatizzato.
Perché Maison Code ne parla
Noi di Maison Code operiamo nell’UE (Parigi). Il GDPR fa naturalmente parte del nostro DNA. Aiutiamo le aziende statunitensi a lanciarsi in Europa. Sono spesso scioccati dalla severità (“Aspetta, non posso semplicemente seguire tutti?”). Implementiamo la Privacy by Design. Architettiamo il sistema in modo che “Eliminazione di un utente” si estenda correttamente a tutti i sistemi. Ne parliamo perché la Privacy è il nuovo Lusso. Il rispetto dei dati degli utenti crea fiducia.
Implementazione tecnica: la cascata di eliminazioni
Come attuare il “Diritto alla cancellazione”?
Cattivo modo: DELETE FROM users WHERE id = 1.
Ciò fallisce a causa delle chiavi esterne (la tabella “Ordini” fa riferimento a “Utente”).
Oppure lascia “Dati orfani” nell’analisi.
Buona soluzione: Anonimizzazione. Non elimini l’ordine (ne hai bisogno per imposte/contabilità). Puoi strofinare le PII (informazioni di identificazione personale).
AGGIORNARE gli utenti
IMPOSTARE
email = 'eliminato-' || id || '@anon.com',
nome = 'Anonimo',
telefono = NULL,
indirizzo = NULL
DOVE id = ?;
Ora le statistiche finanziarie rimangono corrette (“Abbiamo venduto € 100”), ma l’utente non c’è più.
Il cookie banner (modalità di consenso v2)
Non è possibile rilasciare i cookie di Google Analytics finché l’utente non è d’accordo. La modalità di consenso di Google v2 sarà obbligatoria nel 2024. Segnala ai tag di Google se hanno l’autorizzazione per monitorare lo spazio di archiviazione.
- Predefinito:
ad_storage: 'denied',analytics_storage: 'denied'. - L’utente fa clic su “Accetta”:
- Aggiornamento:
gtag('consenso', 'aggiornamento', { ... 'concesso' }).
Questa logica deve essere codificata nel tuo script “head”. Attenzione: se carichi lo script GTM prima della verifica del consenso, hai violato il GDPR.
Residenza dei dati
“Dov’è il server?”
Il GDPR preferisce che i dati rimangano nell’UE.
Se utilizzi AWS us-east-1 (Virginia), stai trasferendo dati al di fuori dell’UE.
Sono necessari quadri giuridici basati sulle clausole contrattuali standard (SCC).
Best practice: scegli AWS Francoforte (eu-central-1) o Parigi (eu-west-3).
Conserva i dati degli utenti europei nell’UE.
Loghi e backup
Questa è la trappola nascosta.
Hai eliminato l’utente dal Live DB.
Ma i loro dati sono nel Backup creato ieri.
Ed è nei log di accesso (i log di nginx spesso contengono indirizzi IP).
Suggerimento per la conformità: non è necessario cancellare immediatamente i backup (impossibile).
Ma è necessario disporre di un processo in cui il ripristino non autorizzato dei backup reintroduce i dati eliminati.
Di solito, i backup scadono naturalmente dopo 30 giorni. Si tratta di una “cancellazione presunta” conforme.
Per i log: ruotarli ogni 30 giorni. Anonimizza gli IP nei log (192.168.x.x).
##7. Il ROPA (Registro dei Trattamenti)
L’articolo 30 del GDPR richiede di documentare cosa fai. Hai bisogno di una Mappa dati.
- Fonte: Registrazione utente.
- Dati: e-mail, nome, IP.
- Destinazione: Postgres (DB), Mailchimp (Marketing), Sentry (Log).
- Mantenimento: Durata dell’account + 3 anni. Questo documento deve essere attivo. Lo automatizziamo taggando i nostri schemi di database (commenti Prisma) e generando automaticamente il ROPA durante CI/CD. “La documentazione come codice”.
8. Formazione dei dipendenti: il firewall umano
Puoi avere la migliore crittografia al mondo. Ma se il tuo agente dell’assistenza invia tramite email un CSV di utenti al loro Gmail personale… sei violato. Il Phishing è il vettore numero 1. Imponiamo l’igiene della minimizzazione dei dati.
- Non perdere tempo con le informazioni sui clienti. Usa gli ID.
- Non inserire informazioni personali nei ticket Jira.
- Utilizza “yubikeys” (2FA) per l’accesso amministratore. La tecnologia non può risolvere la stupidità, ma il processo può limitare i danni.
10. Portabilità dei dati (esportazione JSON)
Utente: “Dammi i miei dati.” Non puoi inviare loro un dump SQL non elaborato. È necessario fornire un “formato strutturato, di uso comune e leggibile da dispositivo automatico” (articolo 20). Costruiamo un pulsante self-service: “Scarica i miei dati”. Attiva un lavoro in background.
- Recupera profilo, ordini, messaggi.
- Pulisci i flag interni (
is_banned: true- forse mantienilo interno). - Genera JSON.
- Collegamento protetto via e-mail (scade tra 24 ore). Ciò soddisfa i requisiti legali senza intervento umano.
11. Gestione del rischio del fornitore (subresponsabili del trattamento)
Sei responsabile dei tuoi fornitori. Se invii e-mail tramite SendGrid e SendGrid viene violato, TU sei responsabile. Il GDPR richiede di elencare tutti i “Sub-responsabili”. Se ne aggiungi uno nuovo (ad esempio, passando a Klaviyo), devi informare tecnicamente gli utenti (aggiornare l’Informativa sulla privacy). Manteniamo un “registro dei sub-responsabili” nel pannello di amministrazione per tenere traccia di chi ha accesso a quali dati.
12. Il punto di vista dello scettico
“Uccide la mia analisi.” VERO. Perderai circa il 30% dei dati (utenti che negano i cookie). Accettalo. I dati che ottieni sono di qualità superiore (intento elevato). Inoltre, il “Conversion Modeling” di Google aiuta a colmare le lacune utilizzando l’intelligenza artificiale. Il rispetto della privacy è una risorsa del marchio a lungo termine. Essere inquietanti è una responsabilità.
Domande frequenti
D: Il CCPA (California) funziona allo stesso modo? R: Per lo più sì. Se sei conforme al GDPR, sei conforme al 95% al CCPA. Il GDPR è l‘“High Water Mark”. Punta a quello.
D: Che dire del “legittimo interesse”? R: Puoi archiviare i dati senza consenso se sono essenziali per il servizio (ad esempio, l’indirizzo di spedizione per consegnare un pacco). Non è possibile utilizzare quell’indirizzo per l’esecuzione del marketing senza un consenso specifico.
Conclusione
La conformità è ingegneria. Richiede la mappatura dei dati. Richiede API. Richiede di trattare i “dati utente” come una “risorsa tossica” che si desidera conservare il meno possibile. Ridurre al minimo la raccolta. Massimizza la fiducia.
Rischio di multe?
Le sanzioni previste dal GDPR possono rappresentare il 4% del fatturato globale. Maison Code conduce controlli di conformità tecnica. Mappiamo i tuoi flussi di dati, implementiamo script di anonimizzazione e proteggiamo la gestione del tuo consenso.
Contattaci per evitare multe.
Preoccupato per le multe?
Implementiamo la conformità tecnica al GDPR (diritto alla cancellazione, anonimizzazione dei dati, consenso sui cookie) direttamente nel tuo stack. Assumi i nostri architetti.