RODO dla programisty - poradnik CNIL

Francuski organ nadzorczy (CNIL) przygotował poradnik dla programistów, w którym radzi, w jaki sposób, w zgodzie z RODO, tworzyć aplikacje i witryny. Poniżej przedstawiamy jego nieoficjalne tłumaczenie. Z oryginałem dokumentu mogą się Państwo zapoznać na stronie: https://www.cnil.fr/en/gdpr-developers-guide

Wstęp
Tworzenie oprogramowania zgodnie z RODO - wstęp

Zapoznaj się z podstawowymi zasadami RODO

Jeśli pracujesz w zespole, zalecamy wyznaczenie osoby odpowiedzialnej za zgodności z przepisami o ochronie danych (compliance). Jeśli w Twojej firmie powołano inspektora ochrony danych (IOD), taka osoba jest kluczowym atutem pozwalającym zrozumieć i wypełnić obowiązki RODO. Wyznaczenie inspektora ochrony danych może być również obowiązkowe w niektórych przypadkach, np. jeśli Twoje programy lub aplikacje przetwarzają tzw. „dane wrażliwe" na dużą skalę lub prowadzą regularne i systematyczne monitorowanie osób na dużą skalę.

Zdefiniuj i opisz operacje przetwarzania

Dokładne odwzorowanie czynności przetwarzania danych wykonywanych przez program lub aplikację pomoże zapewnić zgodność tych czynności z wymogami prawnymi. Prowadzenie rejestru czynności przetwarzania pozwala uzyskać ogólny obraz operacji przetwarzania, aby zidentyfikować i uszeregować pod względem ważności związane z nimi zagrożenia. Dane osobowe mogą znajdować się w mniej oczekiwanych miejscach, takich jak logi serwera, pliki pamięci podręcznej, pliki arkuszy Excela itp. W większości przypadków prowadzenie takiego rejestru jest obowiązkowe.

Ustal priorytety wymaganych działań

Na podstawie rejestru czynności przetwarzania należy określić działania wymagane do spełnienia obowiązków RODO przed rozpoczęciem prac rozwojowych oraz ustalić priorytety dotyczące zagrożeń związanych z przetwarzaniem danych. Dotyczy to w szczególności określenia rodzajów danych, które są gromadzone i przetwarzane przez Twoje oprogramowanie, podstaw prawnych, na których opierają się Twoje operacje przetwarzania, wykonania obowiązku informacyjnego, analizy klauzul umownych wiążących Cię z kontrahentami, warunków korzystania z praw osób trzecich, adekwatności środków wdrożonych w celu zabezpieczenia operacji przetwarzania.

Zarządzaj ryzykiem

W przypadku stwierdzenia, że przetwarzanie danych osobowych może powodować wysokie ryzyko dla osób, których dane dotyczą, należy upewnić się, czy zarządzanie tym ryzykiem jest odpowiednie. Ocena skutków dla ochrony danych (DPIA) może pomóc w zarządzaniu ryzykiem. DPIA jest obowiązkowa w przypadku wszystkich operacji przetwarzania, które mogą stwarzać wysokie ryzyko dla praw i wolności osób, których dane dotyczą.

Wdrożenie procesów wewnętrznych

Aby zapewnić zgodność z przepisami na wszystkich etapach tworzenia oprogramowania, należy zadbać o to, by wewnętrzne procedury gwarantowały uwzględnienie ochrony danych we wszystkich aspektach projektu i we wszystkich zdarzeniach, które mogą wystąpić (np. naruszenie bezpieczeństwa, wnioski osób o dostęp do danych lub sprostowanie danych, zmiana dostawcy usług, naruszenie integralności danych itp.)

Zgodność zmian w dokumentacji

Aby wykazać zgodność z RODO należy zapewnić jej udokumentowanie na każdym etapie rozwoju. Oznacza to w szczególności regularny przegląd i aktualizację dokumentacji, która powinna pozostawać w spójności z funkcjami wdrożonymi w programie.

RODO w IT

Krok 1
Identyfikacja danych osobowych

Zrozumienie pojęć "dane osobowe", "cel" i "przetwarzanie" ma zasadnicze znaczenie dla przestrzegania prawa i ochrony danych użytkowników. W szczególności należy uważać, aby nie mylić pojęć "anonimizacji" i "pseudonimizacji", które zostały bardzo precyzyjnie zdefiniowane w RODO.

Definicja

  • Pojęcie danych osobowych zostało zdefiniowane w RODO jako wszelkie informacje dotyczące zidentyfikowanej lub możliwej do zidentyfikowania osoby fizycznej (zwanej „osobą, której dane dotyczą”). Pojęcie to ma szeroki zakres, obejmuje zarówno dane umożliwiające bezpośrednią identyfikację (np. imię i nazwisko), jak i dane umożliwiające pośrednią identyfikację (np. numer telefonu, numer rejestracyjny, identyfikator terminala itp.).
  • Wszelkie operacje na danych osobowych (gromadzenie, zapisywanie, przekazywanie, modyfikowanie, rozpowszechnianie itp.) stanowią przetwarzanie w rozumieniu RODO, które musi spełniać wymogi określone w tym rozporządzeniu. Operacje przetwarzania muszą być zgodne z prawem i mieć określony cel. Gromadzone i przetwarzane dane osobowe muszą być ograniczone do zakresu, który jest ściśle niezbędny do osiągnięcia celu.

Przykłady danych osobowych

  • Następujące dane, o ile dotyczą osób fizycznych, są danymi osobowymi:
    • nazwisko, imię, pseudonim, data urodzenia;
    • zdjęcia, nagrania dźwiękowe głosów;
    • numer telefonu stacjonarnego lub komórkowego, adres pocztowy, adres e-mail;
    • adres IP, identyfikator połączenia komputerowego lub identyfikator pliku cookie;
    • odcisk palca, dłoni lub układ żył w ręku, a także odzwierciedlenie siatkówki;
    • numer tablicy rejestracyjnej, numer ubezpieczenia społecznego, numer dowodu osobistego;
    • dane o użytkowaniu aplikacji, komentarze itp.
  • Identyfikacja osób fizycznych może być przeprowadzona :
    • w oparciu o jednostkowe, cząstkowe dane (na przykład: nazwisko i imię);
    • w wyniku agregacji i analizy wielu danych cząstkowych (na przykład: kobieta mieszkająca pod takim a takim adresem, urodzona w takim a takim dniu i należąca do takiego a takiego stowarzyszenia).
  • Niektóre dane są uważane za szczególnie wrażliwe. RODO co do zasady zabrania gromadzenia lub wykorzystywania takich danych, chyba że osoba, której dane dotyczą, wyraziła na to wyraźną zgodę (poprzez aktywne działanie, wyraźną i najlepiej pisemną, która musi być wolna, konkretna i świadoma).
  • Wymagania te dotyczą takich danych jak:
    • dane dotyczące zdrowia osób fizycznych;
    • dane dotyczące życia seksualnego lub orientacji seksualnej;
    • dane ujawniające domniemane pochodzenie rasowe lub etniczne;
    • poglądy polityczne, przekonania religijne, przekonania filozoficzne lub przynależność do związków zawodowych;
    • dane genetyczne i biometryczne wykorzystywane w celu jednoznacznego zidentyfikowania osoby fizycznej.

Anonimizacja danych osobowych

  • Proces anonimizacji danych osobowych ma na celu uniemożliwienie identyfikacji poszczególnych osób. Jest to zatem proces nieodwracalny. Gdy anonimizacja jest skuteczna, dane nie są już uważane za dane osobowe, a wymogi RODO nie mają już zastosowania.
  • Domyślnie zalecamy, aby nigdy nie traktować zgromadzonych danych jako anonimowych. Anonimizacja wynika z przetwarzania danych osobowych w celu nieodwracalnego uniemożliwienia identyfikacji, czy to przez:
    • wyodrębnianie: nie jest możliwe wyodrębnienie niektórych lub wszystkich rekordów identyfikujących osobę w zgromadzonych danych;
    • możliwość powiązania: zgromadzone dane nie pozwalają na powiązanie co najmniej dwóch rekordów dotyczących tej samej osoby lub grupy osób;
    • wnioskowanie: nie jest możliwe wydedukowanie, ze znacznym prawdopodobieństwem, wartości atrybutu osoby na podstawie innych przetwarzanych atrybutów.
  • Te operacje przetwarzania danych oznaczają w większości przypadków utratę jakości zgromadzonych danych. Grupa Robocza Art. 29 (Art. 29 WP) opinii na temat technik anonimizacji opisuje główne techniki anonimizacji stosowane obecnie, a także przykłady przetwarzania danych niesłusznie uznanych za anonimowe. Należy zauważyć, że techniki anonimizacji mają wady. Decyzję o anonimizacji lub jej zaniechaniu oraz o wyborze techniki anonimizacji należy podejmować indywidualnie w zależności od kontekstu przetwarzania i konkretnych potrzeb (charakter danych, użyteczność danych, ryzyka dla osób itp.).

