TL;DR

  • Nowa regulacja GDPR/RODO będzie miała wpływ na zdecydowaną większość firm = tak, na ciebie najprawdopodobniej też. Więcej info o regulacji tutaj.
  • Jeżeli twój projekt nie rozpoczął jeszcze przygotowań w celu zapewnienia zgodności to nie zostało ci zbyt wiele czasu (deadline 25 maja 2018)
  • Przygotowania najlepiej rozpocząć od identyfikacji danych osobowych w aplikacji (tak, dane pracowników też są danymi osobowymi) – w artykule znajdziesz informacje gdzie ich szukać

 

Panie, co mnie to obchodzi?

A powinno! GDPR ma na celu globalną zmianę podejścia do prywatności i danych osobowych. Będzie w tym celu wymagało pracy całego zespołu – dbanie o dane osobowe i podejście „privacy be default” stanie się standardem obowiązującym każdego z nas, a zwłaszcza osoby odpowiedzialne za wytwarzanie oprogramowania. Jeżeli nadal uważasz że nie masz z tym problemu, to zweryfikuj chociażby na jakich danych przeprowadzasz testy na środowisku testowym/developerskim? Jeżeli są one „zanonimizowane” (co oznacza, że ich podstawie nie istnieje możliwość bezpośredniego lub pośredniego zidentyfikowania osoby do której należą) to gratuluje, ale niestety jesteś w mniejszości. Do tego dochodzą również kolejne wątpliwości – co mam na myśli mówiąc „dane osobowe”? Już wyjaśniam…

 

Czym są dane osobowe?

Na początek bardziej rozwinięta regułka z poprzedniego akapitu (parafrazując zapisy GDPR):

Dane osobowe to wszystkie informacje związane z możliwą do zidentyfikowania (żyjącą) osobą [nazywaną przez regulację Data Subject], które mogą prowadzić w sposób bezpośredni lub pośredni, do identyfikacji wspomnianej osoby. Dane możemy podzielić na dwie główne grupy – standardowe i wrażliwe. 

Bazując na tej definicji, to daną osobową może być wszystko. Żeby było wam trochę łatwiej, to poniżej wrzucam tabelkę z danymi, które moim zdaniem mogą być traktowane jako dane osobowe:

Standardowe Dane Osobowe Wrażliwe Dane Osobowe
  • Imię
  • Nazwisko
  • Pseudonim
  • Adres prywatny
  • Prywatny numer telefonu
  • Prywatny adres email
  • Służbowy adres
  • Służbowy adres email
  • Służbowy numer telefonu
  • Biling telefoniczny
  • Płeć
  • Data urodzenia
  • Wiek
  • Adres IP
  • Ciasteczka, Certyfikaty, etc.
  • ID urządzenia
  • Informacje RFID
  • Dane logowania
  • Podpis cyfrowy
  • Numer pracownika
  • Numer Pesel
  • ID Prawa Jazdy
  • Tablica rejestracyjna pojazdu
  • Numer karty kredytowej
  • Informacje bankowe
  • Informacje o szkoleniach
  • Informacje o rodzinie – imię żony, dzieci itp.
  • CV
  • Nazwa stanowiska w pracy
  • Nagrania z rozmów telefonicznych
  • Informacje o pochodzeniu etnicznym
  • Opinie polityczne
  • Wyznanie
  • Poglądy polityczne
  • Dane genetyczne lub biometryczne
  • Dane dotyczące zdrowia
  • Informacje o orientacji seksualnej
  • Dane dotyczące wyroków skazujących lub przestępstw

Równie dobrze mógłbym napisać, że praktycznie wszystko prawda? Ostrzegałem, że to dosyć spora zmiana, ale postaram się wam pomóc. Poniżej wrzucam coś w rodzaju checklisty z nie-do-końca-oczywistymi miejscami, gdzie możecie spodziewać się znaleźć wspomniane dane w waszych aplikacjach, oraz na co warto zwrócić uwagę.

 

Co zweryfikować, szukając danych osobowych w mojej webaplikacji?

Czy używasz CMS (Content Management System)?

Jeżeli tak, to w pierwszym kroku warto poszukać informacji o tym, czy jego twórcy nie zamierzają w najbliższym czasie przygotować go pod nadchodzącą regulację – to z pewnością może oszczędzić ci sporo czasu (np. społeczność WordPress’a pracuje nad pewnymi usprawnieniami – przynajmniej w kwestii core’a). A co w wypadku kiedy twój dostawca CMS nie bardzo interesuje się tematyką GDPR? Odpowiedzialnością tzw. Data Controllera będzie upewnienie się, że wszystko jest przetwarzane w odpowiedni sposób, a dane są bezpieczne.

Dodatki, rozszerzenie, pluginy, narzędzia itp

Jeżeli używasz zewnętrznych pluginów czy narzędzi, to ponownie niezbędna będzie ich weryfikacja z regulacją. Jeżeli nie masz pewności z czego może korzystać twoja aplikacja, polecam wtyczkę do przeglądarki Wappalyzer:

Tutaj do pobrania dla przeglądarki Firefox
Oraz dla przeglądarki Chrome

Po instalacji, wystarczy że wejdziesz na dowolną stronę i klikniesz przycisk Wappalyzera, aby zweryfikować z czym konkretnie masz do czynienia:

Biblioteka mediów

