Form e consensi GDPR
Come impostare correttamente un form che raccoglie dati personali: base giuridica, informativa, consensi granulari e l'errore diffuso della checkbox "accetto la privacy".
I form sono il punto in cui un sito raccoglie dati personali, e quindi il punto in cui si concentrano gli errori più gravi. La maggior parte è evitabile con tre decisioni prese bene all’inizio.
1. Individuare la base giuridica
Ogni trattamento ha bisogno di una base giuridica (art. 6 GDPR). Non è una formalità: determina cosa puoi fare con i dati e quali diritti ha l’utente.
| Tipo di form | Base giuridica tipica | Perché |
|---|---|---|
| Contatti / preventivo | Misure precontrattuali (art. 6.1.b) | L’utente scrive per avviare un rapporto |
| Newsletter | Consenso (art. 6.1.a) | Comunicazione non richiesta da un contratto |
| Registrazione account | Esecuzione del contratto (art. 6.1.b) | Il servizio richiede l’account |
| Checkout | Esecuzione del contratto (art. 6.1.b) | Serve a eseguire l’ordine |
| Fatturazione | Obbligo legale (art. 6.1.c) | Imposto dalla normativa fiscale |
Attenzione. Un errore frequente è usare il consenso come base per tutto. Per un form contatti è la scelta peggiore: se l’utente lo revoca, dovresti cancellare una richiesta commerciale che stai gestendo. La base corretta è quasi sempre l’art. 6.1.b.
2. La checkbox “accetto la privacy” non va messa
È l’errore più diffuso in assoluto, e va in direzione opposta a quella che si crede.
L’informativa privacy (art. 13 GDPR) è un obbligo informativo del titolare: devi fornirla, non farla accettare. Non c’è nulla da consentire. Rendere obbligatoria una checkbox “ho letto l’informativa”:
- non aggiunge alcuna tutela per l’utente;
- confonde la base giuridica, facendo sembrare consenso ciò che consenso non è;
- è stata più volte indicata come prassi scorretta dal Garante.
Sbagliato:
<label>
<input type="checkbox" name="privacy" required />
Accetto l'informativa privacy
</label>
Corretto: l’informativa si fornisce con un link visibile nel punto di raccolta:
<p>
Trattiamo i tuoi dati per rispondere alla tua richiesta.
Leggi l'<a href="/privacy">informativa privacy</a>.
</p>
La checkbox serve solo dove c’è un vero consenso da raccogliere: newsletter, marketing, profilazione.
3. Consensi granulari, dove servono davvero
Quando il consenso è la base corretta, deve essere specifico per finalità (art. 7 e considerando 32, 43). Vedi consensi granulari.
Esempio completo: form contatti
Base contrattuale, nessuna checkbox privacy, informativa linkata, campi etichettati e accessibili:
<form method="post" action="/invia">
<label for="nome">Nome</label>
<input id="nome" name="nome" type="text" required autocomplete="name" />
<label for="email">Email</label>
<input id="email" name="email" type="email" required autocomplete="email" />
<label for="messaggio">Messaggio</label>
<textarea id="messaggio" name="messaggio" required></textarea>
<label>
<input type="checkbox" name="newsletter" />
Voglio ricevere anche la newsletter (facoltativo)
</label>
<p>
I dati servono a rispondere alla tua richiesta.
Leggi l'<a href="/privacy">informativa privacy</a>.
</p>
<button type="submit">Invia</button>
</form>
Punti da notare:
- ogni campo ha una
<label>associata viafor/id, requisito di accessibilità, non solo di usabilità; autocompletecorretto (WCAG 1.3.5);- la newsletter è un consenso separato e facoltativo, non
required; - nessuna checkbox per l’informativa.
Regole ferree
- Mai
checkeddi default su un consenso: un consenso pre-spuntato non è consenso (considerando 32). - Mai condizionare il servizio a un consenso non necessario per erogarlo (art. 7, par. 4): se il form contatti funziona solo spuntando “marketing”, il consenso non è libero e quindi non è valido.
- Il consenso facoltativo non è
required. - Documenta il consenso raccolto: chi, quando, per cosa. Vedi double opt-in e accountability.
Cosa verificare
- Ogni form ha una base giuridica identificata (e documentata nel registro dei trattamenti).
- Nessuna checkbox “accetto la privacy” obbligatoria.
- L’informativa è linkata nel punto di raccolta, non solo nel footer.
- Nessun consenso pre-spuntato.
- I consensi facoltativi non bloccano l’invio.
- Ogni input ha una label associata.