Dlaczego anonimizacja przed wysyłką do AI jest konieczna, ale nigdy „doskonała”
Co faktycznie „wylatuje na zewnątrz” przy korzystaniu z AI
Przy korzystaniu z modeli AI, zarówno w trybie SaaS (np. API zewnętrznego dostawcy), jak i on‑prem (model wewnątrz organizacji), dane nie kończą się tylko na pojedynczym zapytaniu. Tworzy się cały łańcuch elementów, które mają dostęp do treści:
- API dostawcy – każdy prompt, odpowiedź, metadane (np. identyfikator organizacji, timestamp) trafiają do systemów dostawcy.
- Logi aplikacji – backend, middleware, proxy API bardzo często logują pełne treści żądań i odpowiedzi „na wszelki wypadek”.
- Cache i buforowanie – systemy przyspieszające odpowiedzi mogą przechowywać kopie zapytań, aby szybciej obsłużyć podobne żądania.
- Monitoring i APM – narzędzia do obserwowalności (np. systemy trace’ów) potrafią rejestrować payloady żądań, jeśli nie są poprawnie skonfigurowane.
- Systemy analityczne – gdy ktoś łączy logi z BI lub SIEM, treści promptów mogą trafić do kolejnych narzędzi i zespołów.
Nawet jeśli dostawca obiecuje, że nie wykorzystuje danych do trenowania modeli, treści te i tak istnieją w jego infrastrukturze przez pewien czas i mogą być dostępne dla administratorów, zespołów wsparcia technicznego czy – w skrajnym scenariuszu – organów regulacyjnych danego kraju. Do tego dochodzi wewnętrzna infrastruktura organizacji, która przechowuje i przetwarza dane jeszcze przed wysyłką do modelu.
Bezpieczeństwo kanału vs bezpieczeństwo treści
Szyfrowanie komunikacji (HTTPS, TLS, VPN) rozwiązuje inny problem niż anonimizacja. Kanał może być bardzo dobrze zabezpieczony, a mimo to:
- do modelu trafi pełny numer PESEL czy szczegółowy opis stanu zdrowia,
- prompt zostanie zapisany w logach w postaci jawnej,
- dane będą mogli zobaczyć administratorzy lub programiści podczas debugowania.
Bezpieczeństwo kanału zapewnia, że ktoś „po drodze” nie podsłucha transmisji. Nie chroni jednak przed nadmiernym ujawnieniem treści samej w sobie – to właśnie rola anonimizacji, pseudonimizacji i minimalizacji danych.
W praktyce oznacza to, że nawet przy wzorowo skonfigurowanym szyfrowaniu, organizacja nadal może łamać wewnętrzne polityki bezpieczeństwa czy RODO, jeśli pozwala ludziom wklejać do AI pełne dane osobowe lub tajemnice przedsiębiorstwa.
Ramy prawne: RODO, tajemnica przedsiębiorstwa, umowy z klientami
Dla organizacji działających na terenie UE RODO jest główną ramą prawną regulującą przetwarzanie danych osobowych. Kilka kluczowych konsekwencji dla anonimizacji danych przed wysyłką do AI:
- Dane osobowe to nie tylko imię, nazwisko czy PESEL. To również kombinacje informacji pozwalających zidentyfikować osobę: unikalne ID klienta, e‑mail służbowy, szczegółowe informacje o zdarzeniu, które da się powiązać z konkretnym człowiekiem.
- Dane szczególnej kategorii (np. zdrowotne, poglądy polityczne, dane biometryczne) podlegają jeszcze ostrzejszym wymaganiom – przekazanie ich do zewnętrznego dostawcy AI bez solidnej podstawy prawnej jest bardzo ryzykowne.
- Tajemnica przedsiębiorstwa – dokumentacja systemów, plany rozwoju produktu, strategie cenowe, konfiguracje infrastruktury. To dane wrażliwe biznesowo, nawet jeśli nie są danymi osobowymi.
- Umowy i NDA z klientami – często zobowiązują do niewynoszenia danych poza ściśle określone systemy. Zewnętrzne AI SaaS może się w to nie mieścić.
W wielu przypadkach anonimizacja lub przynajmniej pseudonimizacja przed wysyłką do AI nie jest „miłym dodatkiem”, lecz konieczną przesłanką legalności przetwarzania. Bez niej trudno obronić się przy audycie.
Dlaczego „AI nie używa moich danych do trenowania” to za mało
Dostawcy modeli generatywnych często komunikują: „nie wykorzystujemy Twoich danych do trenowania modeli”. To ważna deklaracja, lecz rozwiązuje wyłącznie fragment problemu. Nadal pozostają:
- logi systemowe u dostawcy (w tym rejestry błędów, trace’y, logi bezpieczeństwa),
- dostęp administratorów i zespołów wsparcia technicznego do przechowywanych danych,
- ryzyko błędnej konfiguracji po stronie klienta – np. przypadkowe logowanie pełnych payloadów w aplikacji integrującej się z API,
- kopie zapasowe (backupy), w których dane mogą być przechowywane dłużej niż intuicyjnie się zakłada.
Brak wykorzystania do trenowania zmniejsza ryzyko ponownego pojawienia się danych w odpowiedziach modelu. Nie usuwa jednak ryzyka nieuprawnionego dostępu lub wycieku w inny sposób. Z tego powodu sensowne organizacje przyjmują założenie, że wszystko, co wyleci do chmury, powinno być zanonimizowane lub przynajmniej zminimalizowane.
Anonimizacja jako redukcja ryzyka, a nie gwarancja
Anonimizacja danych przed wysyłką do AI nigdy nie daje 100% pewności, że osoby lub podmioty nie da się zidentyfikować. Przy bogatych zbiorach danych i dostępie do dodatkowych źródeł korelacje bywają zaskakująco silne. Typowe pułapki:
- opisy zdarzeń tak unikatowe, że nawet po usunięciu imion wiadomo, o kogo chodzi,
- połączenie kilku pozornie neutralnych pól (np. data, lokalizacja, zawód) pozwala wskazać osobę, jeśli zbiór jest mały,
- specyficzne frazy, których używa konkretny klient lub dostawca, jednoznacznie go identyfikują.
Operacyjnie oznacza to, że celem nie jest absolutna anonimowość (ta często jest iluzją), lecz sensowna redukcja ryzyka do poziomu akceptowalnego dla organizacji. W praktyce: stworzenie reguł, procesów i narzędzi, które:
- wycinają oczywiste dane identyfikujące,
- minimalizują presję na wysyłanie nadmiarowych informacji,
- umożliwiają audyt i korektę, jeśli coś pójdzie nie tak.

