heygrc
Ochrona danych wg GDPR przez projektowanie i domyślne ustawienia w kodzie

Domyślne ustawienie to to, które otrzymuje każdy.

Ochrona danych przez projektowanie i domyślne ustawienia, Art. 25, składa się z dwóch części. Przez projektowanie: prywatność jest wbudowana w działanie funkcji, a nie dodawana później. Domyślnie: bez ingerencji użytkownika system przetwarza jedynie dane osobowe niezbędne do celu i nie udostępnia danych osoby szerszemu gronu niż to konieczne. Druga część żyje w diffie, ponieważ domyślna wartość to dosłowna wartość w kodzie, a cokolwiek tam jest, staje się ustawieniem dla każdego użytkownika, który nigdy nie otworzy strony ustawień.

How it shows up in a diff

The shapes the same control failure takes.

Art. 25 rzadko jest naruszany przez brak opcji. Naruszany jest, gdy domyślna wartość ustawienia wskazuje niewłaściwy kierunek lub przetwarzanie zaczyna się na szerszym zakresie niż to konieczne. Powtarzające się wzorce:

  • Domyślna widoczność jest ustawiona na publiczną

    Nowe pole profilu, post lub dokument domyślnie jest publiczne, udostępniane lub odkrywalne, więc dane osoby są narażone na nieokreślone grono odbiorców, chyba że użytkownik znajdzie przełącznik i zmieni go.

  • Opcja wyłączenia zamiast włączenia

    Flaga zgody, ustawienie marketingowe lub opcja udostępniania danych domyślnie jest włączona, więc przetwarzanie dotyczy wszystkich, którzy aktywnie jej nie wyłączą.

  • Domyślny zakres jest zbyt szeroki

    Nowa funkcja domyślnie używa najszerszego zakresu danych (wszyscy kontakty, cała organizacja, wszystkie pola), podczas gdy węższy zakres wystarczyłby do realizacji celu.

  • Kontrola prywatności jest dodana, ale domyślnie wyłączona

    Cenzura, ograniczenie odbiorców lub limit retencji jest zaimplementowana (przez projektowanie), ale domyślnie wyłączona, więc ochrona dotyczy jedynie użytkowników, którzy ją włączą.

  • Bezpieczniejsze domyślne ustawienie jest poluzowane, aby ułatwić adopcję

    Istniejąca domyślnie prywatna wartość jest zmieniana na publiczną lub udostępnianą, aby funkcja wydawała się bardziej użyteczna, poszerzając narażenie dla wszystkich naraz.

Worked example

Funkcja profili dostarczana domyślnie jako publiczna.

Nowa funkcja publicznych profili pozwala użytkownikom wyświetlać imię, biogram i zdjęcie. Migracja dodająca kolumnę widoczności ustawia ją domyślnie na 'public', więc profil każdego istniejącego i nowego użytkownika jest widoczny dla wszystkich, a prywatność to coś, co trzeba wybrać w ustawieniach.

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)

To sprawia, że każdy profil jest widoczny dla nieokreślonego grona odbiorców bez wyboru przez użytkownika, ponieważ 'public' jest domyślnie. Art. 25(2) (ochrona danych domyślnie) oczekuje, że opcja chroniąca prywatność będzie domyślna: dane osoby nie powinny być udostępniane szerszemu gronu niż to konieczne bez jej interwencji. Ustaw domyślnie kolumnę na 'private' i pozwól użytkownikom wybrać opcję publiczną, zamiast zmuszać ich do rezygnacji z niej.

What an auditor does with this

Domyślnie oznacza wartość w kodzie.

Przegląd ochrony danych nie sprawdza jedynie, czy ustawienie prywatności istnieje, ale także, co robi, gdy nikt go nie zmienia. Standardem jest stan domyślny: jakie dane są przetwarzane i kto może je zobaczyć dla użytkownika, który nigdy nie otworzy strony ustawień. Kontrola, która technicznie istnieje, ale domyślnie jest mniej ochronna, to właśnie luka w stanie domyślnym, na którą celuje Art. 25(2), a domyślna wartość jest ustawiana w migracji, modelu lub linii konfiguracji, dla każdej funkcji osobno. To właśnie tę linię może złapać przegląd diffa, zanim stanie się doświadczeniem wszystkich użytkowników.

What this is, and is not

Przegląd, a nie porada prawna.

heygrc sygnalizuje zmiany, w których domyślne ustawienie naraża więcej danych osobowych niż to konieczne, i podaje odpowiedni artykuł, aby decyzja została podjęta w pull request. Nie przeprowadza oceny wpływu na ochronę danych ani nie wydaje orzeczeń prawnych. Wychwytuje moment, w którym domyślne ustawienie wskazuje niewłaściwy kierunek, w diffie, gdy wciąż jest to jedna linia do zmiany.