Dlaczego własne narzędzia PII nie zdają audytów zgodności
RODO wymaga dowodów. Musisz wykazać, że usuwanie danych osobowych odbywało się za każdym razem w ten sam sposób. Inspektorzy z organów ochrony danych (DPA) to sprawdzają. Oczekują, że pokażesz jasną i spójną metodę stosowaną do wszystkich danych.
Samodzieln hostowany Presidio ma tu poważny problem. To nie jest kwestia konfiguracji. To fundamentalne ograniczenie samodzielnie hostowanych narzędzi NLP.
Czym jest dryft środowiskowy?
Samodzielnie hostowany Presidio działa w środowiskach dev, staging i produkcji. Każde z nich może działać inaczej. Dlatego to samo dane wejściowe może dawać różne wyniki w każdym ze środowisk.
Nazywamy to dryftem środowiskowym. Ma cztery główne przyczyny.
Dryft wersji modelu
Modele spaCy są wersjonowane. Model en_core_web_lg 3.4.4 i en_core_web_lg 3.5.1 były trenowane na różnych danych i mają inne architekty. Dlatego ten sam dokument może dawać różne wyniki NER w zależności od wersji.
Typowa konfiguracja wygląda tak:
- Dev:
en_core_web_lg 3.4.4— zainstalowany na początku projektu - Staging:
en_core_web_lg 3.5.0— zaktualizowany w trakcie rutynowych prac - Produkcja:
en_core_web_lg 3.5.1— zaktualizowany podczas poprawki bezpieczeństwa
To trzy środowiska. Trzy wersje modelu. Trzy różne wyniki detekcji. Testy przechodzą na stagingu. Ale produkcja działa na innym modelu. Luka pozostaje ukryta.
Dryft wersji zależności
spaCy 3.4.x i 3.5.x różnią się sposobem dzielenia zdań. Ta zmiana wpływa na sposób wykrywania imion w pobliżu granic zdań. Zmiany te są opisane w notach wydania spaCy. Ale większość zespołów nie sprawdza ich pod kątem wpływu na PII.
Dryft konfiguracji
Progi punktacyjne ustawione w dev mogą nie przenieść się na produkcję. Niestandardowe listy słów mogą też różnić się między środowiskami. Takie rozbieżności są częste. Rzadko się je śledzi. Zapoznaj się z naszym przewodnikiem RODO, aby dowiedzieć się, czego szukają audytorzy.
Różnice sprzętowe
Obliczenia w modelach NLP nie są identyczne na wszystkich procesorach i kartach graficznych. Laptop użytkownika i serwer mogą dawać nieznacznie różne wyniki punktowe. Dlatego niektóre imiona mogą być wykrywane na jednym urządzeniu, a nie na innym.
Rzeczywisty wynik audytu
Bank przetestował swój własny system Presidio.
Środowisko testowe: Presidio z spaCy 3.4.4 na klastrze staging. Środowisko produkcyjne: Presidio z spaCy 3.5.1 na klastrze produkcyjnym.
Przepuścili ten sam zestaw dokumentów przez oba środowiska. Następnie porównali wyniki. Ustalenie: 3% dokumentów miało różne wyniki usuwania PII. Niektóre imiona były wykrywane w stagingu, ale nie w produkcji. Niektóre miały różne zakresy wykrytego tekstu.
Wniosek z audytu był jednoznaczny: „Firma nie może wykazać spójnego stosowania technicznych środków usuwania danych osobowych ze względu na różnice w wynikach detekcji zależne od środowiska.”
Artykuł 32 RODO wymaga odpowiednich środków technicznych. Zasady EROD dotyczące usuwania PII wymagają spójności i powtarzalności. Wskaźnik 3% przy 100 000 dokumentów miesięcznie oznacza 3000 dokumentów z niespójnymi wynikami każdego miesiąca. Część to fałszywe negatywy — PII, które staging by wykrył, pozostaje w wynikach produkcyjnych. To naruszenie zgodności.
Bank przeszedł na zarządzane SaaS. Ustalenie audytu zostało zamknięte. Zapoznaj się z naszą stroną bezpieczeństwa i zgodności, aby dowiedzieć się, jak zarządzane systemy rozwiązują ten problem.
Dlaczego usługi zarządzane są inne
Usługa zarządzana działa na jednej wersji silnika. Wszyscy użytkownicy korzystają z tej samej wersji w tym samym czasie. Aktualizacje modeli są wdrażane z jednego miejsca. Konfiguracja jest też zarządzana z jednego miejsca, z pełnym dziennikiem zmian. Sprzęt użytkownika nie wpływa na wyniki.
Ten sam dokument przetworzony dziś daje ten sam wynik za miesiąc. Jeśli wersja silnika się zmieniła, zmiana ta jest zalogowana i wersjonowana.
Kluczowa różnica tkwi w ścieżce audytu.
Ścieżka audytu własnego hostingu:
- „Użyto Presidio 2.2.35 z spaCy
en_core_web_lg 3.5.1na Ubuntu 22.04.” - Czy to ta sama wersja co na stagingu? Nieznane.
- Czy model zmienił się od czasu przetworzenia tego dokumentu? Nieznane, jeśli nie jest śledzone.
- Czy próg punktowy jest taki sam jak w testach? Zależy od zarządzania konfiguracją.
Ścieżka audytu usługi zarządzanej:
- „Użyto API anonym.legal, wersja silnika 4.22.1, o 2025-03-15T14:22:31Z.”
- Ta sama wersja dla wszystkich użytkowników? Tak.
- Czy się zmieniła? Wersje silnika są zablokowane. Wersja 4.22.1 zawsze oznacza ten sam silnik.
- Czy konfiguracja jest powtarzalna? Tak. ID presetu jest logowane. Konfigurację w tej wersji można pobrać.
Ścieżka zarządzana jest przejrzysta. Ścieżka własnego hostingu wymaga starannego śledzenia, które większość zespołów pomija.
Jak poprawić spójność własnego hostingu
Jeśli własny hosting jest konieczny, możesz ograniczyć dryft czterema krokami.
Po pierwsze, zablokuj wersje modeli. Zablokuj dokładne wersje modeli we wszystkich plikach wdrożeniowych. Wyłącz automatyczne aktualizacje. Śledź wersje w kontroli wersji.
Następnie zamroź obrazy kontenerów. Buduj obrazy Docker z wbudowanymi dokładnymi wersjami modeli. Taguj każdy obraz wersją modelu, wersją Presidio i datą. Nie aktualizuj obrazów bazowych bez wcześniejszego testowania.
Przechowuj też konfigurację w kodzie. Przechowuj wszystkie ustawienia Presidio w plikach śledzonych w kontroli wersji. Obejmuje to detektory, progi punktowe i aktywne języki. Wdrażaj konfigurację razem z aplikacją.
Na koniec testuj między środowiskami. Po każdej aktualizacji przepuść stały zestaw dokumentów testowych przez nowe środowisko. Porównaj wyniki z przechowywanym odniesieniem. Zautomatyzuj tę kontrolę. Zapoznaj się z FAQ, aby uzyskać odpowiedzi na typowe pytania dotyczące automatycznego testowania regresji PII.
Te kroki pomagają. Ale też zwiększają nakład pracy. Usługa zarządzana zapewnia tę samą spójność bez dodatkowego wysiłku.
Podsumowanie
Spójna anonimizacja PII nie pojawia się w arkuszach produktowych. Ale staje się krytyczna, gdy audytorzy proszą o dowody.
Bez aktywnej dbałości własne narzędzia PII dryfują. Zmiany wersji tworzą ciche luki. Te luki wychodzą na jaw jako ustalenia audytu.
Usługi zarządzane zapewniają spójność domyślnie. Silnik działa z jednego miejsca. Środowiska użytkowników nie wpływają na wyniki. Dla zespołów zorientowanych na zgodność to bezpośrednia zaleta.