Programista a RODO

Programiści stanowią grupę zawodową, która bardzo często ma bezpośredni dostęp do danych osobowych. Zarówno w trakcie utrzymywania aplikacji, jak i jej tworzenia czy testowania. Bardzo często nie są to dane zanonimizowane, lecz te, które administrator wykorzystuje produkcyjnie. RODO narzuca wiele obowiązków związanych z tym, w jaki sposób przetwarzanie danych ma się odbywać, lecz nie narzuca żadnych rozwiązań technicznych.  Programista lub architekt sam musi o nich zadecydować. Stąd niezwykle ważna w tym procesie jego rola. Nie tylko powinien on dbać należycie o przetwarzanie danych, ale o całą architekturę aplikacji czy serwisu WWW.

Programista a forma zatrudnienia

Jeżeli pracujesz jako programista na podstawie umowy o pracę to masz prostą sytuację, co nie znaczy, że nie masz obowiązków. Podobnie ma się rzecz, gdy pracę wykonujesz podpisując z zamawiającym umowę-zlecenie lub umowę o dzieło. W tych trzech przypadkach główna odpowiedzialność za proces przetwarzania danych osobowych ciążyć będzie na Twoim pracodawcy. To on będzie administratorem, współadministatorem lub procesorem (przetwarzającym na zlecenie administratora) danych osobowych. Zatem to na Inspektorze Ochrony Danych (IOD) lub zarządzającym firmą będzie ciążyła odpowiedzialność za wszystkie procesy przetwarzania. Tobie muszą wystawić odpowiednie upoważnienie. Twoja odpowiedzialność polega przede wszystkim na działaniu zgodnie z przyjętymi w firmie procedurami. Jeżeli widzisz potencjalne zagrożenia dla procesu przetwarzania, zarówno w procedurze, zachowaniu aplikacji czy pracowników jak i otrzymanych danych, musisz o tym fakcie poinformować przełożonych.

Kontrakt B2B

Inaczej wygląda sytuacja, gdy prowadzisz jednoosobową działalność gospodarczą i na zrealizowanie zlecenia podpisujesz umowę B2B. W takim wypadku jesteś jednocześnie w odniesieniu do jednych danych administratorem, a w czasie realizacji zlecenia procesorem. Pierwsza grupa odnosi się do typowych działań przedsiębiorcy związanych z korespondencją e-mail, księgowością, hostingiem własnej strony itd. Musisz pamiętać, jak każdy inny przedsiębiorca, o odpowiednim zabezpieczeniu danych, podpisaniu umów powierzenia czy spełnieniu obowiązku informacyjnego. 

O przetwarzaniu danych na zlecenie mówimy wtedy, gdy otrzymujesz od zamawiającego dostęp do jego systemów celem wykonania zlecenia. A także gdy przesyła Ci on dane testowe do weryfikacji działania napisanego programu. Zawsze musisz podpisać wtedy umowę powierzenia opisującą jego zakres. Opisywać ona musi do jakich danych masz dostęp i jakie czynności możesz wykonywać. W takim wypadku musisz spełnić wszystkie wymagania, jakie RODO narzuca na każdego przedsiębiorcę.

Powiedzmy sobie wprost – jako programista jesteś osobą, która wie jak obsługiwać komputer i jak korzystać z różnych narzędzi IT. Dlatego w przypadku naruszenia wynikającego z Twojej winy raczej nie licz na taryfę ulgową.

Privacy by design, privacy by default

Samo RODO jest neutralne technologicznie. Nie znajdziesz w nim wytycznych jak chronić dane, jakie mechanizmy czy procedury zastosować w konkretnych czynnościach. To ty musisz określić niezbędne środki. Uwzględnij branżę, w której działasz ty czy Twoja aplikacja, dane, jakie przetwarzasz, oraz stopień zagrożenia wolności i praw dla osób, gdyby wystąpiło naruszenie. Wdrożone mechanizmy musisz dostosować do tego czy dane osobowe przetwarzasz na własnych serwerach, w chmurze czy w formie papierowej. W branży IT RODO wprowadziło dwa bardzo ważne pojęcia, które każdy, nie tylko programista czy architekt, powinien zawsze mieć w głowie.