Pseudonimizacja danych osobowych

  • Pseudonimizacja jest kompromisem między przetwarzaniem danych osobowych a anonimizacją danych.
  • Oznacza przetworzenie danych osobowych w taki sposób, że nie można już przypisać konkretnych danych do konkretnej osoby bez dodatkowych informacji. RODO wymaga, że ów „dodatkowe informacje”, muszą być przechowywane oddzielnie i pozostawać zabezpieczone przez adekwatne środki techniczne i organizacyjne, aby wyeliminować ryzyko identyfikacji osób, których dane dotyczą. W przeciwieństwie do anonimizacji, pseudonimizacja może być procesem odwracalnym.
  • W praktyce proces pseudonimizacji polega na zastąpieniu danych bezpośrednio identyfikujących (nazwisko, imię itp.), danymi pośrednio identyfikującymi (pseudonim, przypisany numer) w celu ograniczenia ryzyka. Dane pośrednio identyfikujące mogą powstać w wyniku kryptograficznego skrótu danych dotyczących osób, takich jak numer IP, identyfikator użytkownika, adres e-mail.
  • Dane uzyskane w wyniku pseudonimizacji są uważane za dane osobowe i dlatego nadal podlegają obowiązkom wynikającym z RODO. Ogólne rozporządzenie zachęca jednak do pseudonimizacji przy przetwarzaniu danych osobowych, jako środka umożlwiającego zmniejszenie ryzyka dla osób, których dane dotyczą.

Krok 2
Zaplanuj swoją pracę

Zasady ochrony danych osobowych powinny być uwzględniane w projektach informatycznych począwszy od fazy projektowania, aby chronić prawa osób, których dane zamierzamy przetwarzać, zapewnić im lepszą kontrolę nad tymi danymi oraz ograniczyć ryzyko ewentualne błędów, utraty, nieuprawnionej modyfikacji, bądź niewłaściwego wykorzystania danych w aplikacji.

Rozważania metodyczne:

  • Nie ma głupich pytań RODO.
    Są darmowe odpowiedzi

    Skorzystaj z bezpłatnej porady prawnej lub IT.
    MAM PYTANIE
    Umieść ochronę prywatności w centrum swoich działań poprzez działanie zgodnie z Privacy by Design (ochrona danych w fazie projektowania).
  • Jeśli w swoich pracach rozwojowych stosujesz zwinne metody, rozważ włączenie bezpieczeństwa do głównego nurtu procesu. ANSSI udostępniło przewodnik "Bezpieczeństwo cyfrowe i zwinność" (tylko w języku francuskim), który pokazuje, jak projektować rozwój w oparciu o zwinne metody, uwzględniając aspekty bezpieczeństwa. Nie wahaj się czerpać z niego inspiracji.
  • W przypadku każdego projektu skierowanego należy rozważyć ustawienia prywatności, a w szczególności ustawienia domyślne dotyczące widoczności danych i treści użytkownika.
  • Przeprowadź ocenę skutków dla ochrony danych (DPIA). W przypadku to działanie obowiązkowe. W innych przypadkach jest to dobra praktyka, która pozwoli Ci zidentyfikować i wyeliminować zagrożenia związane z Twoimi projektami.

Wybory technologiczne

Architektura i funkcje

  • Uwzględnienie ochrony danych, w tym wymagań dotyczących bezpieczeństwa danych, na etapie projektowania aplikacji lub usługi. Wymagania te powinny mieć wpływ na wybór architektury (np. zdecentralizowana vs. scentralizowana) lub funkcjonalności (np. krótkoterminowa anonimizacja, ograniczenie zakresu przetwarzanych danych). Domyślne ustawienia aplikacji muszą spełniać minimalne wymagania bezpieczeństwa i być zgodne z prawem. Na przykład, domyślna złożoność haseł musi być zgodna co najmniej z zaleceniami CNIL dotyczącymi haseł (dokument w j. angielskim).
  • Zachowaj kontrolę nad systemem. Ważne jest, aby zachować kontrolę nad systemem, zarówno w celu zapewnienia prawidłowego działania, jak i zagwarantowania wysokiego poziomu bezpieczeństwa. Utrzymanie prostego systemu pozwala dokładnie zrozumieć jego działanie i zidentyfikować słabe punkty. Jeśli wymagana jest pewna złożoność systemu, warto zacząć od prostego, prawidłowo zaprojektowanego i bezpiecznego systemu. Następnie można stopniowo zwiększać jego złożoność, kontynuując zabezpieczanie nowo dodawanych funkcji.
  • Nie należy polegać na jednej linii obrony. Pomimo wszystkich kroków podjętych w celu zaprojektowania bezpiecznego systemu może się zdarzyć, że niektóre komponenty dodane później nie będą wystarczająco bezpieczne. Aby zminimalizować ryzyko dla użytkowników końcowych, zaleca się stosowanie głębokiej obrony systemu. Na przykład, sprawdzanie danych wprowadzonych do formularza online jest tylko elementem systemu obrony. Jeżeli ta zapora zostanie przełamana, atakującego może zatrzymać automatyczna analiza zapytań do bazy danych.

Narzędzia i praktyki

  • Stosuj standardy programowania, które uwzględniają bezpieczeństwo. Często dostępne są już listy standardów, najlepszych praktyk lub przewodników kodowania, które poprawiają bezpieczeństwo Twoich projektów. W zintegrowanym środowisku programistycznym ("IDE") można również zintegrować narzędzia pomocnicze, aby automatycznie sprawdzać, czy kod jest zgodny z różnymi zasadami, które są częścią przyjętych standardów lub dobrych praktyk. W Internecie można łatwo znaleźć listy dobrych praktyk dla swojego ulubionego języka programowania. Na przykład tutaj (dokument w j. angielskim) dla C, C++ lub Javy. W przypadku tworzenia aplikacji internetowych istnieją specjalne przewodniki dobrych praktyk, takie jak te opublikowane przez OWASP (dokument w j. angielskim).
  • Wybór technologii ma decydujące znaczenie. Należy wziąć pod uwagę kilka czynników:
    • W zależności obszaru działania aplikacji lub rozwijanej funkcjonalności, określony język programowania lub zastosowana technologia mogą być bardziej odpowiednie niż inne.
    • Języki i technologie sprawdzone w czasie są bezpieczniejsze. Z reguły zostały już skontrolowane pod kątem usunięcia najbardziej znanych luk w zabezpieczeniach. Należy jednak uważać, aby używać najnowszych wersji oprogramowania, z którego będziemy korzystać.
    • Należy unikać kodowania ostatecznego rozwiązania w języku, którego dopiero się nauczyliśmy, a którego jeszcze nie opanowaliśmy. W przeciwnym razie narażamy się na zwiększone ryzyko wystąpienia błędu bezpieczeństwa z powodu braku doświadczenia.
  • Należy przygotować bezpieczne środowisko programistyczne, które umożliwia numerację wersji kodu, postępując zgodnie ze specjalnym arkuszem zamieszczonym w tym podręczniku.

Krok 3
Zabezpiecz swoje środowisko programistyczne

Bezpieczeństwo serwerów produkcyjnych, deweloperskich i serwerów ciągłej integracji, a także stacji roboczych programistów musi być priorytetem, z uwagi na ich dostęp do dużej ilości danych.

Oceń ryzyko i zastosuj odpowiednie środki bezpieczeństwa

  • Oceń ryzyko związane z narzędziami i procesami wykorzystywanymi w Twoich projektach. Dokonaj inwentaryzacji istniejących środków bezpieczeństwa i opracuj plan działania mający na celu poprawę zabezpieczeń przed zidentyfikowanym ryzykiem. Wyznacz osobę odpowiedzialną za jego realizację.
  • Rozważ ryzyko związane ze wszystkimi narzędziami, z których korzystasz, w tym ryzyko związane z SaaS (Software as a Service) i narzędziami do współpracy w chmurze (takimi jak Slack, Trello, GitHub).

Zabezpieczaj serwery i stacje robocze w jednorodny i powtarzalny sposób

  • Listy zaleceń dotyczących bezpieczeństwa serwerów, stacji roboczych i sieci wewnętrznych są dostępne w krokach 5 i 8.
  • Stwórz dokument zawierający listę tych środków i objaśniający ich konfigurację, aby zapewnić jednolite wdrożenie środków bezpieczeństwa na serwerach i stacjach roboczych. W celu zmniejszenia nakładu pracy stosuj narzędzia do zarządzania konfiguracją, takie jak Ansible, Puppet lub Chef.
  • Aktualizuj serwery i stacje robocze, w miarę możliwości automatycznie. Można skonfigurować automatyczne obserwowanie najważniejszych luk w zabezpieczeniach, na przykład NVD Data Feeds (dokument w j. angielskim).

Połóż szczególny nacisk na zarządzanie dostępem i identyfikowalność operacji

  • Pamiętaj, aby udokumentować zarządzanie kluczami SSH (stosowanie najnowocześniejszych algorytmów kryptograficznych i odpowiedniej długości klucza, ochrona kluczy prywatnych za pomocą hasła, rotacja kluczy). Przykłady dobrych praktyk można znaleźć w dokumencie dotyczącym bezpiecznego korzystania z (otwartego) SSH (dokument w j. francuskim).
  • Zachęcaj zespół programistów do stosowania silnego uwierzytelniania w używanych usługach.
  • Śledzenie dostępu do urządzeń i, jeśli to możliwe, zautomatyzowana analiza logów. W celu zachowania wiarygodnych śladów należy unikać korzystania z kont o charakterze ogólnym.

