Przejdź do treści

~/cyberbezpieczenstwo cat anonimizacja-danych-osobowych-w-….md

Anonimizacja danych osobowych: definicja, techniki i różnice wobec pseudonimizacji

Anonimizacja danych osobowych w praktyce: kiedy dane przestają podlegać RODO, czym różni się od pseudonimizacji, techniki (k-anonimowość, maskowanie) i narzędzia.

CZCzarek Zawolski--aktualizacja=--czas=8 min--dział=Cyberbezpieczeństwo
Tabela danych osobowych z zamaskowanymi polami symbolizująca anonimizację
tldr.txt — W skrócie

~ xad tldr anonimizacja-danych-osobow…

  • Anonimizacja to nieodwracalne przekształcenie danych tak, by nie dało się zidentyfikować osoby — także po połączeniu z innymi dostępnymi informacjami. Dane naprawdę anonimowe nie podlegają RODO.
  • Pseudonimizacja (np. zastąpienie nazwiska identyfikatorem) jest odwracalna przy użyciu dodatkowych informacji, więc takie dane nadal są danymi osobowymi.
  • Samo usunięcie imienia i nazwiska zwykle nie wystarcza: kombinacja daty urodzenia, kodu pocztowego i płci potrafi jednoznacznie wskazać osobę.
  • Skrót (hash) PESEL-u czy adresu e-mail to nie anonimizacja — takie wartości da się odtworzyć przez sprawdzenie wszystkich możliwości.
  • Skuteczność anonimizacji trzeba zmierzyć: sprawdź wyodrębnianie, możliwość powiązania i wnioskowanie, np. testem k-anonimowości.
$ tree --spis-tresci

Anonimizacja danych osobowych to nieodwracalne przekształcenie danych w taki sposób, że nie da się już ustalić, kogo dotyczą — ani bezpośrednio, ani po połączeniu z innymi dostępnymi informacjami. Dane skutecznie zanonimizowane przestają być danymi osobowymi i nie podlegają RODO, co pozwala np. udostępnić je do analiz, testów czy badań.

Kłopot w tym, że skuteczna anonimizacja jest trudna. Usunięcie imienia i nazwiska albo zamiana PESEL-u na skrót kryptograficzny to zwykle co najwyżej pseudonimizacja, a nie anonimizacja. Poniżej wyjaśniamy, gdzie przebiega ta granica, jakie techniki stosuje się w systemach teleinformatycznych i jak sprawdzić, czy zbiór danych rzeczywiście jest anonimowy.

Anonimizacja danych osobowych w świetle RODO

RODO nie zawiera osobnego artykułu z definicją anonimizacji. Kluczowy jest motyw 26, który mówi, że zasady ochrony danych nie mają zastosowania do informacji anonimowych, czyli takich, które nie wiążą się ze zidentyfikowaną lub możliwą do zidentyfikowania osobą. Przy ocenie, czy osobę da się zidentyfikować, bierze się pod uwagę wszystkie rozsądnie prawdopodobne sposoby — z uwzględnieniem kosztów, czasu i dostępnej technologii.

Z tego wynikają trzy praktyczne konsekwencje:

  1. Anonimowość ocenia się w kontekście. Zbiór, który jest anonimowy dla przypadkowego odbiorcy, może nie być anonimowy dla firmy, która ma dostęp do innych baz.
  2. Anonimizacja nie jest „raz na zawsze”. Nowe publicznie dostępne dane albo lepsze techniki łączenia zbiorów mogą z czasem umożliwić identyfikację.
  3. Sam proces anonimizacji to przetwarzanie danych osobowych. Potrzebujesz więc podstawy prawnej i musisz przestrzegać zasad RODO aż do momentu, w którym dane faktycznie przestaną być osobowe.

Najważniejszym dokumentem opisującym techniki pozostaje opinia 05/2014 Grupy Roboczej Art. 29 (poprzednika Europejskiej Rady Ochrony Danych) w sprawie technik anonimizacji. Choć powstała przed RODO, jej kryteria są nadal powszechnie stosowane.

Anonimizacja a pseudonimizacja — najważniejsza różnica