Privacy by design oznacza, że ochrona prywatności powinna być wpisana w produkt czy usługę od samego początku. Już w fazie projektowania. Należy od razu dobrać odpowiednie rozwiązania techniczne, które będą zapewniały bezpieczeństwo przetwarzaniu danych osobowych. Jednak to nie wszystko, gdyż wymagane są też odpowiednie rozwiązania organizacyjne, na przykład procedury postępowania, system kontroli wersji, akceptacji zmian czy regularne audyty kodu.

Druga zasada to privacy by default. Oznacza ona, że domyślnie do ochrony powinny być wdrożone możliwie najlepsze środki ochrony. Co więcej, ta ochrona ma działać niezależnie od tego, czy użytkownik podejmie jakiekolwiek czynności. W domyślnych ustawieniach aplikacji czy portalu, a także w mechanizmach, które są dla niego niewidoczne, musisz zapewnić maksymalną ochronę.

Privacy by design

Realizując zasady privacy by default i privacy by default należy mieć na względzie zasadę minimalizacji. Ma tu znaczenie także zakaz udostępniania danych podmiotom trzecim bez zgody użytkownika, czy zakaz przetwarzania w innym celu niż został mu przedstawiony. Jak zasady te stosować w praktyce? Projektując czy implementując rozwiązanie, pamiętaj na każdym kroku o 7 fundamentalnych zasadach:

  1. Procesowanie danych musi odbywać się w granicach prawa i być transparentne.
  2. Przetwarzać możesz dane jedynie w celu, dla którego zostały one powierzone. Przykładowo, jeżeli piszesz aplikację tylko do przechowywania kontaktów adresowych, to nie możesz w niej implementować mechanizmów, które wygenerują statystyki mówiące o ilości osób z danego miasta. A już na pewno nie na Twój użytek!
  3. Zasada minimalizacji, która mówi, że nie wolno Ci przetwarzać więcej informacji niż jest to niezbędne do osiągnięcia celu przetwarzania.
  4. Działania na rzecz ochrony muszą być proaktywne a nie reaktywne, dopiero gdy zostanie wykryte naruszenie.
  5. Musisz uwzględnić i wbudować ochronę prywatności już na etapie projektowania aplikacji.
  6. Bezpieczeństwo przetwarzania musi być zapewnione przez cały okres „życia” aplikacji.
  7. Należy respektować prywatność użytkownika. Wiąże się to oczywiście z zasadą minimalizacji, lecz rozszerza tę zasadę na przykład o respektowanie sprzeciwu, gdyby wycofał on wcześniejszą zgodę.

Norweski organ nadzorczy wydał bardzo rozbudowany, i ciągle aktualizowany, dokument, opisujący wytyczne, w jaki sposób rozwijać oprogramowania, a wręcz zarządzać całymi projektami związanymi z oprogramowaniem, tak aby spełniać wymogi privacy by design. Powinien go przeczytać nie tylko architekt, ale każdy programista. Można się z nim zapoznać TUTAJ.

Zasada minimalizacji w aplikacjach

O zasadzie minimalizacji pisałem na RODOwskazie już wcześniej. Obowiązuje ona na każdym etapie przetwarzania danych osobowych, a zgodnie z zasadą privacy by design musi być ona głęboko zaszyta w samej aplikacji. Tymczasem nadal wiele aplikacji orbituje co najmniej w szarej strefie. Czasem z własnej winy (świadomej lub z niewiedzy), czasem przez brak dostosowania odpowiednich mechanizmów komunikacji z zewnętrznymi usługami. Dobrym tego przykładem jest usługa Facebook Login, czyli możliwości logowania do Twojej usługi za pomocą konta w serwisie Facebook.

Częścią procesu tworzenia powiązania danej osoby z Twoją aplikacją jest pytanie o zakres danych, które portal udostępni Ci na temat danej osoby. Większość użytkowników, mimo że ma możliwość wyboru udostępnianych informacji, to ślepo akceptuje domyślnie zaznaczone opcje w wyskakującym oknie powiadomienia. Czyni tym samym sobie często krzywdę, ale z wejściem RODO nie można powiedzieć, że wina leży całkowicie po stronie użytkownika. Przyjmijmy, że piszesz aplikację przechowującą kontakty adresowe. Łącząc ją z Facebookiem, stosowne jest pobranie informacji typu imię, nazwisko, ewentualnie adres e-mail rejestrującej się osoby. Nie możesz jednak oczekiwać, że da ona Ci zgodę na dostęp do swojej listy znajomych. Oczywiście, możesz do tego namawiać reklamując swój produkt, ale nie możesz wymagać. Prośbę o te dane łatwo uzasadnisz chęcią ułatwienia wprowadzenia pierwszych wpisów do aplikacji, lecz nie możesz ich wymuszać. W tej przykładowej aplikacji nie da się racjonalnie uzasadnić prośby o udostępnienie informacji o płci osoby zakładającej konto, jej galerii zdjęć czy opublikowanych na jej profilu wiadomości. Zbieranie tego typu danych w aplikacji, będącej książką adresową zawsze będzie uznane za nadmiarowe i niezgodne z RODO.