Funkcja IOD - to się dobrze przekazuje

Krok 4
Zarządzanie kodem źródłowym

Niezależnie od wielkości projektu, zaleca się korzystanie z narzędzia do zarządzania kodem źródłowym, takiego jak system kontroli wersji.

Skonfiguruj system kontroli wersji, pamiętając o jego bezpieczeństwie

  • System kontroli wersji to oprogramowanie, które umożliwia przechowywanie całego kodu źródłowego i powiązanych z nim plików, z zachowaniem chronologii wszystkich wprowadzonych Zwykły serwer FTP nie jest systemem kontroli wersji.
  • Skonfiguruj poprawnie swoje środowisko, korzystając z funkcji oferowanych przez system kontroli wersji. Na początku projektu zaleca się wprowadzenie silnego uwierzytelniania i/lub uwierzytelniania za pomocą kluczy SSH.
  • Użytkownikom systemu kontroli wersji należy przypisać odpowiednie poziomy dostępu do projektu - i zdefiniować dla każdego poziomu odpowiednie uprawnienia (np. poziom "gość" z ograniczonymi prawami do odczytu, poziom "deweloper" z prawami do zapisu itd.)
  • Należy regularnie wykonywać kopie zapasowe systemu zarządzania kodem źródłowym. W szczególności należy pamiętać o tworzeniu kopii zapasowych głównego serwera, na którym zapisywane są wszystkie zmiany.
  • Należy przyjąć zasady rozwoju oprogramowania, które zapewniają efektywną pracę nawet wtedy, gdy kilka osób pracuje nad rozwojem oprogramowania w tym samym czasie. Na przykład możesz zdecydować, że nie będziesz pracować na jednej, głównej gałęzi (master), ale utworzysz szereg gałęzi opartych na rozwijanych funkcjach, które w miarę postępu prac będą scalane z główną gałęzią. Takie strategie rozwoju są już dobrze udokumentowane, na przykład w Git Flow (dokument w j. angielskim). Ponadto niektóre systemy kontroli wersji oferują możliwość tworzenia chronionych gałęzi, które zapobiegają nieautoryzowanym zmianom zgromadzonych w nich plików.

Zwracaj uwagę na zawartość kodu źródłowego

  • Wdróż narzędzia do pomiaru jakości kodu, które będą skanować kod zaraz po jego zatwierdzeniu, aby sprawdzić jego jakość. Można również dodać skrypty sprawdzające metryki do konfiguracji systemu kontroli wersji (dokument w j. angielskim): commit zostanie anulowany, jeśli kod źródłowy nie będzie miał odpowiedniej jakości.
  • Trzymaj dane autoryzacyjne z dala od repozytorium kodu źródłowego:
    • w osobnych plikach, które nie zostały zatwierdzone. Pamiętaj, aby używać specjalnych plików z systemu kontroli wersji (takich jak .gitignore dla Git), aby przez pomyłkę nie upublicznić wrażliwych plików.
    • w zmiennych środowiskowych, należy sprawdzić, czy zmienne środowiskowe nie są przypadkowo zapisywane w logach lub wyświetlane w przypadku wystąpienia błędu aplikacji.
    • przy użyciu dedykowanego oprogramowania (dokument w j. angielskim).

Jeśli musisz umieścić dane autoryzacyjne w swoim repozytorium, rozważ automatyczne szyfrowanie/odszyfrowywanie plików za pomocą wtyczki systemu kontroli wersji (np. git-crypt).

  • W przypadku upublicznienia pliku zawierającego dane osobowe lub inne ważne dane nie zapomnij całkowicie wyczyścić repozytorium kodu źródłowego: nawet po modyfikacji dane te mogą być nadal dostępne w historii repozytorium.
  • Przed opublikowaniem kodu źródłowego w Internecie należy zachować ostrożność. Należy przejrzeć całą jego zawartość, aby upewnić się, że kod nie zawiera żadnych danych osobowych, haseł ani innych tajemnic, w tym całej historię zmian.

Przykłady narzędzi

  • W przeciwieństwie do narzędzi takich jak np. Subversion, które do działania potrzebują centralnego serwera, główne systemy kontroli wersji (na przykład Git, Mercurial)zdecentralizowane.
  • W przypadku większości z tych narzędzi udostępniany jest interfejs www i powiązane narzędzia (zarządzanie błędami, wiki dla dokumentacji itp.). Rozwiązania te mogą być dostępne przez Internet (GitHub, Bitbucket itp.) lub mogą być zintegrowane z Twoimi serwerami.

Krok 5
Dokonaj świadomego wyboru architektury

Podczas projektowania architektury aplikacji należy zidentyfikować dane osobowe, które będą gromadzone, oraz określić ścieżkę czynności przetwarzania i czas przetwarzania każdej z nich. Wybór środków przetwarzania (lokalna pamięć masowa, serwer, usługa w chmurze) jest kluczowym krokiem, który musi być dostosowany do Twoich potrzeb, ale także do Twojej wiedzy technicznej. Rejestr czynności przetwarzania i przeprowadzenie DPIA mogą pomóc w tym wyborze.

Badanie czasu przetwarzania danych osobowych w poszczególnych procesach, od gromadzenia do usunięcia danych

  • Przed rozpoczęciem projektu należy opisać ogólny sposób działania produktu, z diagramem przepływów danych i szczegółowym opisem realizowanych procesów.
  • Jeżeli dane są przechowywane wyłącznie na urządzeniu końcowym użytkownika (pamięć lokalna) lub przetwarzanie pozostaje ograniczone w do sieci będących pod kontrolą użytkownika (np. Wi-Fi lub inna sieć lokalna), kluczowe jest bezpieczeństwo danych. Czas przechowywania danych oraz ich faktyczne usuwanie powinny być ustalane przez użytkowników.
  • Jeżeli dane przesyłane za pośrednictwem usług internetowych, wybór między samodzielnym hostowaniem danych, a skorzystaniem z usług dostawcy usług hostingu musi być oparty na wiedzy na temat bezpieczeństwa i oczekiwanej jakości usług. Oferty usług w chmurze mogą oferować wyższy poziom bezpieczeństwa, generują jednak nowe zagrożenia, z którymi trzeba sobie poradzić. Rekomendacje dla firm planujących skorzystanie z usług chmurowych (dokument w j. angielskim) mogą być przewodnikiem na tym etapie wyboru.

W przypadku korzystania z hostingu zewnętrznego

  • Wybierz dostawcę usług, który zapewnia poufność, odpowiednie środki bezpieczeństwa i jest wystarczająco przejrzysty.
  • Upewnij się, że znasz położenie geograficzne serwerów, na których będą przechowywane Twoje dane. Dostawca może sygnalizować konieczność przekazania danych poza Unię Europejską (UE) i Europejski Obszar Gospodarczy (EOG). Podczas gdy dane mogą być swobodnie przenoszone w obrębie UE/EOG, przekazywanie ich poza UE/EOG, możliwe jest pod warunkiem zapewnienia odpowiedniego poziomu ochrony danych. CNIL udostępnia mapę pokazującą poziomy ochrony danych w różnych krajach na całym świecie (dokument w j. angielskim).
  • Pozostałe kwestie, na które należy zwrócić uwagę, to:
    • dostępność polityki bezpieczeństwa;
    • środki techniczne i organizacyjne zapewniające bezpieczeństwo w miejscu świadczenia usługi hostingu;
    • szyfrowanie danych i inne procesy zapewniające, że dostawca nie ma dostępu do powierzonych mu danych;
    • zarządzanie aktualizacjami, zarządzanie uprawnieniami, uwierzytelnianie personelu oraz bezpieczeństwo rozwoju oprogramowania;
    • łatwość przenoszenia danych, w ustrukturyzowanym i powszechnie stosowanym formacie, na żądanie i w dowolnym czasie.

Krok 6
Zabezpiecz swoje strony internetowe, aplikacje i serwery

Każda strona, aplikacja lub serwer muszą uwzględniać podstawowe, nowoczesne zasady bezpieczeństwa, które dotyczą nie tylko komunikacji sieciowej, ale także uwierzytelniania i infrastruktury urządzeń.

Zabezpieczanie sieci komunikacyjnych

  • Diagnoza zgodności RODO.
    Zrób to sam

    Wykorzystaj elastyczne narzędzie do inwentaryzacji, audytu, przeprowadzenia DPIA oraz analizy ryzyka.
    POZNAJ DR RODO
    Wdrażaj protokół TLS w wersji 1.2 lub 1.3 (zastępujący SSL) na wszystkich stronach internetowych oraz podczas transmisji danych w aplikacjach mobilnych, np. za pomocą LetsEncrypt; używaj tylko najnowszych wersji i sprawdzaj poprawność ich wdrożenia.
  • Wprowadź obowiązek stosowania protokołu TLS na wszystkich stronach witryny i w aplikacjach mobilnych.
  • Ogranicz porty komunikacyjne wyłącznie do tych, które są niezbędne do prawidłowego działania zainstalowanych aplikacji. Jeśli dostęp do serwera WWW jest możliwy tylko za pomocą protokołu HTTPS, dostępne powinny być tylko porty 443 i 80 tego serwera, wszystkie inne porty mogą być blokowane przez zaporę sieciową.
  • Organizacja OWASP opublikowała na swojej stronie internetowej kilka arkuszy pomocniczych, np. poprawność implementacji TLS lub zabezpieczenie usług webowych (dokumenty w j. angielskim).

