Eliminazione che deve raggiungere ovunque.
Il diritto alla cancellazione, Art. 17, conferisce alle persone il diritto di vedere i propri dati personali eliminati in circostanze definite. Mentre la limitazione della conservazione riguarda la durata di mantenimento dei dati, la cancellazione riguarda la possibilità di rimuoverli effettivamente su richiesta, e questa è una proprietà del percorso di eliminazione: funziona solo se raggiunge ogni luogo in cui risiedono i dati di una persona.
The shapes the same control failure takes.
La cancellazione fallisce quando una copia dei dati personali rimane in un luogo che il percorso di eliminazione non raggiunge. Le forme ricorrenti:
Un nuovo archivio non è collegato all'eliminazione
Una modifica aggiunge un luogo in cui risiedono i dati personali (una cache, un indice di ricerca, un secondo database, un esportazione) e il percorso di eliminazione dell'account non viene aggiornato per cancellarlo, quindi una copia sopravvive.
Un'eliminazione diventa un'eliminazione soft
Un'eliminazione reale viene modificata in un flag (una colonna deleted_at) quindi i dati personali sono ancora presenti, il che non soddisfa la cancellazione.
L'eliminazione è parziale
Il record principale viene eliminato, ma i dati personali correlati in altre tabelle, log o code di messaggi vengono lasciati indietro.
Un responsabile del trattamento non viene informato di eliminare
I dati sono stati inviati a un responsabile del trattamento terzo, e l'eliminazione non viene propagata a loro, quindi una copia a valle persiste.
La cancellazione non è effettivamente raggiungibile
Non esiste un percorso funzionante per eliminare i dati di una determinata persona, ma solo un processo manuale o ad-hoc che non scala e che è facile da sbagliare.
Una nuova copia senza percorso per eliminarla.
Una funzione di ricerca persone aggiunge un indice di ricerca dei profili utente, scritto ad ogni aggiornamento. Funziona. Ma il percorso di eliminazione dell'account non viene aggiornato per cancellare l'indice, quindi dopo una richiesta di cancellazione la persona scompare dal database ma rimane nell'indice.
async function onUserUpdated(user: User) { await db.users.save(user)+ await searchIndex.upsert({ id: user.id, name: user.name, email: user.email })}Questo aggiunge una nuova copia del profilo utente (nome, email) a un indice di ricerca, ma il percorso di eliminazione dell'account non lo cancella, quindi una richiesta di cancellazione non lo raggiungerà. L'Art. 17 (diritto alla cancellazione) richiede che l'eliminazione raggiunga ogni archivio dei dati della persona. Aggiorna il percorso di eliminazione dell'account per rimuovere l'utente anche dall'indice e verifica se esistono altre nuove copie.
La cancellazione viene testata contro ogni copia.
Una revisione di protezione dei dati verifica che una richiesta di cancellazione rimuova effettivamente i dati personali di una persona ovunque siano conservati, non solo dal database principale: cache, indici di ricerca, backup (soggetti alle proprie procedure accettate), analytics e responsabili del trattamento terzi. Il problema è solitamente un archivio aggiunto nel codice senza aggiornare il percorso di eliminazione, proprio il tipo di modifica che una revisione del diff può rilevare prima che venga distribuita.
Una revisione, non il tuo DPO.
heygrc segnalerà le modifiche che interessano il diritto alla cancellazione e citerà l'articolo in modo che la correzione avvenga nella pull request. Non gestisce le richieste degli interessati né emette determinazioni legali. Rileva il momento in cui una nuova copia di dati personali viene aggiunta senza un percorso per eliminarla, direttamente nel diff.