heygrc
GDPR databescherming door ontwerp en standaardinstelling in code

De standaardinstelling is de instelling die iedereen krijgt.

Databescherming door ontwerp en standaardinstelling, Art. 25, heeft twee kanten. Door ontwerp: privacy is ingebouwd in de werking van een functie, niet achteraf toegevoegd. Standaardinstelling: zonder dat iemand een instelling aanpast, verwerkt het systeem alleen de persoonsgegevens die nodig zijn voor het doel, en maakt het persoonsgegevens niet toegankelijk voor meer mensen dan noodzakelijk. De tweede kant is degene die in een diff leeft, omdat een standaardinstelling een letterlijke waarde in code is, en wat het ook is, wordt de instelling voor elke gebruiker die de instellingenpagina nooit opent.

How it shows up in a diff

The shapes the same control failure takes.

Art. 25 gaat zelden mis door een instelling die niemand aanbiedt. Het gaat mis omdat de standaardwaarde van een instelling de verkeerde kant op wijst, of omdat de verwerking breder start dan nodig is. De terugkerende patronen:

  • Een zichtbaarheidsstandaardinstelling is openbaar

    Een nieuw profiel, bericht of documentveld is standaard openbaar, gedeeld of doorzoekbaar, waardoor de persoonsgegevens van iemand worden blootgesteld aan een onbepaald publiek, tenzij ze de schakelaar vinden en aanpassen.

  • Een opt-out waar het een opt-in had moeten zijn

    Een toestemmingsvlag, een marketinginstelling of een gegevensdelingsoptie staat standaard aan, waardoor verwerking plaatsvindt voor iedereen die het niet actief uitschakelt.

  • Een brede reikwijdte is de standaardselectie

    Een nieuwe functie kiest standaard de breedste gegevensreikwijdte (alle contacten, de hele organisatie, elk veld) terwijl de smallere reikwijdte het doel had kunnen dienen.

  • Een privacycontrole is toegevoegd maar staat standaard uit

    Een redactie, een publiekbeperking of een bewaartermijn is gebouwd (door ontwerp) maar wordt standaard uitgeschakeld, waardoor de bescherming alleen bestaat voor gebruikers die deze inschakelen.

  • Een veiligere standaardinstelling wordt versoepeld om adoptie te vergemakkelijken

    Een bestaande standaardinstelling die privé was, wordt omgezet naar openbaar of gedeeld om een functie nuttiger te laten voelen, waardoor de blootstelling voor iedereen in één keer wordt vergroot.

Worked example

Een profielfunctie die standaard openbaar wordt uitgerold.

Een nieuwe functie voor openbare profielen laat gebruikers een naam, bio en foto tonen. De migratie die de zichtbaarheidskolom toevoegt, stelt deze standaard in op 'public', zodat het profiel van elke bestaande en nieuwe gebruiker voor iedereen zichtbaar is, en privé zijn iets wat je in de instellingen moet kiezen.

migrations/0042_add_profiles.sql+1 -0
ALTER TABLE profiles  ADD COLUMN bio text,+  ADD COLUMN visibility text NOT NULL DEFAULT 'public';
heygrcGDPR Art. 25(2)

Hierdoor is elk profiel zichtbaar voor een onbepaald publiek zonder dat de persoon dit kiest, omdat 'public' de standaard is. Art. 25(2) (databescherming door standaardinstelling) verwacht dat de privacybeschermende optie de standaard is: persoonsgegevens mogen niet toegankelijk worden gemaakt voor meer mensen dan noodzakelijk zonder tussenkomst van de betrokkene. Stel de kolom standaard in op 'private' en laat gebruikers kiezen voor openbaar, in plaats van dat ze moeten afmelden.

What an auditor does with this

Standaardinstelling betekent de waarde in de code.

Een databeschermingsreview controleert niet alleen of een privacy-instelling bestaat, maar ook wat deze doet wanneer niemand deze aanpast. De standaard is de standaardtoestand: welke gegevens worden verwerkt, en wie kan deze zien, voor een gebruiker die de instellingenpagina nooit opent. Een controle die technisch aanwezig is maar standaard naar de minder beschermende optie wijst, is precies het soort standaardtoestandsprobleem waar Art. 25(2) op gericht is, en de standaard wordt ingesteld in een migratie, een model of een configuratieregel, één functie tegelijk. Dat is de regel die een review van de diff kan opvangen, voordat het de ervaring wordt die elke gebruiker krijgt.

What this is, and is not

Een review, geen juridisch advies.

heygrc markeert wijzigingen waarbij een standaardinstelling meer persoonsgegevens blootstelt dan noodzakelijk en verwijst naar het artikel, zodat de keuze in de pull request wordt gemaakt. Het voert geen databeschermingseffectbeoordeling uit of doet geen juridische uitspraak. Het vangt het moment op waarop een standaard de verkeerde kant op wijst, in de diff, terwijl het nog maar één regel is om te wijzigen.