Pseudonimizacja jest zdefiniowana wprost w art. 4 pkt 5 RODO: to przetworzenie danych tak, by nie można ich było przypisać konkretnej osobie bez użycia dodatkowych informacji, przechowywanych osobno i odpowiednio zabezpieczonych.

CechaAnonimizacjaPseudonimizacja
Odwracalnośćnieodwracalnaodwracalna przy użyciu dodatkowych informacji
Status danychnie są danymi osobowyminadal są danymi osobowymi
Czy podlega RODOnie (wynik), tak (sam proces)tak
Typowe zastosowaniestatystyki, publikacja zbiorów, badaniatesty, analityka wewnętrzna, ograniczanie dostępu
Przykładrok urodzenia w przedziałach 10-letnich, dane zagregowanenazwisko zastąpione identyfikatorem K-004821

Pseudonimizacja jest wartościowa — RODO wymienia ją jako przykład środka ochrony w art. 25 i 32 — ale nie zwalnia z obowiązków. Warto dodać, że w orzecznictwie TSUE (m.in. wyrok z 2025 r. w sprawie EDPS przeciwko SRB, C-413/23 P) pojawia się podejście względne: dane pseudonimizowane mogą nie być danymi osobowymi dla odbiorcy, który realnie nie ma możliwości identyfikacji. Dla administratora, który trzyma klucz lub tabelę mapującą, zawsze pozostają danymi osobowymi.

Uwaga: Skrót kryptograficzny (np. SHA-256) z PESEL-u, numeru telefonu czy adresu e-mail nie anonimizuje danych. Zbiór możliwych PESEL-i jest na tyle mały, że można policzyć skróty wszystkich wartości i porównać je z Twoimi. Nawet skrót z tajnym kluczem (HMAC) to tylko pseudonimizacja.

Więcej o tym, dlaczego skróty nie ukrywają przewidywalnych danych, przeczytasz w tekstach o funkcji skrótu kryptograficznego i hashowaniu z solą.

Trzy ryzyka, które anonimizacja musi wyeliminować

Opinia 05/2014 ocenia każdą technikę pod kątem trzech ryzyk. To dobra lista kontrolna również dla Twojego projektu:

  • Wyodrębnienie (singling out) — czy da się wskazać w zbiorze jeden rekord odpowiadający konkretnej osobie? Jeśli w tabeli jest jedna kobieta urodzona w 1961 r. mieszkająca w danym powiecie, to jest ona łatwa do wyodrębnienia.
  • Możliwość powiązania (linkability) — czy da się połączyć rekordy dotyczące tej samej osoby w jednym zbiorze lub między różnymi zbiorami? Stały identyfikator klienta w kilku udostępnianych plikach to klasyczny problem.
  • Wnioskowanie (inference) — czy da się z dużym prawdopodobieństwem wywnioskować wartość atrybutu? Jeśli wszyscy mężczyźni w wieku 40–49 lat z danego regionu mają w zbiorze tę samą diagnozę, to wiedząc, że ktoś do tej grupy należy, znasz jego diagnozę.

Znane przypadki nieudanej anonimizacji dotyczyły właśnie tych ryzyk: badacze zidentyfikowali część użytkowników „zanonimizowanego” zbioru ocen filmów z konkursu Netflix Prize, porównując go z publicznymi recenzjami, a opublikowane przez AOL w 2006 r. logi wyszukiwań pozwoliły dziennikarzom ustalić tożsamość konkretnych osób po treści zapytań.

Techniki anonimizacji danych

Usuwanie i maskowanie identyfikatorów bezpośrednich

Pierwszy krok to usunięcie danych jednoznacznie identyfikujących: imion i nazwisk, PESEL-u, numerów dokumentów, adresów e-mail, numerów telefonów, numerów rachunków. Maskowanie (np. j***@example.com) jest przydatne w interfejsach, ale jako technika anonimizacji jest słabe — częściowa wartość często wystarcza do identyfikacji.

Generalizacja i supresja

Generalizacja zmniejsza szczegółowość tzw. quasi-identyfikatorów, czyli atrybutów, które osobno nie identyfikują, ale w kombinacji — tak:

  • datę urodzenia zastępujesz rokiem lub przedziałem wiekowym,
  • pełny kod pocztowy — dwiema pierwszymi cyframi lub województwem,
  • dokładną kwotę wynagrodzenia — przedziałem.