Zabezpieczanie uwierzytelniania

  • Postępuj zgodnie z zaleceniami CNIL dotyczącymi haseł. W szczególności należy pamiętać o ograniczeniu liczby prób dostępu.
  • Nigdy nie przechowuj haseł w postaci czystego tekstu. Przechowuj je jako hash za pomocą sprawdzonej biblioteki, np. bcrypt.
  • Jeśli pliki cookie są używane do uwierzytelniania, zalecane jest:
    • wymuszenie korzystania z protokołu HTTPS za pośrednictwem HSTS;
    • używanie flagi secure;
    • używanie flagi HttpOnly.
  • Sprawdzaj pakiety kryptograficzne zainstalowane w systemach i wyłączaj przestarzałe (RC4, MD4, MD5 itd.). Zachęcaj do korzystania z AES256. Zapoznaj się z informacją OSWAP na ten temat (dokument w j. angielskim).
  • Wprowadź specjalną politykę dotyczącą haseł dla administratorów. Zmieniaj hasła za każdym razem, gdy administrator odchodzi, a także w przypadku podejrzenia naruszenia. W miarę możliwości zachęcaj do stosowania silnego uwierzytelniania.
  • Ogranicz do wykwalifikowanego personelu dostęp do narzędzi administracyjnych i interfejsów. Zachęcaj do korzystania z kont o niższych uprawnieniach w codziennych operacjach.
  • Pamiętaj, że zdalny dostęp do interfejsów administracyjnych powinien podlegać zwiększonym środkom bezpieczeństwa. Na przykład w przypadku serwerów wewnętrznych dobrym rozwiązaniem może być wdrożenie sieci VPN z silnym uwierzytelnianiem, zarówno użytkownika jak i używanej przez niego stacji roboczej.

Zabezpieczanie infrastruktury

  • Wykonuj kopie zapasowe, w miarę możliwości zaszyfrowane, i regularnie je sprawdzaj. Jest to szczególnie przydatne w przypadku ataku typu ransomware, gdyż posiadanie kopii zapasowych będzie jedynym środkiem umożliwiającym przywrócenie systemów.
  • Ogranicz wielkości niezbędnego oprogramowania i każdego zainstalowanego elementu:
    • instalowanie krytycznych aktualizacji bez opóźnień poprzez zaplanowanie automatycznej cotygodniowej weryfikacji;
    • automatyzacja obserwacji słabych punktów, na przykład subskrypcja kanałów
  • W celu wykrywania ewentualnych naruszeń bezpieczeństwa w najbardziej krytycznych procesach warto użyj narzędzi do wykrywania podatności. Możliwe również stosowanie dedykowanych systemów wykrywania i zapobiegania atakom na krytyczne systemy lub serwery. Niezbędne testy muszą być przeprowadzane regularnie i przed wdrożeniem wersji produkcyjnej każdej nowej wersji oprogramowania.
  • Ogranicz lub zablokuj fizyczny i programowy dostęp do portów diagnostycznych i portów zdalnej konfiguracji. Możliwe jest wyświetlenie listy wszystkich otwartych portów za pomocą narzędzia netstat.
  • Chroń bazy danych udostępniane w Internecie, poprzez maksymalne ograniczenie dostępu (np. filtrowanie adresów IP) oraz zmianę domyślnego hasła do konta administratora.
  • W kwestii zarządzania bazą danych, dobre praktyki obejmują:
    • używanie kont imiennych do dostępu do bazy danych i tworzenie specjalnych kont dla każdej aplikacji;
    • odebranie uprawnień administracyjnych użytkownikom lub aplikacjom w celu uniknięcia modyfikacji struktury bazy danych (tabel, wątków, procesów itp.);
    • ochrona przed atakami typu SQL lub script injection;
    • zachęcanie do szyfrowania dysków i baz danych.

Krok7
Ograniczenie do minimum zakresu gromadzonych danych

Powinieneś gromadzić wyłącznie dane osobowe, które są adekwatne, istotne i niezbędne do realizacji celów, dla których są przetwarzane.

Przed rozpoczęciem zbierania danych zastanów się nad rodzajami danych, które musisz zebrać, i postaraj się ograniczyć ich zakres do niezbędnego minimum.

  • Zastanów się nad różnymi typami danych, które będą musiały być gromadzone przed wdrożeniem aplikacji, i udokumentuj te założenia.
  • Jeśli gromadzenie określonych danych nie są niezbędne dla konkretnej kategorii osób, nie należy ich gromadzić.
  • Przetwarzaj i przechowuj dane w sposób zmniejszający ich szczegółowość (podobnie jak w przypadku pseudonimizacji). Na przykład przechowuj tylko rok urodzenia zamiast pełnej daty urodzenia, jeśli aplikacja potrzebuje tylko roku.
  • W przypadku gromadzenia danych szczególnie wrażliwych, takich jak dane dotyczące stanu zdrowia lub wyroków skazujących, należy pamiętać o gromadzeniu tylko niezbędnego minimum. Ze względu na ograniczenia wynikające z przepisów, najprostszym rozwiązaniem jest rezygnacja z gromadzenia tych danych, które nie są niezbędne.
  • Należy ograniczyć do minimum ilość danych gromadzonych w logach i nie przechowywać w nich danych wrażliwych lub krytycznych (dane dotyczące zdrowia, hasła itp.).
  • Niektóre funkcje mogą zainteresować użytkownika, ale nie niezbędne do prawidłowego działania aplikacji (np. geolokalizacja, w celu uproszczenia wyszukiwania geograficznego). W takim przypadku użytkownik końcowy musi mieć możliwość wyboru, czy chce korzystać z tej funkcji, czy nie. Jeśli z niej korzysta, dane, które są gromadzone w tym celu jej obsługi, muszą być przechowywane wyłącznie przez czas niezbędny do jej działania i nigdy nie mogą być wykorzystane do innych celów.
  • Należy pamiętać o przyjęciu okresów przechowywania dla każdej kategorii danych, w zależności od celu przetwarzania oraz obowiązków prawnych lub regulacyjnych związanych z ich retencją. Logi również muszą mieć swój okres retencji. Należy udokumentować zdefiniowane okresy retencji danych, oraz zapewnić możliwość ich uzasadnienia.

GRATIS

Zarządzanie logami systemowymi zgodnie z RODO

Obejrzyj webinar

Po zebraniu danych należy wprowadzić mechanizmy automatycznego usuwania danych.

  • Po upływie okresu przechowywania należy wdrożyć system automatycznego usuwania. Można również okresowo przeprowadzać ręczne przeglądy przechowywanych danych.
  • Aby zapewnić całkowite usunięcie danych, należy skutecznie usunąć wszystkie dane, które nie są już potrzebne, za pomocą specjalistycznych narzędzi lub poprzez zniszczenie nośnika fizycznego.
  • Jeżeli dane są nadal przydatne, można zmniejszyć ich wrażliwość, stosując metody pseudonimizacji lub nawet anonimizacji. W przypadku pseudonimizacji przechowywane dane nadal podlegają przepisom dotyczącym danych osobowych (zob. krok 1).
  • Logi powinny odnotować działanie procedur automatycznego usuwania danych. Odpowiednie logi mogą być wykorzystane jako dowód usunięcia elementu danych.

Praca dobryymi narzędziami RODO - to nie praca!

Krok 8
Zarządzanie profilami użytkowników

Sposób zarządzania profilami pracowników, współpracowników i użytkowników końcowych musi być przemyślany już na etapie projektowania, poprzez zdefiniowanie różnych rodzajów dostępu i autoryzacji, tak aby każda osoba miała dostęp tylko do tych danych, które są jej rzeczywiście potrzebne.

Dobre praktyki w zakresie zarządzania użytkownikami

  • Podstawę stanowi korzystanie unikalnych i indywidualnych identyfikatorów, niezależnie od tego, czy są to użytkownicy korzystający aplikacji, czy osoby współpracujące przy jej tworzeniu.
  • Upewnij się, że przed każdym dostępem do danych osobowych wymagane jest uwierzytelnienie, zgodnie z rekomendacjami CNIL (dokument w j. angielskim).
  • Zapewnij, by każda osoba (użytkownik, pracownik lub współpracownik) miała dostęp tylko do tych danych, które są jej rzeczywiście potrzebne. System musi zapewniać zróżnicowane zasady zarządzania dostępem do danych (odczyt, zapis, usuwanie itp.) w zależności od osób i potrzeb. Globalny mechanizm zarządzania profilami użytkowników pozwoli na grupowanie różnych poziomów uprawnień w zależności od roli pełnionej przez grupę użytkowników w aplikacji.
  • Zarządzanie profilami użytkowników może być wykorzystywane wraz z systemami rejestrującymi działanie oraz wykrywanie anomalii lub zdarzeń związanych z bezpieczeństwem, takich jak próba nieautoryzowanego lub niewłaściwego wykorzystania danych osobowych. Urządzenia te nie mogą być wykorzystywane do celów innych niż zapewnienie właściwego korzystania z systemu komputerowego. Dzienniki nie mogą być również przechowywane dłużej niż jest to konieczne. Na ogół wystarczający jest okres sześciu miesięcy.
  • Można również zaplanować audyty kodu lub testy penetracyjne w środowisku programistycznym, aby zapewnić skuteczność systemu zarządzania profilami.

