Jak działa anonimizacja danych w VaultProxy
Ten dokument wyjaśnia w przystępny sposób, jakie dane osobowe VaultProxy wykrywa i jak je chroni przed wyciekiem do zewnętrznych dostawców AI. Dokument przeznaczony jest dla prawników, inspektorów ochrony danych (IOD/DPO), audytorów oraz osób odpowiedzialnych za zgodność z RODO/GDPR.
Idea działania
Kiedy użytkownik wpisuje zapytanie zawierające dane osobowe (np. akt notarialny, skierowanie lekarskie, pozew sądowy), VaultProxy automatycznie wykrywa i zastępuje te dane zanim tekst zostanie wysłany do modelu AI (np. ChatGPT, Claude, Gemini).
Model AI nigdy nie widzi prawdziwych danych osobowych. Widzi jedynie oznaczenia zastępcze, np.:
Klient <PERSON_1> (PESEL <PESEL_1>) zamieszkały przy <PL_ADDRESS_1>, <PL_POSTAL_CODE_1> <LOCATION_1>.
Gdy model AI wygeneruje odpowiedź, VaultProxy przywraca oryginalne dane przed zwróceniem ich użytkownikowi. Dzięki temu:
- Użytkownik widzi pełną, czytelną odpowiedź z prawdziwymi danymi.
- Dostawca AI (OpenAI, Google, Anthropic) nigdy nie przetwarza danych osobowych.
- Dane osobowe nie trafiają do logów, historii czatów ani zbiorów treningowych dostawcy AI.
Jakie dane są wykrywane
1. Imiona i nazwiska
VaultProxy rozpoznaje polskie imiona i nazwiska we wszystkich przypadkach gramatycznych:
| Forma | Przykład | Wykryte? |
|---|---|---|
| Mianownik | Jan Kowalski | Tak |
| Dopełniacz | Jana Kowalskiego | Tak |
| Celownik | Janowi Kowalskiemu | Tak |
| Narzędnik | z Janem Kowalskim | Tak |
| Zdrobnienia | Tomek, Kasia, Wojtek | Tak |
| Imiona rodziców | syn Zygmunta i Wiesławy | Tak |
System rozpoznaje ponad 300 najpopularniejszych polskich imion (pokrycie ~95% populacji) oraz ponad 100 zdrobnień (Tomek, Kasia, Bartek, Gosia, itd.).
Oznaczenie zastępcze: <PERSON_1>, <PERSON_2>, ...
2. PESEL
Numer PESEL jest wykrywany na dwa sposoby:
- Z walidacją sumy kontrolnej -- 11-cyfrowy numer z prawidłową sumą kontrolną jest anonimizowany niezależnie od kontekstu.
- Z kontekstem słownym -- jeśli w tekście występuje słowo "PESEL" przed ciągiem 11 cyfr, numer jest anonimizowany nawet jeśli suma kontrolna nie jest prawidłowa (np. w przypadku błędu OCR lub danych testowych).
Oznaczenie zastępcze: <PESEL_1>
3. NIP (Numer Identyfikacji Podatkowej)
Wykrywany w formatach:
1234563218(ciągły)123-456-32-18(z myślnikami)
Walidacja sumy kontrolnej zapobiega fałszywym dopasowaniom.
Oznaczenie zastępcze: <NIP_1>
4. REGON
Numery REGON 9-cyfrowe i 14-cyfrowe, z walidacją sumy kontrolnej.
Oznaczenie zastępcze: <REGON_1>
5. Numer dowodu osobistego
Seria i numer w formatach:
ABC123456(bez spacji)ABC 123456(ze spacją -- częsty w dokumentach urzędowych)
Oznaczenie zastępcze: <PL_ID_CARD_1>
6. Numer paszportu
Format: 2 litery + 7 cyfr (np. EA1234567), zgodny ze standardem ICAO.
Oznaczenie zastępcze: <PL_PASSPORT_1>
7. Numer prawa jazdy
Format: XXXXX/XX/XXXX (np. 12345/06/1234567).
Oznaczenie zastępcze: <PL_DRIVING_LICENSE_1>
8. Numer telefonu
Rozpoznawane formaty:
+48 600 123 456+48-600-123-456+48600123456600 123 456(z kontekstem słownym, np. "telefon", "tel.", "komórka")
Oznaczenie zastępcze: <PHONE_NUMBER_1>
9. Adres e-mail
Wszystkie standardowe formaty adresów e-mail.
Oznaczenie zastępcze: <EMAIL_ADDRESS_1>
10. Adres zamieszkania
Rozpoznawane prefiksy ulic:
ul./ulicaal./alejaos./osiedlepl./plac
Wraz z numerem budynku i opcjonalnie numerem lokalu (np. ul. Marszałkowska 10/5).
Oznaczenie zastępcze: <PL_ADDRESS_1>
11. Kod pocztowy
Format XX-XXX (np. 00-624, 31-147).
Oznaczenie zastępcze: <PL_POSTAL_CODE_1>
12. Data urodzenia
Rozpoznawane formaty:
14.03.1985,14-03-1985,14/03/198514 marca 1985(z polską nazwą miesiąca)
Wykrywane gdy w kontekście występują słowa takie jak: "urodzony", "urodzona", "data urodzenia", "ur.".
Oznaczenie zastępcze: <DATE_OF_BIRTH_1>
13. Numer konta bankowego (IBAN)
Polski format IBAN: PL + 26 cyfr (z opcjonalnymi spacjami).
Oznaczenie zastępcze: <IBAN_CODE_1>
14. Numer karty kredytowej/debetowej
16 cyfr z walidacją algorytmem Luhna.
Oznaczenie zastępcze: <CREDIT_CARD_1>
15. Nazwy miejscowości
VaultProxy rozpoznaje polskie nazwy miejscowości we wszystkich przypadkach gramatycznych (np. "w Warszawie", "z Krakowa", "do Poznania").
Oznaczenie zastępcze: <LOCATION_1>
Dane wrażliwe -- Art. 9 RODO
Osobna kategoria to dane szczególnie chronione w rozumieniu Art. 9 RODO (Art. 9 GDPR). VaultProxy wykrywa obecność takich danych w tekście, ale nie anonimizuje ich -- zamiast tego oznacza je flagą ostrzegawczą.
Dlaczego? Ponieważ dane z Art. 9 są często nierozerwalnie związane z treścią zapytania. Anonimizacja słowa "cukrzyca" w zdaniu "Pacjent ma cukrzycę" sprawiłaby, że zapytanie straciłoby sens.
Wykrywane kategorie:
| Kategoria | Przykłady słów kluczowych |
|---|---|
| Dane dotyczące zdrowia | choroba, diagnoza, leczenie, szpital, cukrzyca, depresja, operacja |
| Przekonania religijne | katolik, muzułmanin, kościół, synagoga, modlitwa, ramadan |
| Poglądy polityczne | partia, wybory, głosowanie, manifestacja, opozycja |
| Przynależność związkowa | związek zawodowy, NSZZ, Solidarność, strajk |
| Orientacja seksualna | orientacja seksualna, LGBT |
| Pochodzenie etniczne | pochodzenie etniczne, rasa, mniejszość etniczna |
| Dane genetyczne | DNA, genom, badanie genetyczne, mutacja, BRCA |
| Dane biometryczne | odcisk palca, rozpoznawanie twarzy, biometria |
System rozpoznaje polskie formy odmienione tych słów (np. "cukrzycę", "katolikiem", "wyborach").
Przykład pełnego procesu
Tekst wpisany przez użytkownika
Proszę przygotować projekt aktu notarialnego. Sprzedający: Zbigniew Malinowski, syn Zygmunta i Wiesławy, PESEL 44051401458, dowód osobisty ABS 123456, zamieszkały w Warszawie przy ul. Podleśna 51, 02-450 Warszawa. Kupujący: Katarzyna Wiśniewska, PESEL 82020236215, tel. +48 600 123 456, email: [email protected].
Tekst wysłany do modelu AI
Proszę przygotować projekt aktu notarialnego. Sprzedający: <PERSON_1>, syn <PERSON_2> i <PERSON_3>, PESEL <PESEL_1>, dowód osobisty <PL_ID_CARD_1>, zamieszkały w <LOCATION_1> przy <PL_ADDRESS_1>, <PL_POSTAL_CODE_1> <LOCATION_2>. Kupujący: <PERSON_4>, PESEL <PESEL_2>, tel. <PHONE_NUMBER_1>, email: <EMAIL_ADDRESS_1>.
Co widzi model AI
Model AI nie zna prawdziwych danych. Widzi jedynie oznaczenia zastępcze. Generuje odpowiedź używając tych oznaczeń.
Odpowiedź zwrócona użytkownikowi
VaultProxy automatycznie przywraca oryginalne dane w odpowiedzi modelu AI, więc użytkownik otrzymuje gotowy, czytelny tekst z prawdziwymi danymi.
Bezpieczeństwo danych
| Aspekt | Gwarancja |
|---|---|
| Przechowywanie | Dane osobowe przechowywane wyłącznie w pamięci operacyjnej (RAM), nigdy na dysku |
| Czas życia | Mapowanie danych usuwane automatycznie po 60 sekundach + natychmiast po przetworzeniu odpowiedzi |
| Logowanie | Dane osobowe nigdy nie trafiają do logów systemowych -- logowane są wyłącznie metadane (liczba tokenów, typ modelu, czas odpowiedzi) |
| Izolacja | Każde zapytanie ma unikalny identyfikator -- dane z różnych zapytań nigdy nie są mieszane |
| Szyfrowanie | Klucze API dostawców AI zaszyfrowane algorytmem AES-256 (Fernet) |
| Klucze API | Klucze API VaultProxy przechowywane jako skróty SHA-256 (nieodwracalne) |
Skuteczność wykrywania
System przeszedł testy na 100 realistycznych polskich tekstach obejmujących scenariusze z praktyki notarialnej, sądowej, medycznej, bankowej, ubezpieczeniowej i urzędowej.
| Typ danych | Skuteczność |
|---|---|
| Imiona i nazwiska | 100% |
| PESEL | 100% |
| NIP | 100% |
| Numer dowodu osobistego | 100% |
| Adres e-mail | 100% |
| IBAN | 100% |
| Numer telefonu | 100% |
| Kod pocztowy | 100% |
| Data urodzenia | 100% |
| Nazwy miejscowości | 97% |
| Adresy | 94% |
Ogólna skuteczność wykrywania: 98.1%
Konfiguracja
Każdy użytkownik może dostosować, które typy danych mają być wykrywane. Domyślnie włączone są: imiona i nazwiska, PESEL, NIP, e-mail, numer telefonu, numer dowodu, numer paszportu, IBAN, numer karty kredytowej.
Dodatkowe typy (adresy, kody pocztowe, daty urodzenia) można włączyć w ustawieniach.
Podstawy prawne
VaultProxy realizuje obowiązki wynikające z:
- Art. 5 ust. 1 lit. c) RODO -- zasada minimalizacji danych: do dostawcy AI przekazywane są wyłącznie dane niezbędne do realizacji zapytania, bez danych osobowych.
- Art. 5 ust. 1 lit. f) RODO -- zasada integralności i poufności: dane osobowe chronione przed nieuprawnionym dostępem i przypadkową utratą.
- Art. 25 RODO -- ochrona danych w fazie projektowania: anonimizacja wbudowana w architekturę systemu, a nie dodawana jako opcja.
- Art. 32 RODO -- środki techniczne i organizacyjne: szyfrowanie, minimalizacja czasu przechowywania, izolacja danych per-request.
- Art. 28 RODO -- przetwarzanie przez podmiot przetwarzający: dzięki anonimizacji, dostawca AI nie jest traktowany jako podmiot przetwarzający dane osobowe w rozumieniu RODO.
VaultProxy jest narzędziem technicznym wspierającym zgodność z RODO. Nie zastępuje on opinii prawnej ani konsultacji z inspektorem ochrony danych. Każda organizacja powinna samodzielnie ocenić, czy zastosowane środki są wystarczające w kontekście prowadzonej działalności.