heygrc
Minimizzazione dei dati GDPR nel codice

Raccogliere più dati di quanti ne servano per lo scopo.

La minimizzazione dei dati, Art. 5(1)(c), stabilisce che si devono raccogliere e conservare solo i dati personali effettivamente necessari per uno scopo, e non di più. Nel codice questa regola viene violata ogni volta che una modifica inizia a catturare, registrare o inviare più dati personali di quanti ne richieda la funzionalità, il che è facile da fare perché inviare l'intero oggetto richiede solitamente meno lavoro che selezionare i campi necessari.

How it shows up in a diff

The shapes the same control failure takes.

La minimizzazione viene violata di rado intenzionalmente. Accade perché la soluzione più comoda trasporta più dati di quelli necessari. Le forme ricorrenti:

  • Un payload si allarga all'intero oggetto

    Un evento, una richiesta o un messaggio viene modificato per inviare un oggetto utente o cliente completo, quando sarebbero bastati un ID e uno o due campi.

  • Un nuovo campo cattura più dati del necessario

    Un modulo, un modello o un'importazione inizia a raccogliere dati personali che la funzionalità non utilizzerà, solo perché erano disponibili.

  • Una riga di log contiene dati personali

    Un log di debug registra un'intera richiesta o record, inserendo dati personali in un archivio di log che non ne aveva bisogno.

  • Un terzo riceve più dati del necessario

    Un'integrazione di analisi, supporto o marketing inizia a ricevere campi che non servono, allargando il numero di soggetti che detengono i dati.

  • Testo libero inviato non redatto

    Un campo che può contenere dati personali (una nota, un messaggio) viene inoltrato o memorizzato senza ridurlo a ciò che lo scopo richiede.

Worked example

Un evento di analisi che invia l'intero utente.

Un prodotto vuole tracciare le iscrizioni nel proprio strumento di analisi. La chiamata più rapida invia l'intero oggetto utente come proprietà dell'evento, inclusi email, nome e indirizzo, quando l'analisi richiede solo un ID e un piano.

analytics/track.ts+1 -1
analytics.track("signup", {-  userId: user.id, plan: user.plan,+  ...user, // send everything, filter later})
heygrcGDPR Art. 5(1)(c)

Inviare l'intero oggetto utente trasmette email, nome e indirizzo al fornitore di analisi, più dati personali di quanti ne servano per tracciare un'iscrizione, e a un nuovo responsabile del trattamento. L'Art. 5(1)(c) (minimizzazione dei dati) richiede che una modifica trasporti solo i dati personali effettivamente necessari per lo scopo. Inviare l'ID e i campi specifici che l'analisi utilizza effettivamente, non l'intero record.

What an auditor does with this

La minimizzazione viene verificata in ogni flusso.

Una revisione di protezione dei dati esamina quali dati personali ogni attività di trattamento raccoglie e invia, e li confronta con lo scopo dichiarato: tutto ciò che va oltre quanto necessario è un riscontro. I nuovi flussi di dati verso terze parti ricevono particolare attenzione, perché ampliano il numero di soggetti che detengono i dati e possono sollevare anche questioni di trasferimento. Questi flussi vengono creati nel codice, un'integrazione o un evento alla volta, ed è lì che viene effettivamente presa la decisione sulla minimizzazione.

What this is, and is not

Una revisione, non una consulenza legale.

heygrc segnalerà le modifiche che interessano la minimizzazione dei dati e citerà l'articolo in modo che la correzione avvenga nella pull request. Non decide la base giuridica del trattamento né mantiene i registri delle attività di trattamento. Intercetta il momento in cui una modifica inizia a trasportare più dati personali di quanti ne servano, direttamente nel diff.