Usprawnienie zarządzania profilami

  • Zaplanuj udokumentowanie lub automatyzację zmian uprawnień współpracowników. Procedury te powinny na przykład określać, jakie działania należy podjąć, gdy dana osoba traci prawo dostępu do konkretnego pomieszczenia lub zasobu informatycznego, albo gdy kończy się jej umowa.
  • Zarządzanie użytkownikami i współpracownikami wymaga regularnego przeglądu uprawnień w zależności od zmian w sposobie ich wykorzystania oraz zmian organizacyjnych w projekcie. Wykorzystanie usług katalogowych, takich jak protokół LDAP (Lightweight Directory Access Protocol), pomoże w monitorowaniu tych zmian i umożliwi budowanie strategii dostępu, na przykład poprzez przypisanie określonych ról na podstawie profili użytkowania. Dzięki temu można lepiej przestrzegać zasady szczegółowych uprawnień.
  • Należy unikać korzystania z kont "nadrzędnych" (typu root, administrator itp.) podczas typowych operacji, ponieważ konta te stanowią one kluczowy element systemu i są głównym celem zewnętrznego ataku. Zaleca się stosowanie polityki haseł (10-20 znaków lub uwierzytelnianie wieloskładnikowe) oraz ograniczenie do niezbędnego minimum liczby osób posiadających dostęp do konta nadrzędnego.
  • Zachęcaj do korzystania z menedżera haseł i złożone uwierzytelnianie, gdy jest to możliwe. Unikaj ogólnych kont współdzielonych przez kilka osób.

Krok 9
Kontrola nad bibliotekami i zestawami SDK

Czy korzystasz z bibliotek, zestawów SDK lub innych komponentów oprogramowania napisanych przez osoby trzecie? Oto kilka wskazówek, jak integrować te narzędzia, zachowując kontrolę nad swoim oprogramowaniem.

Dokonaj świadomego wyboru

  • Oceń wartość dodaną każdej zależności (komponentu zewnętrznego). Niektóre z powszechnie używanych elementów oprogramowania mają tylko kilka wierszy długości, a każdy dodany element to zwiększenie możliwości ataku na system. W przypadku, gdy jedna biblioteka oferuje kilka funkcjonalności, należy integrować tylko te, które są rzeczywiście potrzebne. Uruchamiając minimalną liczbę funkcji, zmniejszasz liczbę potencjalnych błędów, które mogą się pojawić.
  • Wybierz utrzymywane oprogramowanie, biblioteki i zestawy SDK:
    • Jeśli chcesz korzystać z wolnego lub otwartego oprogramowania, staraj się wybierać projekty lub rozwiązania, które mają aktywną społeczność, są regularnie aktualizowane i są dobrze udokumentowane.
    • W przypadku korzystania z innych typów rozwiązań z komercyjnym wsparciem należy zapewnić w umowie, że kod będzie utrzymywany i aktualizowany przez cały okres trwania projektu.
  • Uwzględnij ochronę danych. Niektóre zestawy SDK lub biblioteki opłacają się dzięki wykorzystaniu danych osobowych zebranych poprzez aplikacje lub witryny, z którymi są zintegrowane. Należy upewnić się, że takie podmioty trzecie je dostarczające przestrzegają obowiązujące przepisy dotyczące danych osobowych, w tym mechanizmy uzyskiwania zgody użytkowników.
  • W przypadku korzystania z mechanizmów kryptograficznych zdecydowanie odradza się samodzielne implementowanie algorytmów i protokołów kryptograficznych, należy raczej wybierać biblioteki kryptograficzne, które są utrzymywane, rozpoznawane i łatwe w użyciu.

Oceń wybrane elementy

  • Przeczytaj dokumentację i zmień domyślne konfiguracje. Ważne jest, aby wiedzieć, jak działają twoje zależności. Biblioteki i zestawy SDK innych firm często zawierają domyślne pliki konfiguracyjne, które rzadko są zmieniane z powodu braku czasu, co powoduje wiele luk w zabezpieczeniach.
  • Wykonaj audyt bibliotek i pakietów SDK. Czy naprawdę wiesz, co robią wszystkie biblioteki i zestawy SDK, które integrujesz? Jakie dane są przesyłane za pośrednictwem tych zależności i do kogo? Przeprowadzenie audytu pozwoli na określenie zobowiązań w zakresie ochrony danych, których należy przestrzegać, oraz na ustalenie zakresu odpowiedzialności poszczególnych podmiotów.
  • Mapuj zależności. Biblioteki i zestawy SDK innych firm mogą również integrować inne komponenty: audyt ich kodu pozwoli na lepsze odwzorowanie wszystkich zależności i skuteczniejsze działanie w przypadku w jednym z nich wystąpi problem.
  • Uważaj na typosquatting i inne złośliwe techniki. Sprawdzaj nazwy zależności, a także własne zależności, aby uniknąć ataków. Nie należy kopiować i wklejać wierszy poleceń z nieznanych witryn.

Utrzymanie bibliotek i zestawów SDK

  • Używaj systemów zarządzania zależnościami (takich jak yum, apt, maven, pip itp.), aby zachować aktualną listę swoich zależności.
  • Zarządzaj aktualizacjami zależności, zwłaszcza w przypadku aktualizacji bezpieczeństwa, które usuwają luki w zabezpieczeniach. Należy ustanowić udokumentowaną procedurę zarządzania i jak najszybszego wdrażania aktualizacji.
  • Pamiętaj o wersjach bibliotek i zestawów SDK, których wsparcie się kończy, tj. nie będzie już utrzymywane. Spróbuj znaleźć inne rozwiązanie (nowa biblioteka, odnowienie wsparcia komercyjnego).
  • Należy sprawdzać status projektów open-source, zwracać uwagę zwłaszcza na zmiany domeny lub własności pakietów; niektóre ataki wykorzystują złośliwe aktualizacje popularnych zależności.

Krok 10
Zapewnienie jakości kodu i jego dokumentacji

Kluczowe jest jak najszybsze przyjęcie dobrych technik pisania kodu. Czytelność kodu zmniejsza wysiłek związany z jego utrzymaniem i poprawianiem błędów, zarówno po stronie użytkownika, jak i jego (być może przyszłych) współpracowników.

Dokumentowanie kodu i architektury

  • Kiedy ostatnio
    robiłeś analizę ryzyka?

    Ryzyko i DPIA są podstawowymi elementami budowy systemu ochrony danych.
    ZAMÓW OFERTĘ
    Dokumentacja jest czasem pomijana podczas tworzenia projektu, z powodu braku czasu lub zainteresowania projektem. Ma ona jednak zasadnicze znaczenie dla utrzymania projektu: pozwala zrozumieć, w jaki sposób kod działa oraz dowiedzieć się, na które części kodu wpływają modyfikacje.
  • Dokumentuj architekturę, a nie tylko kod: pisząc dokumentację, musisz mieć na uwadze pełny obraz i pomóc programistom w zrozumieniu, w jaki sposób poszczególne komponenty współpracują ze sobą. Dlatego przy dokumentowaniu projektu należy skupić się na diagramach i jasnych wyjaśnieniach.
  • Utrzymuj dokumentację razem z kodem: najlepszym sposobem na aktualizowanie dokumentacji jest jej modyfikowanie w miarę postępu prac nad kodem.
  • Jeśli korzystasz z menedżera kodu źródłowego, możesz dołączać zmiany w dokumentacji do każdego "commit" modyfikującego Twój kod.
  • Nie należy zapominać o uwzględnieniu w dokumentacji kwestii bezpieczeństwa. W szczególności można zawrzeć w dokumentacji informację o różnych możliwościach konfiguracji aplikacji i wyjaśnić, które ustawienia są najbezpieczniejsze.

