heygrc
Gids

Een GDPR-bewaartermijnfout opsporen tijdens code review

Een stapsgewijze uitleg van het meest voorkomende GDPR-probleem dat via een normale pull request wordt doorgevoerd: persoonsgegevens die langer worden bewaard dan noodzakelijk, en hoe je dit in de diff kunt opsporen.

het heygrc team

Bewaarbeperking, GDPR Art. 5(1)(e), stelt dat persoonsgegevens niet langer mogen worden bewaard dan noodzakelijk voor het doel waarvoor ze zijn verzameld. Dit is een van de plichten die het gemakkelijkst per ongeluk worden geschonden, omdat het toevoegen van een tabel of cache routine is, terwijl het toevoegen van het verwijderingspad het deel is dat iedereen vergeet. Hier wordt uitgelegd hoe de fout door de review glipt en hoe een review deze kan opsporen.

Hoe het door de review glipt

Een functie moet iets over een gebruiker onthouden: een ondersteuningsinteractie, een apparaat, een geüploade document. Er komt een nieuwe tabel bij, de functie werkt, de PR wordt goedgekeurd. Niets lijkt mis, omdat er niets mis is met de code. Wat ontbreekt is onzichtbaar: er is geen bewaartermijn, geen vervaldatumtaak en vaak geen pad voor de bestaande 'verwijder-mijn-account'-stroom om de nieuwe opslag te bereiken.

Zes maanden later zijn er persoonsgegevens zonder gedefinieerde levensduur, en mogelijk gegevens die een verzoek tot verwijdering overleven, wat nu ook een Art. 17-probleem is.

Waar je op moet letten in de diff

Wanneer een wijziging een nieuwe opslag voor persoonsgegevens introduceert, stel dan drie vragen tijdens de review: wat is de bewaartermijn, wat verwijdert de gegevens wanneer die termijn is verstreken, en bereikt het verwijderingspad deze opslag? Als een van de antwoorden ontbreekt, is de wijziging onvolledig vanuit het oogpunt van gegevensbescherming, ook al is deze wel volledig als functie.

De aanwijzing is meestal een migratie of model dat een kolom met persoonsgegevens toevoegt zonder een overeenkomstige wijziging in een bewaartermijn- of verwijderingscodepad in dezelfde PR.

Wat heygrc markeert

heygrc is ontworpen om een nieuwe opslag voor persoonsgegevens te herkennen die zonder bewaartermijn of verwijderingspad wordt toegevoegd, en om dit te melden op basis van Art. 5(1)(e), met een verwijzing naar Art. 17 waar verwijdering in het geding is, als reviewopmerking. Het doel is om het ontbrekende deel van de wijziging zichtbaar te maken terwijl de auteur er nog mee bezig is, niet om een juridische beoordeling te geven.