Podstawowe pojęcia: anonimizacja, pseudonimizacja, maskowanie, minimalizacja
Anonimizacja a pseudonimizacja w ujęciu RODO i praktyki technicznej
W języku potocznym „anonimizacja” często oznacza dowolne ukrywanie danych osobowych. W ujęciu RODO pojęcia są jednak bardziej rygorystyczne:
- Anonimizacja – przetworzenie danych w taki sposób, aby nie można już było zidentyfikować osoby fizycznej w ogóle, ani bezpośrednio, ani pośrednio, przy użyciu wszystkich rozsądnie dostępnych środków. Po skutecznej anonimizacji dane przestają być danymi osobowymi.
- Pseudonimizacja – przetworzenie danych, w wyniku którego nie można przypisać ich konkretnej osobie bez użycia dodatkowych informacji (kluczy, tabel powiązań), przechowywanych osobno i odpowiednio chronionych. Pseudonimizowane dane nadal są danymi osobowymi.
W praktyce inżynierskiej większość tego, co nazywa się „anonimizacją tekstu”, to w rzeczywistości pseudonimizacja lub maskowanie. Na przykład:
- zastąpienie „Jan Kowalski” przez „Użytkownik_123” – to pseudonimizacja,
- zamiana „123‑456‑789” na „XXX‑XXX‑789” – to maskowanie,
- hashowanie ID klienta – pseudonimizacja, jeśli istnieje klucz do odszyfrowania lub słownik.
Dla projektowania mechanizmów przed wysyłką do AI istotne jest, aby świadomie rozumieć, co osiągasz. Jeśli z poziomu organizacji nadal da się odtworzyć tożsamość, to w świetle prawa nadal pracujesz na danych osobowych, a cała otoczka RODO (podstawa prawna, rejestr czynności, DPIA) pozostaje aktualna.
Maskowanie, tokenizacja, perturbacja – czego realnie się spodziewać
Kilka podejść do przekształcania danych pojawia się najczęściej:
- Maskowanie – częściowe ukrycie wartości, zwykle przy zachowaniu formatu. Przykłady:
- „1234 5678 9012 3456” → „1234 **** **** 3456”,
- „jan.kowalski@example.com” → „j***@example.com”.
Dla modeli AI maskowanie bywa mało przydatne – nadal widać strukturę i potencjalnie domenę e‑mail, co może ujawniać firmę.
- Tokenizacja (w kontekście bezpieczeństwa) – zamiana wartości na losowy token, który sam w sobie nie ma znaczenia, np. „Klient_84213”. Powiązanie z realną osobą istnieje w osobnym, chronionym systemie.
- Perturbacja – celowe wprowadzanie „szumu” do danych: modyfikacja dat, zaokrąglanie kwot, uogólnianie lokalizacji (miasto zamiast ulicy). Dobrze działa w danych liczbowych; w tekście stosuje się raczej rzadko, bo może wypaczać sens wypowiedzi.
Od strony modeli językowych istotne jest, że zbyt agresywne przekształcanie może zabić przydatność odpowiedzi. Modele potrzebują kontekstu. Jeśli każdą nazwę klienta zastąpisz „X”, a każdą datę „DATA”, AI będzie mieć problem z rozumieniem chronologii i relacji między encjami.
Anonimizacja tekstu nieustrukturyzowanego: maile, czaty, zgłoszenia
Największe wyzwanie pojawia się przy tekstach swobodnych: opisach problemów, rozmowach na czacie, wiadomościach e‑mail. Dane identyfikujące mogą kryć się wszędzie:
- w treści („Witam, nazywam się Anna Nowak, PESEL …”),
- w podpisie („Anna Nowak, Starszy Specjalista, XYZ S.A., tel. …”),
- w historii cytowanych wiadomości,
- w załącznikach i nazwach plików.
Mechanizmy anonimizacji muszą:
- identyfikować różne formy zapisu (np. PESEL z myślnikami i bez, numery telefonów w formacie międzynarodowym),
- uwzględniać język naturalny („moja córka, lat 12, uczennica klasy 6 w szkole…”) – trudno to uciąć prostymi wyrażeńmi regularnymi,
- radzić sobie z kontekstem („szef działu HR w naszej spółce zalega z wypłatą premii” – nawet bez imienia może identyfikować w wąskim gronie).
W praktyce najrozsądniejsza jest kombinacja:
- reguł wzorców (regexy dla numerów, e‑maili, itp.),
- słowników nazw własnych (nazwy klientów, produktów, wewnętrznych systemów),
- modeli NER (rozpoznawanie nazw własnych w tekście, np. osób, organizacji, lokalizacji).
Minimalizacja danych jako pierwszy i najtańszy mechanizm
Najbardziej niedocenionym narzędziem jest zwykła minimalizacja danych: wysłanie do modelu tylko tych informacji, które są bezwzględnie konieczne do rozwiązania problemu. Zamiast więc walczyć z technicznymi sztuczkami:
- ogranicz liczbę pól, które użytkownik może wkleić do formularza promptu,
- przemyśl szablony zapytań tak, aby kontekst był uogólniony („duży klient z branży logistycznej” zamiast „ABC Logistics Sp. z o.o.”),
- usuń z domyślnych wzorów odpowiedzi stopki i podpisy zawierające dane osobowe.
W wielu scenariuszach, szczególnie analizy tekstu, wystarczy zastąpić:
- konkretne nazwy firm – opisem typu „Klient z branży X”,
- konkretne daty – relacjami „wczoraj”, „tydzień temu”, „w ubiegłym kwartale”,
- adresy – samym miastem lub krajem.
Im mniej szczegółu wyleci na zewnątrz, tym mniejsza presja na wyrafinowane algorytmy anonimizacji. Z technicznego punktu widzenia minimalizacja to jedyny mechanizm, który zawsze poprawia bezpieczeństwo, a przy rozsądnym podejściu rzadko psuje jakość odpowiedzi.
Przykład: opis błędu klienta przed i po przekształceniach
Wyobraźmy sobie zgłoszenie do helpdesku:
„Dzień dobry, klient ABC Retail Sp. z o.o., numer klienta 932874, zgłosił, że po zalogowaniu użytkownika jan.kowalski@abcretail.pl do systemu FIN-ERP‑PROD nie jest widoczna faktura nr FV/2024/07/123. Proszę o pilną analizę, bo to nasz kluczowy klient w Warszawie.”
Transformacja przykładowego zgłoszenia – krok po kroku
Na wcześniej podanym zgłoszeniu można przećwiczyć realne podejście do przekształceń. Z technicznego punktu widzenia operacje zazwyczaj łączą trzy warstwy:
- wykrycie wrażliwych encji,
- podmiana na kontrolowane reprezentacje,
- ewentualne uogólnienie kontekstu biznesowego.
Przykładowa sekwencja przekształceń mogłaby wyglądać tak (pomijając znaki interpunkcyjne i łączniki, by skupić się na treści):
-
Reguły i modele NER oznaczają encje:
„klient ABC Retail Sp. z o.o. [ORG], numer klienta 932874 [ID_KLIENTA], użytkownika jan.kowalski@abcretail.pl [EMAIL_OSOBY], systemu FIN-ERP‑PROD [SYSTEM], faktura nr FV/2024/07/123 [DOK_FINANSOWY], Warszawie [LOKALIZACJA].” -
Tokenizacja i słowniki:
- „ABC Retail Sp. z o.o.” → „
<KLIENT_1>”, - „932874” → „
<ID_KLIENTA_1>”, - „jan.kowalski@abcretail.pl” → „
<UŻYTKOWNIK_1_EMAIL>” lub szerzej „<UŻYTKOWNIK_SYSTEMU>”, - „FIN-ERP‑PROD” → „
<SYSTEM_FINANSOWY>”, - „FV/2024/07/123” → „
<NUMER_FAKTURY>”.
- „ABC Retail Sp. z o.o.” → „
-
Minimalizacja kontekstu geograficznego i biznesowego:
„kluczowy klient w Warszawie” → „kluczowy klient w dużym mieście” albo wręcz „kluczowy klient”.
Zgłoszenie po przekształceniu może przyjąć użyteczną dla AI, ale znacznie mniej wrażliwą postać:
„Dzień dobry, klient <KLIENT_1>, numer klienta <ID_KLIENTA_1>, zgłosił, że po zalogowaniu użytkownika <UŻYTKOWNIK_SYSTEMU> do systemu <SYSTEM_FINANSOWY> nie jest widoczna faktura nr <NUMER_FAKTURY>. Proszę o pilną analizę, bo to nasz kluczowy klient.”
Model nadal rozumie: jest klient, jest użytkownik, jest system i brak faktury. Nie musi znać prawdziwej nazwy firmy ani adresu e‑mail. Jeśli ktoś potrzebuje identyfikacji konkretnej sprawy, zrobi to w systemie źródłowym, nie w modelu AI.
Rozpoznanie ryzyka – jakie dane faktycznie nie mogą trafić do modelu AI
Klasy ryzyka: nie każdy rekord jest równie groźny
W praktyce wdrożeń najpierw przydaje się prosty podział danych na klasy ryzyka. Bez tego ląduje się w dwóch skrajnościach: albo nie wysyła się nic do AI, albo wysyła się wszystko, licząc na „magiczne” filtry.
Typowy, wystarczająco prosty podział na początek:
- Klasa A – dane zakazane: dane, które w ogóle nie powinny opuszczać kontrolowanego środowiska (on‑prem, strefa wysokiego bezpieczeństwa). Zwykle:
- numery PESEL, dokumentów tożsamości,
- dane medyczne w powiązaniu z osobą,
- dane finansowe wrażliwe (np. pełne numery kart płatniczych),
- dane objęte tajemnicami ustawowo chronionymi (tajemnica adwokacka, bankowa – jeśli polityki tak stanowią).
- Klasa B – dane warunkowo dopuszczalne po przekształceniu:
- identyfikatory klientów i użytkowników,
- adresy e‑mail, numery telefonów,
- adresy fizyczne (jeśli nie są niezbędne do tematu analizy),
- wewnętrzne nazwy systemów i procesów.
- Klasa C – dane relatywnie neutralne:
- opisy techniczne błędów (bez wplecionych danych osobowych),
- ogólne informacje o produktach i usługach,
- statystyki zagregowane (bez możliwości reidentyfikacji).
Takie klasy nie powstają na piśmie tylko po to, by były w regulaminie. Muszą być odzwierciedlone w regułach technicznych (np. „żadne dane z klasy A nie przechodzą przez bramkę anonimizującą – są odrzucane”).
Źródła wymagań: prawo, kontrakty, zdrowy rozsądek
To, co „nie może trafić” do modelu AI, nie wynika wyłącznie z RODO. Zwykle łączą się trzy źródła wymagań:
- Regulacje – RODO, przepisy sektorowe (finanse, zdrowie, telekom), lokalne wytyczne nadzorców.
- Umowy – NDA z klientami i dostawcami, postanowienia o przetwarzaniu danych (DPA), regulacje w ramach grupy kapitałowej.
- Ryzyko reputacyjne i biznesowe – nawet jeśli czegoś „wolno”, szkoda wizerunkowa po wycieku może być nieakceptowalna.
Dla zespołu IT i danych istotne jest, aby te źródła zostały przełożone na konkretne kategorie pól, a nie na ogólne zakazy. Przykład:
- zamiast „nie wysyłać danych wrażliwych” – „pola
pesel,nr_dowodu,diagnoza_medycznaihistoria_rozliczeń_kartynie przechodzą przez żaden kanał AI; w razie wykrycia w tekście loguj zdarzenie i odrzuć żądanie”.
Typowe kategorie danych krytycznych w kontekście AI
W różnych branżach lista „czerwonych flag” będzie trochę inna, ale kilka grup niemal zawsze wypada z gry lub wymaga bardzo agresywnej anonimizacji:
- Dane silnie identyfikujące osoby:
- PESEL, numery dokumentów, ID państwowe,
- pełne imię i nazwisko w połączeniu z innymi atrybutami (adres, stanowisko, mała jednostka organizacyjna),
- dane logowania, identyfikatory kont.
- Dane o zdrowiu i życiu prywatnym:
- diagnozy, wyniki badań, informacje o terapii,
- dane o orientacji seksualnej, poglądach politycznych, przynależności związkowej, wyznaniu – zwłaszcza gdy system AI nie jest pod pełną kontrolą organizacji.
- Dane finansowe wrażliwe:
- numery kart, CVV, PIN (te w praktyce powinny być niedostępne w jawnym tekście w ogóle),
- szczegółowe wyciągi transakcji powiązane z konkretną osobą.
- Tajemnice organizacji:
- strategie cenowe, negocjowane stawki z kluczowymi klientami,
- nieujawnione jeszcze produkty, plany restrukturyzacji,
- wrażliwe informacje o incydentach bezpieczeństwa.
Przy klasyfikacji danych pod kątem AI pojawia się często pokusa, by „na wszelki wypadek” zakazać wszystkiego. W efekcie użytkownicy i tak zaczną obchodzić system (kopiuj‑wklej z pulpitu, prywatne konta GPT). Lepszym podejściem jest połączenie twardych zakazów dla kilku kategorii z dobrze opisanymi wyjątkami i narzędziami, które pomagają działać bezpiecznie.
Ocena ryzyka reidentyfikacji w praktyce
Ryzyko reidentyfikacji to nie tylko samo istnienie identyfikatora, ale kombinacja:
- jak unikatowy jest dany rekord,
- jak mała jest populacja,
- jakie dodatkowe źródła informacji mogą mieć potencjalni atakujący.
Przykład z życia: opis „kierownik magazynu nocnej zmiany w oddziale w małym mieście” w połączeniu z datą zdarzenia potrafi wskazać dokładnie jedną osobę, nawet bez nazwiska. Mechanizm anonimizujący tego nie „zobaczy”, jeśli ogranicza się do telefonów i e‑maili.
Dlatego w poważnych wdrożeniach:
- łączenie kilku pól o małej kardiantalności (stanowisko + lokalizacja + zmiana) traktuje się jak potencjalny identyfikator,
- dane z małych zbiorów (np. kilkanaście osób w jednostce badawczej) traktuje się ostrożniej niż te z dużej bazy klientów detalicznych.
Nie da się tego rozwiązać samymi regexami; potrzebny jest choćby prosty model klasy ryzyka, który uwzględnia wielkość i strukturę populacji.