Sprawdzenie jakości kodu i jego dokumentacji

  • Kod wysokiej jakości wymaga przyjęcia dobrych praktyk i zasad kodowania stosowanych konsekwentnie w całym programie. Najlepiej jest odwoływać się do istniejących zasad (dokument w j. angielskim). Poniżej podajemy kilka przykładów dobrych praktyk:
    • Używanie jednoznacznych nazw zmiennych i funkcji ułatwia zrozumienie już na pierwszy rzut oka, w jaki sposób działa kod.
    • Prawidłowe wcięcia w kodzie pozwalają szybciej zorientować się w jego strukturze.
    • Unikanie nadmiarowości kodu zmniejsza nakłady na poprawki, które trzeba wprowadzać w kilku miejscach. Wszelkie przeoczenia zostają zwykle szybko zapomniane.
  • W kontroli jakości kodu mogą pomóc narzędzia, które po prawidłowym skonfigurowaniu pozwalają unikać konieczności ponownego czytania kodu w celu sprawdzenia zgodności z zasadami kodowania. Przykładami takich narzędzi są:
    • Zintegrowane środowiska programistyczne ("IDE"), ewentualnie przy użyciu wtyczek ("plugins"), można skonfigurować tak, aby kontrolowały zasady wcięć kodu, podziały wierszy między różnymi fragmentami kodu lub położenie nawiasów klamrowych i innych nawiasów.
    • Oprogramowanie do pomiaru jakości kodu źródłowego może zgłosić duplikaty kodu, zgodność z zasadami programowania lub potencjalne błędy.

Krok 11
Przetestuj swoje aplikacje

Testowanie produktu umożliwi sprawdzenie poprawności jego działania, zapewni użytkownikom komfortu korzystania, zapobiegnie powstaniu i zapewni wychwycenie błędów, zanim produkt trafi „na produkcję”. Testowanie produktu zmniejsza też ryzyko naruszenia danych osobowych.

Zautomatyzuj testowanie

  • Testy rozwojowe (jednostkowe, funkcjonalne itp.) mają na celu sprawdzenie zgodności między specyfikacją a działaniem produktu. Testy bezpieczeństwa (losowe testy danych, zwane też "fuzzingiem", skanowanie luk w zabezpieczeniach itp.) sprawdzają, czy produkt nadal działa poprawnie, w przypadku gdy użytkownik odejdzie od normalnego użytkowania, oraz weryfikują czy produkt nie zawiera luk, które mogłyby umożliwić osobom trzecim naruszenie bezpieczeństwa. Oba rodzaje testów są ważne dla prawidłowego funkcjonowania aplikacji.
  • Należy skonfigurować system ciągłej integracji, aby testy były uruchamiane automatycznie po każdej zmianie w kodzie źródłowym.

Włączenie testów do strategii biznesowej

  • Zapewnij funkcjonowanie środowiska testowego jako element strategii firmy. Akceptowalne wskaźniki muszą być zdefiniowane wspólnie przez wszystkie strony przed rozpoczęciem prac rozwojowych.
  • Wskaźniki, które należy wziąć pod uwagę, to na przykład:
    • wskaźnik pokrycia testami i ich rodzaj;
    • wskaźnik powielania kodu;
    • liczba podatności (zidentyfikowanych przez narzędzia), ich typ itp.

Uważaj na swoje dane testowe!

  • "Prawdziwe" dane produkcyjne nie powinny być wykorzystywane w fazie rozwoju i testowania. Wykorzystywanie danych osobowych z produkcyjnej bazy danych do celów testowych jest równoznaczne z odejściem od pierwotnego celu.
  • Jeżeli dane osobowe są wykorzystywane poza produkcją, należy zauważyć, że zwiększa się także ryzyko związane z bezpieczeństwem : dostęp do danych przez osoby, które nie muszą ich znać, wiele miejsc przechowywania itp.
  • Zbuduj więc fikcyjny zbiór danych, który będzie wyglądał jak dane przetwarzane przez Twoją aplikację. Fikcyjny zbiór danych zapewni, że ujawnienie danych nie będzie miało żadnego wpływu na prawdziwe osoby.
  • Jeśli musisz zaimportować istniejące konfiguracje z produkcji do swoich projektów testowych, rozważ anonimizację danych osobowych.

E-learning RODO to już standrad!

Krok 12
Informowanie użytkowników

Zasada przejrzystości RODO wymaga, aby wszelkie informacje lub komunikaty dotyczące przetwarzania danych osobowych były zwięzłe, przejrzyste, zrozumiałe i łatwo dostępne w prostym i zrozumiałym języku.

Kogo informować i kiedy?

  • Osoby, których dane dotyczą, muszą być o tym poinformowane:
    • zarówno w przypadku bezpośredniego zbierania danych, gdy dane są zbierane bezpośrednio od osób fizycznych (na przykład: formularz, zakup online, zawarcie umowy, otwarcie konta bankowego), jak i wtedy, gdy dane są zbierane za pomocą urządzeń lub technologii służących do obserwowania aktywności osób fizycznych (na przykład: analiza nawigacji internetowej, geolokalizacja i analiza Wi-Fi, śledzenie w celu pomiaru oglądalności itp.)
    • oraz w przypadku pośredniego zbierania danych osobowych, gdy dane nie są zbierane bezpośrednio od osób fizycznych (na przykład: pozyskiwane od partnerów handlowych, brokerów danych, ze źródeł publicznie dostępnych lub innych).
  • Informacje powinny być udostępnione:
    • podczas zbierania danych, w przypadku zbierania bezpośredniego;
    • jak najszybciej, w przypadku zbiórki pośredniej (w szczególności w momencie pierwszego kontaktu z daną osobą) i nie później niż miesiąc od zbiórki (z wyjątkami);
    • w przypadku istotnej zmiany lub szczególnego zdarzenia. Na przykład: nowy cel, nowi odbiorcy, zmiana w sposobie wykonywania praw, naruszenie ochrony danych.