Jeżeli w twojej aplikacji jest miejsce gdzie użytkownicy mają możliwość wrzucania plików, dostępnych następnie z poziomu aplikacji (np. biblioteka mediów w WordPress) to również masz kilka miejsc do sprawdzenia:

– Zweryfikuj, czy metadane są automatycznie usuwane
– Upewnij się, że użytkownik potwierdza posiadanie odpowiednich uprawnień do używania danego pliku
– Sprawdź, czy inni użytkownicy mają dostęp (i prawa do wykorzystania) do wrzuconych plików
– Zidentyfikuj miejsce w których przetrzymywane są wgrane pliki i zweryfikuj ich bezpieczeństwo

Metadane

Metadane to informacje (zwykle nie widoczne na pierwszy rzut oka), które opisują dany plik. Jeżeli w twojej aplikacji użytkownik ma możliwość wrzucenia pliku na serwer, to zadbaj o to aby metadane były automatycznie kasowane. Poniżej przykłady rozszerzeń plików, przechowujących metadane:

3FR, 3G2, 3GP, 3GP2, 3GPP, ACFM, ACR, AFM, AI, AIF, AIFC, AIFF, AIT, AMFM, APE, ARW, ASF, AVI, BMP, BTF, CHM, CIFF, COS, CR2, CRW, CS1, DC3, DCM, DCP, DCR, DFONT, DIB, DIC, DICM, DIVX, DJV, DJVU, DLL, DNG, DOC, DOCM, DOCX, DOT, DOTM, DOTX, DPX, DV, DVB, DYLIB, EIP, EPS, EPS2, EPS3, EPSF, ERF, EXE, EXIF, EXR, F4A, F4B, F4P,F4V, FFF, FLA, FLAC, FLIR, FLV, FPF, FPX, GIF, GZ, GZIP, HDP, HDR, HTM, HTML, ICC, ICM, IDML, IIQ, IND, INDD, INDT, INX, ITC, J2C, J2K, JNG, JP2, JPC, JPEG, JPF, JPG, JPM, JPX, K25, KDC, KEY, KTH, LA, LNK, M2T, M2TS, M2V, M4A, M4B, M4P, M4V, MEF, MIE, MIF, MIFF, MKA, MKS, MKV, MNG, MODD, MOS, MOV, MP3, MP4, MPC, MPEG, MPG, MPO, MQV, MRW, MTS, MXF,NEF, NEWER, NMBTEMPLATE, NRW, NUMBERS, ODB, ODC, ODF, ODG, ODI, ODP, ODS, ODT, OFR, OGG, OGV, ORF, OTF, PAC, PAGES, PBM, PCD, PCT, PDF, PEF, PFA, PFB, PFM, PGF, PGM, PICT, PLIST, PMP, PNG, POT, POTM, POTX, PPM, PPS, PPSM, PPSX, PPT, PPTM, PPTX, PS, PS2, PS3, PSB, PSD, PSP, PSPFRAME, PSPIMAGE, PSPSHAPE, PSPTUBE, QIF, QT, QTI, QTIF, RA, RAF,RAM, RAR, RAW, RIF, RIFF, RM, RMVB, RPM, RSRC, RTF, RV, RW2, RWL, RWZ, SO, SR2, SRF, SRW, SVG, SWF, THM, THMX, TIF, TIFF, TORRENT, TS, TTC, TTF, TUB, VOB, VRD, VSD, WAV, WDP, WEBM, WEBP, WMA, WMV, WV, X3F, XCF, XHTML, XLA, XLAM, XLS, XLSB, XLSM, XLSX, XLT, XLTM, XLTX, XMP, and ZIP

Jeśli chcesz sprawdzić, jak łatwo można dotrzeć do informacji zawartych w metadanych, skorzystaj z obrazka zamieszczonego poniżej – w tym celu możesz użyć np. tego narzędzia.

Obrazek z metadanymi

Jak widać, metadane mogą zawierać dane personalne takie jak np. imię i nazwisko, nazwa urządzenia, geolokalizacja i wiele innych.

Wtyczki

W kontekście wtyczek sprawdź następujące rzeczy:
– Zidentyfikuj wszystkie zewnętrzne wtyczki zainstalowane/zaimplementowane w twojej aplikacji
– Sprawdź jakie informacje pozyskują i przetwarzają
– Zweryfikuj, czy wspomniane informacje nie są wysyłane poza twoją aplikację
– Sprawdź czy dana wtyczka generuje logi na serwerze i co zawiera się w tych logach

Pliki cookies i local storage

– Sprawdź czy w plikach cookies i local storage są przetrzymywane jakieś dane osobowe (warto zweryfikować miejsca w aplikacji, gdzie wykonywane są akcje na cookies i local storage)
– Sprawdź w jaki sposób twoja aplikacja procesuje dane z plików cookies i local storage
– Upewnij się, że użytkownik wyraża zgodę na przetwarzanie plików cookies (i czy ma łatwą możliwość cofnięcia takiej zgody)
– Sprawdź czy zgoda zawiera wszystkie dokładne informacjee
– Zweryfikuj, czy twoja aplikacja respektuje nagłówek „Do-Not-Track” z przeglądarki użytkownika

 

Kolejne porady w kwestii zapewnienia zgodności z GDPR już wkrótce w kolejnych częściach serii!