Pamiętaj, że każdy cel przetwarzania musisz wyjaśnić w polityce prywatności aplikacji.

Dobry programista rejestruje zgody

Projektując aplikacje czy serwisy internetowe, warto zwrócić uwagę na kilka aspektów. Poniżej kilka z nich – spotkałem się z nimi pracując jako konsultant przy kilku projektach.

Warto rejestrować kto, kiedy i w jaki sposób wydał zgodę na przetwarzanie danych w celach innych, niż wynikałoby to z zasady minimalizacji. Wróćmy ponownie do wspomnianej wcześniej aplikacji przechowującej dane kontaktowe. Jeżeli poprosiliśmy użytkownika o dostęp do książki adresowej w telefonie, zarejestrujmy na serwerze moment wydania tej zgody, jak i moment jej ewentualnego cofnięcia. Jeżeli prosisz o zgodę na wysyłanie informacji marketingowych, to także zarejestruj, kiedy użytkownik ją wydał i cofnął. Możesz zapisać także inne niezbędne dane, które pozwolą Ci udowodnić wydanie zgody. Jednak uważaj, by nadal spełniać zasadę minimalizacji. Zapisanie adresu IP czy wykorzystanej przeglądarki lub platformy sprzętowej wydaje się zasadne, lokalizacji pobranej z GPS już nie. Oczywiście informacje o tym zawsze umieść w polityce prywatności.

Pamiętaj, że każdy, kto powierza swoje dane, ma także prawo do wglądu w nie, ich poprawiania czy usunięcia. Warto od razu w aplikacji dodać funkcje pozwalające na wykonanie tych czynności. Jeżeli będziesz jednocześnie administratorem tych danych osobowych, to ułatwi Ci to realizację żądań swoich klientów. Na ich spełnienie masz 30 dni, ale w ferworze pracy łatwo te terminy przegapić, szczególnie jeżeli będzie to czynność czasochłonna. Żądania takie musisz rejestrować, warto także logować ich każdorazowe wykonanie.

Przejrzystość komunikacji i rozliczalność

Tworząc swój produkt, dbaj o przejrzystość komunikacji ze swoim klientem. Oprócz domyślnej polityki prywatności postaraj się stworzyć jej skróconą i bardzo przystępną wersję dla odbiorcy. Zawsze wyświetlaj ją w zachęcającej formie. Nie zakładaj, że użytkownik Twojej aplikacji czy portalu jest świadomy tego co robisz. Bardzo często w sklepach internetowych czy aplikacjach opartych o WWW spotykam się z charakterystyczną sytuacją. Administrator uważa, że skoro z boku strony umieścił on ikonę Facebooka czy usługi Zaufane Opinie to spełnił tym samym obowiązek informacyjny. Nic bardziej mylnego! Wiesz dobrze, że każdy może w przeglądarce zainstalować Adblockera, albo blokować ciasteczka. Zatem te „dodatki” mogą mu się nawet nie wyświetlić. Administrator powinien co najmniej uwzględnić je w polityce prywatności. W przypadku gdy przekraczana jest zasada minimalizmu, lub wymagają tego przepisy innych ustaw, należy zbierać świadomie wyrażone zgody. Pamiętaj, że zgoda nie może być domniemana czy wymuszona.

Jeżeli nie pracujesz na etat, to zazwyczaj w umowie znajdziesz zapis zobowiązujący Cię do usunięcia danych dostarczonych przez zamawiającego, na przykład do testów. Zatem musisz pomyśleć nad rozwiązaniem skutecznie usuwającym powierzone dane. Dodatkowo czynność ta musi podlegać zasadzie rozliczalności, czyli jej wykonanie musi być możliwe do udowodnienia. Jedną z metod realizacji tego warunku może być przechowywanie danych każdego z projektów w oddzielnych kontenerach TrueCrypt czy VeraCrypt. Zapewniamy w ten sposób także dodatkowe ich bezpieczeństwo. Rozliczalność ich usunięcia wiązać będzie się z zarejestrowaniem fizycznego usunięcia zaszyfrowanego kontenera ze wszystkich urządzeń. 