Mapowanie przepływów danych do AI – zanim powstanie choć jedna linijka kodu
Dlaczego bez mapy kończy się na „patchowaniu” produkcji
Bez świadomego mapowania przepływów dane do AI trafiają wszędzie i znikąd. Anonimizacja jest wtedy dokładana „z boku”, po pierwszych incydentach, a nie jako element architektury. Skutek: drogie przeróbki, dziury w logice i ciągłe wyjątki.
Prościej – i taniej – jest potraktować bramkę AI jak każdy inny krytyczny system: z opisanymi źródłami danych, celami przetwarzania, trasami i kontrolami po drodze. Nawet jeśli narzędzia będą się zmieniać, mapa logiczna zostanie.
Identyfikacja źródeł: skąd realnie biorą się dane wysyłane do AI
Pierwszy krok to spisanie głównych źródeł, z których treści trafiają (lub mają trafić) do modeli AI. Zazwyczaj będą to:
- systemy komunikacji: poczta, czaty, systemy zgłoszeniowe,
- systemy biznesowe: CRM, ERP, systemy ticketowe,
- repozytoria plików: dyski sieciowe, SharePoint, narzędzia współpracy dokumentowej,
- formularze i interfejsy użytkownika: dedykowane panele „zapytaj AI”, wtyczki w przeglądarce, integracje w IDE.
Dla każdego źródła warto od razu określić:
- jakie typy danych tam są (i w jakiej formie – strukturalnej czy swobodnej),
- kto ma do nich dostęp,
- czy już istnieją klasy bezpieczeństwa lub tagi (np. etykiety „poufne”, „wewnętrzne”).
Ścieżki danych: kto, co, dokąd i jak
Sama lista systemów to za mało. Trzeba narysować – choćby prostym diagramem – ścieżki danych:
- użytkownik wybiera dane (lub są wybierane aut