Supresja to usunięcie rekordów lub wartości, które mimo generalizacji pozostają unikalne (np. jedyny pacjent powyżej 95 lat w powiecie).

K-anonimowość, l-dywersyfikacja i t-bliskość

To miary, które pozwalają sprawdzić efekt generalizacji. Zbiór jest k-anonimowy, jeśli każda kombinacja quasi-identyfikatorów występuje w nim co najmniej k razy. L-dywersyfikacja dodatkowo wymaga, by w każdej takiej grupie było co najmniej l różnych wartości atrybutu wrażliwego — chroni to przed wnioskowaniem. T-bliskość idzie krok dalej i wymaga, by rozkład atrybutu wrażliwego w grupie był zbliżony do rozkładu w całym zbiorze.

Perturbacja i prywatność różnicowa

Perturbacja polega na dodaniu kontrolowanego szumu do wartości (np. wiek ±2 lata) lub zamianie wartości między rekordami. Prywatność różnicowa (differential privacy) to matematycznie zdefiniowana odmiana tego podejścia, stosowana głównie przy publikacji statystyk i zapytań agregujących — daje mierzalną gwarancję, ale kosztem dokładności wyników.

Agregacja i dane syntetyczne

Najbezpieczniejsza bywa publikacja wyłącznie danych zagregowanych (sumy, średnie, liczebności z progiem minimalnym, np. bez komórek mniejszych niż 5–10 osób). Coraz częściej stosuje się też dane syntetyczne, generowane przez model na podstawie prawdziwego zbioru. Pamiętaj jednak, że model przeuczony na małej próbie potrafi odtworzyć rzeczywiste rekordy — dane syntetyczne też trzeba testować.

Anonimizacja w systemach teleinformatycznych: przykład w SQL

Typowa sytuacja: potrzebujesz kopii bazy produkcyjnej dla zespołu analityków lub środowiska testowego. Poniżej prosty przykład generalizacji tabeli klientów w PostgreSQL:

CREATE TABLE klienci_anon AS
SELECT
  (EXTRACT(YEAR FROM data_urodzenia)::int / 10) * 10 AS dekada_urodzenia,
  LEFT(kod_pocztowy, 2)                           AS region_pocztowy,
  plec,
  ROUND(suma_zamowien, -2)                        AS suma_zamowien_zaokr
FROM klienci;

Następnie sprawdź k-anonimowość — zapytanie pokaże grupy mniejsze niż 5 osób, które trzeba dalej uogólnić lub usunąć:

SELECT dekada_urodzenia, region_pocztowy, plec, COUNT(*) AS k
FROM klienci_anon
GROUP BY dekada_urodzenia, region_pocztowy, plec
HAVING COUNT(*) < 5
ORDER BY k;

Zwróć uwagę, że w tabeli wynikowej nie ma identyfikatora klienta. Jeśli go zostawisz — nawet zamieniony na losowy numer — zbiór staje się podatny na powiązanie z innymi danymi. Przy projektowaniu takich kopii przydaje się rozumienie struktury bazy, o którym piszemy w artykule o normalizacji i denormalizacji baz danych.

Środowiska testowe a maskowanie dynamiczne

Funkcje w rodzaju Dynamic Data Masking w SQL Server ukrywają dane przy wyświetlaniu, ale pełne dane nadal są w bazie i widzi je każdy z odpowiednimi uprawnieniami. To kontrola dostępu, nie anonimizacja. Do środowisk testowych lepiej generować fikcyjne dane albo tworzyć trwale przekształconą kopię, a dostęp do produkcji monitorować — np. narzędziami klasy DAM (Database Activity Monitoring).

Logi, dokumenty i pliki PDF

  • Logi serwerów zawierają adresy IP, które według orzecznictwa TSUE mogą być danymi osobowymi. Skracanie adresu (np. zerowanie ostatniego oktetu IPv4) ogranicza ryzyko, ale przy połączeniu z czasem i identyfikatorem sesji nie zawsze wystarcza.
  • Dokumenty tekstowe (umowy, orzeczenia, korespondencja) wymagają wykrycia danych osobowych w treści — ręcznie albo narzędziami NLP.
  • Pliki PDF to częsta pułapka: czarny prostokąt nałożony na tekst nie usuwa warstwy tekstowej. Używaj funkcji redakcji (np. „Redaguj” w Adobe Acrobat), która faktycznie wycina treść, i sprawdź wynik, kopiując tekst z dokumentu.