Testowe zbiory danych

Programiści powinni być bardzo uwrażliwieni na kwestie testowania, a w szczególności typu zbiorów danych, które zamawiający do testów dostarcza. W umowie należy uwzględnić, że odpowiedzialność za te dane leży po stronie zamawiającego. To on powinien zadbać o to, by dostarczony zbiór był zanonimizowany. Jeżeli jednak zamawiający w umowie zastrzega, że dostarczy zbiór niezanonimozowanych danych osobowych, a ty się na to zgodzisz, to musisz podpisać umowę powierzenia z zamawiającym. Wtedy także za wyciek tych danych z Twojego laptopa czy konta w usłudze chmurowej odpowiadasz bezpośrednio ty.

Odpowiedzialność

Czy programista jest odpowiedzialny za to, by aplikacja była zgodna z RODO? Oczywiście, że tak. Chociaż zakres jej może się różnić w zależności od tego, jaki jest charakter wykonywanej pracy.

Najprostsza sytuacja jest wtedy, gdy tworzysz własną aplikację i następnie ją utrzymujesz. W takiej sytuacji cała odpowiedzialność jest po Twojej stronie. Jeżeli na skutek Twojego błędu programistycznego nastąpi wyciek danych, to ponosisz za to pełną odpowiedzialność. Jesteś wtedy też administratorem danym osób, które zarejestrują się, by z niej korzystać. Zatem odpowiedzialność jest podwójna.

Jeżeli tworzysz jakiś produkt na zlecenie, to sytuacja jest już bardziej skomplikowana. To klient określa pełną specyfikację aplikacji, definiuje jakie dane chce zbierać i w jaki sposób je przetwarzać. Jeżeli w Twoim odczuciu architektura aplikacji nie spełnia wymaga RODO, należy to zamawiającemu postarać się uświadomić. Jednak na końcu to jest jego decyzja i odpowiedzialność, a ty tylko wykonujesz zleconą pracę. W takim wypadku programista nie ponosi odpowiedzialności za to, jaką architekturę narzucił klient. Co innego, gdy programista zastosuje technologiczne rozwiązania, które nie spełniają standardów i dobrych praktyk. Przykładowo, jeżeli klient zażyczył sobie szyfrowania danych osobowych, a programista z lenistwa wybrał algorytm 3DES, to może zostać pociągnięty przez zamawiającego do odpowiedzialności. Chociaż architektura aplikacji nie definiowała jaki algorytm należy zastosować, to programista wybrał algorytm, który wiadomo, że jest słaby. Niemniej dochodzenie odszkodowania w takiej sytuacji nie będzie opierało się na przepisach RODO. Ukarany zostanie administrator danych, czyli zamawiający aplikację. Ten zaś może następnie na drodze cywilno-prawnej dochodzić zadośćuczynienia od programisty.

Jeżeli pracujesz na etacie, to odpowiedzialność ponosi Twój pracodawca. Powinien on udzielić Ci stosownych upoważnień. Oczywiście, jeżeli widzisz naruszenia zasad privacy by desin czy privacy by default, to należy to raportować przełożonym. Realne konsekwencje niedopełnienia wymogów związanych z RODO, które mogą Cię spotkać to kary dyscyplinarne określone w Kodeksie Pracy i wewnętrznych regulaminach.

Informuj mnie o nowościach

Podając nam swój adres email wyrażasz zgodę na otrzymywanie od nas wiadomości o nowościach w serwisie RODOwskaz.online, usługach czy podsumowaniem ważnych zmian i interpretacji prawa związanych z przetwarzaniem danych osobowych w Twojej firmie. W każdej chwili możesz zrezygnować z otrzymywania informacji wypisując się z listy. Odpowiedni odnośnik znajdziesz w każdym mailu. Więcej informacji o przetwarzaniu danych osobowych znajdziesz w naszej polityce prywatności.

Pobierz poradnik, dzięki któremu zaczniesz dostosowywać swoją firmę do wymogów RODO