Jakie informacje muszę podać?

  • We wszystkich przypadkach należy określić:
    • identyfikacja i dane kontaktowe organizacji, która gromadzi dane (kto przetwarza dane?);
    • cele (do czego będą wykorzystywane zebrane dane?);
    • podstawę prawną, na której opiera się przetwarzanie danych (znajdź wszystkie informacje o podstawie prawnej (dokument w j. angielskim));
    • obowiązkowy lub fakultatywny charakter gromadzenia danych (co wiąże się z wcześniejszą refleksją nad przydatnością gromadzenia danych, z punktu widzenia zamierzonego celu - zasada minimalizacji" danych) oraz konsekwencje dla osoby w przypadku nieprzekazania danych;
    • odbiorcy lub kategorie odbiorców danych (kto ma dostęp do danych lub ma otrzymywać dane w określonych celach, w tym podmioty przetwarzające dane);
    • okres przechowywania danych (lub kryteria jego ustalania);
    • prawa osób, których dane dotyczą, oraz sposoby ich wykonywania (prawa dostępu, sprostowania, usunięcia i ograniczenia mają zastosowanie do wszystkich operacji przetwarzania);
    • dane kontaktowe inspektora ochrony danych, jeśli został powołany, lub punktu kontaktowego w sprawach ochrony danych osobowych;
    • prawo do złożenia skargi do organu nadzorczego (w Polsce - Prezesa Urzędu Ochrony Danych Osobowych).
  • W niektórych przypadkach należy podać dodatkowe informacje, np. w przypadku przekazywania danych poza UE; w przypadku pełni zautomatyzowanego podejmowania decyzji lub profilowania; gdy podstawą prawną przetwarzania danych jest uzasadniony interes realizowany przez organ gromadzący dane.
  • W przypadku zbiórki pośredniej należy dodać następujące informacje:
    • Kategorie gromadzonych danych;
    • Źródło danych (ze wskazaniem w szczególności, czy dane pochodzą z publicznie dostępnych źródeł).

W jakiej formie należy przekazać informacje?

  • Informacje muszą być łatwo dostępne: użytkownik musi być w stanie znaleźć je bez trudu.
  • Informacje muszą być podane w sposób jasny i zrozumiały, tzn. z użyciem prostego słownictwa (krótkie zdania, brak terminów prawnych lub technicznych, brak dwuznaczności) oraz dostosowane do odbiorców docelowych (ze szczególnym uwzględnieniem dzieci i osób wymagających szczególnej troski).
  • Informacja powinna być zwięzła. Aby uniknąć pułapki, jaką jest zalanie użytkownika informacjami, należy przedstawiać najbardziej istotne informacje we właściwym czasie.
  • Informacje związane z ochroną danych należy odróżnić innych informacji (takich jak np. klauzule umowne lub ogólne warunki użytkowania).

Jaką komunikację należy podjąć w przypadku naruszenia bezpieczeństwa danych?

  • Naruszenie ochrony danych może nastąpić przez pomyłkę lub zaniedbanie, przypadkowo lub intencjonalnie, tj. poprzez zniszczenie, utratę, zmianę lub nieuprawnione ujawnienie danych. W takim przypadku w ciągu 72 godzin organizacja musi zgłosić naruszenie do organu nadzorczego, jeśli naruszenie może stanowić zagrożenie dla praw i wolności osób fizycznych.
  • Jeśli ryzyko jest wysokie, organizacja musi również jak najszybciej poinformować zainteresowane osoby, udzielając im także wskazówek, jak chronić swoje dane (np. unieważnienie zagrożonej karty bankowej, zmiana hasła, zmiana ustawień prywatności itp.)

Przydatne zasoby

Krok 13
Przygotowanie do realizacji praw osób

Osobom, których dane przetwarzasz, przysługują prawa do swoich danych: dostępu i sprostowania danych, sprzeciwu wobec ich przetwarzania, prawo żądania ich usunięcia lub przeniesienia, bądź prawo żądania ograniczenia ich przetwarzania. Musisz zapewnić środki, które umożliwią realizację praw oraz zapewnić w swoich systemach informatycznych rozwiązania techniczne, które zagwarantują ich uwzględnienie. Uprzednie przygotowanie kanałów kontaktu osób z Tobą, jak również sposobu rozpatrywania otrzymanych wniosków, umożliwi Ci skuteczną realizację praw im przysługujących.

Minimalne środki, które należy wdrożyć

  • Wszystkie organizacje, które wykorzystują dane osobowe, mają obowiązek wskazać, gdzie i w jaki sposób osoby mogą korzystać z praw im przysługujących. Na przykład, wykonując obowiązek informacyjny wobec osób, wskazuje się kontaktowy adres e-mail lub formularz internetowy.
  • W celu ułatwienia korzystania osobom z praw, mechanizmy ich realizacji mogą być implementowanetworzonym przez Ciebie oprogramowaniu. Taka implementacja nie jest obowiązkowa, ale pozwala spełnić oczekiwania użytkowników oraz skrócić czas i ograniczyć złożoność procedury rozpatrywania tego typu wniosków.
  • Przede wszystkim w przypadku realizowania prawa dostępu lub innych działań związanych z wykonywaniem praw osób, nie należy zapominać o bezpiecznym uwierzytelnianu Podsumowując należy również śledzić wszystkie operacje, które mają wpływ na dane osoby.

Kilka przykładów praw i możliwości ich realizacji

  • Prawo dostępu: osoby mają prawo do uzyskania kopii wszystkich informacji, jakie posiadamy na ich temat. Dzięki temu osoba może np. dowiedzieć się, czy przetwarzane są dane, które jej dotyczą, a także uzyskać ich kopię w powszechnie używanym formacie. Realizacja niniejszego prawa pozwala na sprawdzenie dokładności danych.

    Możliwa implementacja: wprowadzenie funkcjonalności, która umożliwia wyświetlenie wszystkich danych dotyczących danej osoby. Jeśli danych jest zbyt dużo, można podzielić je na kilka ekranów. Jeśli danych jest nadal zbyt dużo, zaproponuj osobie pobranie archiwum zawierającego całość danych.
  • Prawo do usunięcia danych: osoby mają prawo do zażądania usunięcia wszystkich danych na ich temat, które są przechowywane.

Możliwe implementacje:

  1. Udostępnienie funkcji, która umożliwia usunięcie wszystkich danych dotyczących osoby.
  2. Wprowadzenie automatycznego powiadamiania podmiotów przetwarzających (procesorów), aby również usunęły dane dotyczące tej osoby.
  3. Zapewnienie funkcjonalności usuwania danych także przechowywanych w kopiach zapasowych lub zapewnienie alternatywnego rozwiązania, które nie pozwala na przywrócenie z kopii zapasowej usuniętych danych, które dotyczą osoby.
  • Prawo do sprzeciwu: w pewnych przypadkach osoby mają prawo sprzeciwienia się wykorzystania ich danych w określonym celu.

Możliwe wdrożenie: zapewnienie funkcjonalności, która umożliwia osobie, której dane dotyczą, na wniesienie sprzeciwu wobec ich przetwarzania. W przypadku gdy osoba, której dane dotyczą, skorzysta z prawa do sprzeciwu, administrator powinien usunąć  zgromadzone dane oraz nie powinien gromadzić innych danych dotyczących tej osoby.

  • Prawo do przenoszenia danych: Osoby mają prawo do pobierania swoich danych w powszechnie używanym formacie, na własny użytek lub celu przekazania danych innej organizacji.

Możliwości wdrożenia: zapewnij funkcjonalność, która pozwala osobie, której dane dotyczą, pobrania zgromadzonych danych w powszechnie używanym formacie  (CSV, XML, JSON itp.).

  • Prawo do sprostowania: osoby mają prawo żądania sprostowania swoich danych, jeśli przetwarzane dane są nieprawidłowe, w celu ograniczenia wykorzystania lub rozpowszechniania błędnych informacji.

Możliwości wdrożenia: umożliwienie bezpośredniej modyfikacji przetwarzanych danych na koncie użytkownika.

  • Prawo do ograniczenia przetwarzania danych: osoby mogą zażądać zaprzestania przetwarzania ich danych przez pewien czas, np. w trakcie rozpatrywania sporu dotyczącego wykorzystania zgromadzonych danych lub w trakcie rozpatrywania wniosku o realizację przysługujących im praw.

Możliwości wdrożenia: umożliwienie administratorom umieszczania przetwarzanych danych osobowych w "kwarantannie": takich danych nie można tymczasowo odczytywać ani modyfikować.

Podsumowanie

Krok 14
Określanie czasu przechowywania danych

Dane osobowe nie mogą być przechowywane przez czas nieokreślony. Czas ten należy określić w zależności od realizowanych celów przetwarzania. Po osiągnięciu konkretnego celu dane powinny zostać zarchiwizowane, usunięte lub zanonimizowane (np. w celu sporządzenia statystyk).

Cykl retencji danych

  • RODO.
    Wsparcie się przydaje

    Sam ustal zakres wspracia, aby zapewnić organizacji pełną zgodność z RODO przy optymalnych kosztach.
    ZAMÓW OFERTĘ
    Cykl retencji danych osobowych można podzielić na trzy odrębne, następujące po sobie etapy:
    • aktywna baza danych;
    • archiwizacja pośrednia;
    • ostateczna archiwizacja lub usunięcie.
  • Mechanizmy usuwania danych osobowych z aktywnych baz zapewniają, że dane są przechowywane i dostępne dla realizacji obranych celów tylko przez czas niezbędny do osiągnięcia celu operacji przetwarzania.
  • Należy dopilnować, aby dane nie były przechowywane w aktywnych bazach danych wyłącznie przez odnotowanie ich jako zarchiwizowane. Zarchiwizowane dane (archiwum pośrednie) muszą być dostępne tylko dla określonych komórek odpowiedzialnych za dostęp do tych danych i usuwanie ich z archiwum w razie potrzeby.
  • Należy również upewnić się, że określono tryby dostępu do zarchiwizowanych danych, ponieważ korzystanie z archiwum musi mieć charakter doraźny i wyjątkowy.
  • Jeśli to możliwe, podczas czyszczenia danych lub podczas anonimizacji danych należy korzystać z tego samego rozwiązania, które jest wykorzystywane przy realizacji prawa do usunięcia danych, aby zagwarantować jednorodne działanie systemu.

Kilka przykładów terminów przechowywania danych (dotyczy prawa obowiązującego we Francji)

  • Dane związane z zarządzaniem listą płac lub kontrolą czasu pracy pracowników można przechowywać przez 5 lat.
  • Dane zawarte w dokumentacji medycznej powinny być przechowywane przez 20 lat.
  • Dane osób, które nie odpowiedziały na żadną ofertę, mogą być przechowywane przez 3 lata.
  • Dane dziennika mogą być przechowywane przez 6 miesięcy.

Krok 15
Uwzględniaj w oprogramowaniu podstawę prawną przetwarzania

Przetwarzanie danych osobowych musi być oparte na jednej z "podstaw prawnych" wymienionych w artykule 6 RODO. Podstawa prawna przetwarzania stanowi prawne uzasadnienie operacji przetwarzania. Wybór podstawy prawnej ma bezpośredni wpływ na uwarunkowania prawne przetwarzania danych oraz na realizację praw osób fizycznych. Dlatego też uwzględnienie podstawy prawnej przetwarzania danych pomoże w wprowadzeniu do oprogramowania funkcji niezbędnych do zapewnienia zgodności operacji przetwarzania z prawem, a także zapewni poszanowanie praw osób fizycznych.

Definicje podstaw prawnych zawartych w RODO

  • W przypadku podmiotów prywatnych często stosowaną podstawą prawną są:
    • umowa: przetwarzanie jest niezbędne do wykonania lub przygotowania umowy między osobą, której dane dotyczą, a podmiotem dokonującym operacji przetwarzania;
    • uzasadniony interes: organizacja ma uzasadniony interes w przetwarzaniu danych i nie jest prawdopodobne, aby przetwarzanie miało negatywny wpływ na prawa i wolności osoby, której dane dotyczą;
    • zgoda: osoba, której dane dotyczą, udzieliła wyraźnej zgody na przetwarzanie danych.
  • W przypadku organów publicznych mogą być stosowane również inne podstawy prawne:
    • obowiązek prawny: przetwarzanie danych jest narzucone przez obowiązujące prawo.
    • interes publiczny: przetwarzanie danych jest niezbędne do wykonania zadania realizowanego w interesie publicznym.
  • W szczególnych przypadkach podstawą prawną może być ochrona żywotnych interesów, gdy przetwarzanie danych jest niezbędne do monitorowania rozprzestrzeniania się epidemii lub w przypadku zagrożenia humanitarnego.

Wybierz odpowiednią podstawę prawną

  • Przede wszystkim należy sprawdzić na stronie organu nadzorczego, czy obowiązujące prawo nie nakłada żadnych szczególnych ograniczeń (np.: pliki cookie oraz inne narzędzia śledzące).
  • Dla realizacji określonego celu należy wybrać tylko jedną podstawę prawną. Podstaw prawnych nie można łączyć dla realizacji tego samego celu. Ta sama operacja przetwarzania danych może służyć kilku celom i wówczas dla każdego z celów musi być określona podstawa prawna.
  • Jak wspomniano powyżej, w przypadku organów publicznych w większości przypadków najbardziej istotne będą: realizacja obowiązku prawnego i interes publiczny.
  • Jeżeli operacja przetwarzania danych jest częścią stosunku zobowiązaniowego, a jej cel jest obiektywnie i niezbędny do świadczenia usług użytkownikowi (np. nazwisko, imię i adres w celu utworzenia konta w witrynie handlu elektronicznego), należy zawrzeć umowę.
  • Jeśli przetwarzanie danych nie jest częścią stosunku zobowiązaniowego z użytkownikiem, można powołać się na podstawę prawną w postaci zgody lub uzasadnionego interesu. Jeśli przetwarzanie ma potencjalnie inwazyjny charakter (np. profilowanie, gromadzenie danych geolokalizacyjnych itp.), odpowiednią podstawą prawną będzie prawdopodobnie zgoda.
  • Jeśli przetwarzanie obejmuje dane wrażliwe (dane dotyczące zdrowia, życia lub orientacji seksualnej itp.), oprócz podstawy prawnej należy wskazać wyjątek przewidziany przez Artykuł 9 RODO.

Wykonywanie praw i zakres obowiązku informacyjnego zależnie od podstawy prawnej

  • Poniższa tabela zawiera podsumowanie realizacji praw, które mają być zapewnione zależnie od podstawy prawnej:
  Prawo dostępu Prawo do sprostowania Prawo do usunięcia danych Prawo do ograniczenia przetwarzania Prawo do przenoszenia danych Prawo do sprzeciwu
Zgoda Nie, ale może wycofać zgodę.
Umowa
Przepis prawa
Żywotny interes
Interes publiczny
Uzasadniony interes
  • Zastosowana podstawa prawna musi zawsze znajdować się w obowiązku informacyjnym wykonywanym wobec osoby.
  • Jeżeli przetwarzanie danych opiera się na uzasadnionym interesie, w obowiązku informacyjnym należy również określić taki uzasadniony interes (walka z oszustwami, bezpieczeństwo systemu itp.).
  • Zaleca się udokumentowanie wyboru podstawy prawnej. Przykładowo, decyzja dotycząca wyboru podstawy prawnej może być odnotowana w dokumentacji technicznej.

Pliki cookie i inne techniki śledzące – szczególny przypadek

  • Europejska dyrektywa o prywatności i łączności elektronicznej wymaga zgody użytkownika przed podjęciem jakichkolwiek działań mających w celu przechowywanie informacji w urządzeniu końcowym użytkownika, za pomocą plików cookie, identyfikatorów lub innych znaczników (odciski palców oprogramowania, piksele), a także przed uzyskaniem dostępu do informacji przechowywanych w urządzeniu końcowym użytkownika.
  • Wyjątkiem jest jednak sytuacja, gdy pliki cookie służą wyłącznie do prowadzenia komunikacji elektronicznej lub są niezbędne do świadczenia usług zamówionych przez użytkownika.
  • Wykorzystanie jednego identyfikatora do wielu celów nie zwalnia z obowiązku uzyskania zgody na poszczególne cele, które jej wymagają. Na przykład, jeśli plik cookie pełniący funkcję uwierzytelniającą, jest również wykorzystywany w celu dostosowania ukierunkowanych reklam, należy uzyskać zgodę na ten drugi cel, w taki sam sposób jaki jest wymagany w przypadku witryn które nie wymagają logowania.

Krok 16
Używaj narzędzi analitycznych na swoich stronach internetowych i w swoich aplikacjach

Narzędzia analityczne służą uzyskiwaniu informacji na temat osób odwiedzających witrynę lub korzystających z aplikacji mobilnej. Narzędzia te pozwalają zrozumieć, w jaki sposób i jakimi drogami użytkownicy trafiają na stronę. Wykorzystanie w tym celu plików cookie, podlega co do zasadzie zgodzie użytkownika, z wyjątkiem jednego szczególnego przypadku. Należy pamiętać, że niniejszy rozdział odnosi się do dyrektywy o prywatności i łączności elektronicznej i może podlegać innym uregulowaniom w poszczególnych krajach. Skontaktuj się w tej sprawie z właściwym organem nadzorczym lub swoim inspektorem ochrony danych.

Uzyskiwanie zgody

  • Ogólnie rzecz biorąc, przed umieszczeniem w urządzeniu końcowym lub odczytaniem pliku cookie lub innego identyfikatora, administrator strony lub aplikacji musi:
    • poinformować użytkownika o celu stosowania plików cookie;
    • uzyskać zgodę użytkownika;
    • zapewnić użytkownikowi możliwość odmowy.
  • Obowiązek ten dotyczy narzędzi używanych do pomiaru oglądalności, chyba że narzędzia podlegają określonemu poniżej wyjątkowi.

Aby skorzystać ze zwolnienia z obowiązku uzyskania zgody

  • Z zastrzeżeniem szeregu dodatkowych warunków, pliki cookie wykorzystywane do pomiaru oglądalności mogą być zwolnione z obowiązku uzyskania zgody użytkownika.
  • Warunki te, określone w dokumencie wskazówki dotyczące plików cookie i innych narzędzi śledzących (dokument w j. angielskim), są następujące:
    • poinformowanie użytkowników o sposobie ich wykorzystania;
    • zapewnienie możliwości wyrażenia sprzeciwu wobec ich wykorzystania;
    • ograniczenie narzędzi wyłącznie do następujących celów:
      • pomiar oglądalności;
      • Testy A/B;
    • zapewnienie, iż dane te nie będą zestawiane z innymi przetwarzanymi danymi (kartoteki klientów, statystyki odwiedzin innych witryn itp;);
    • ograniczenie zakresu działania narzędzia śledzącego do pojedynczej witryny lub edytora aplikacji;
    • obcięcie ostatniego bajta adresu IP;
    • ograniczenie czasu funkcjonowania narzędzi śledzących do 13 miesięcy.
  • Jeśli powyższe warunki zostaną spełnione, możliwe jest przejście z systemu opt-in na system opt-out.
  • Dopuszczalnym jest by ten sam podmiot świadczył usługę porównawczego pomiaru oglądalności na rzecz wielu wydawców, pod warunkiem, że dane są gromadzone, przetwarzane i przechowywane niezależnie dla każdego wydawcy, a narzędzia śledzące są od siebie niezależne.

W praktyce

  • Większość ofert narzędzi śledzących służących pomiarowi dużych grup odbiorców nie wchodzi w zakres wyłączenia, niezależnie od ich konfiguracji.
  • Aby skorzystać ze zwolnienia, należy skontaktować się z dostawcą rozwiązania lub skorzystać z oprogramowania typu open source, jak np. Matomo, które można skonfigurować samodzielnie.

Masz pytania? Cezary Lutyński, nasz doradca ds. ochrony danych, wesprze Cię w planowaniu i wdrażaniu projektów RODO. Skontaktuj się z nim w celu dogadania ważnych szczegółów.

quiz

Sprawdź co pamiętasz - za poprawną odpowiedź nagroda!

Jaki mechanizm pozwala tworzyć nowe aplikacje zgodnie z RODO?

Czytaj także:

Najczęstsze błędy przy zawieraniu umów powierzenia
Administratorem Twoich danych jest ODO 24 sp. z o.o. z siedzibą w Warszawie (03-812) przy ul. Kamionkowskiej 45. Twoje dane są przetwarzane w celu świadczenia usługi biuletyn informacyjny na zasadach określonych w Regulaminie ŚUDE. Więcej informacji na temat procesu przetwarzania danych osobowych oraz przysługujących Ci praw uzyskasz w Polityce prywatności.
Potwierdź swój adres e-mail
Wejdź na swoją skrzynkę pocztową, otwórz wiadomość od ODO 24 i potwierdź adres e-mail, klikając w link.
Jeżeli nie znajdziesz naszej wiadomości - sprawdź w folderze SPAM. Aby w przyszłości to się nie powtórzyło oznacz wiadomość jako pożądaną (klikniknij prawym przyciskiem myszy i wybierz “Oznacz jako wiadomość pożądaną”).
Odbierz bezpłatny pakiet 4 poradników
i 4 szkoleń e-learningowych RODO
4x4 - Odbierz bezpłatny pakiet 4 poradników i 4 szkoleń RODO
Administratorem Twoich danych jest ODO 24 sp. z o.o. z siedzibą w Warszawie (03-812) przy ul. Kamionkowskiej 45. Twoje dane są przetwarzane w celu świadczenia usługi biuletyn informacyjny na zasadach określonych w Regulaminie ŚUDE. Więcej informacji na temat procesu przetwarzania danych osobowych oraz przysługujących Ci praw uzyskasz w Polityce prywatności.
Administratorem Twoich danych jest ODO 24 sp. z o. o. >>>