Narzędzia do anonimizacji danych

NarzędzieLicencjaDo czego się nadaje
ARXopen sourceanonimizacja zbiorów tabelarycznych, k-anonimowość, l-dywersyfikacja, analiza ryzyka ponownej identyfikacji
Microsoft Presidioopen sourcewykrywanie i maskowanie danych osobowych w tekstach i obrazach
PostgreSQL Anonymizeropen sourcereguły maskowania i anonimizacji deklarowane bezpośrednio w bazie PostgreSQL
sdcMicroopen source (R)kontrola ujawniania danych w mikrodanych statystycznych

Narzędzia do wykrywania danych w tekście (jak Presidio) działają na regułach i modelach językowych, więc nie są nieomylne — szczególnie dla języka polskiego i nietypowych formatów. Wynik zawsze warto zweryfikować na próbce.

Jak przeprowadzić anonimizację krok po kroku

  1. Określ cel i odbiorcę. Inne ryzyko wiąże się z publikacją otwartego zbioru, a inne z przekazaniem danych zaufanemu partnerowi na podstawie umowy.
  2. Zinwentaryzuj atrybuty. Podziel je na identyfikatory bezpośrednie, quasi-identyfikatory i atrybuty wrażliwe.
  3. Usuń identyfikatory bezpośrednie, a quasi-identyfikatory uogólnij tylko w takim stopniu, jaki jest potrzebny do celu analizy.
  4. Zmierz ryzyko. Sprawdź k-anonimowość, unikalne kombinacje i możliwość wnioskowania; spróbuj powiązać zbiór z danymi publicznymi.
  5. Udokumentuj decyzje — zastosowane techniki, parametry (np. k = 5) i ocenę ryzyka. To Twój dowód rozliczalności wobec UODO.
  6. Okresowo weryfikuj zbiory, które udostępniasz długoterminowo, bo zmienia się dostępność innych danych.

Jeśli nie da się osiągnąć anonimizacji bez utraty wartości analitycznej danych, uczciwiej jest traktować zbiór jako pseudonimizowany i chronić go jak dane osobowe: ograniczyć dostęp, zaszyfrować (zobacz szyfrowanie symetryczne) i objąć umową powierzenia lub udostępnienia. To bezpieczniejsze niż deklarowanie anonimowości, której nie da się obronić.

~ man faq

Najczęściej zadawane pytania

Czym jest anonimizacja danych osobowych?

To takie przetworzenie danych, po którym nie da się ustalić tożsamości osoby, której dotyczyły, przy użyciu rozsądnie prawdopodobnych środków. Zanonimizowane dane przestają być danymi osobowymi i wychodzą spod RODO.

Czym różni się anonimizacja od pseudonimizacji?

Anonimizacja jest nieodwracalna. Pseudonimizacja zastępuje dane identyfikujące pseudonimem, ale administrator może je przywrócić dzięki oddzielnie przechowywanym informacjom, np. tabeli mapującej lub kluczowi — dlatego dane pseudonimizowane nadal podlegają RODO.

Czy zaszyfrowane dane są zanonimizowane?

Nie. Szyfrowanie jest odwracalne dla każdego, kto ma klucz, więc zaszyfrowane dane osobowe pozostają danymi osobowymi. Szyfrowanie to środek bezpieczeństwa, a nie anonimizacja.

Czy anonimizacja wymaga podstawy prawnej?

Sam proces anonimizacji jest przetwarzaniem danych osobowych, więc musi mieć podstawę prawną i być zgodny z zasadami RODO. Dopiero jego wynik — dane anonimowe — nie podlega rozporządzeniu.

Jakie są narzędzia do anonimizacji danych?

Popularne narzędzia open source to ARX (anonimizacja zbiorów tabelarycznych), Microsoft Presidio (wykrywanie i maskowanie danych osobowych w tekście) oraz rozszerzenie PostgreSQL Anonymizer dla baz PostgreSQL.

Ten artykuł jest częścią tematu

CZ

$ whoami

Czarek Zawolski

Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.

~ ls ../podobne