Firma zajmująca się bezpieczeństwem RedAccess szukała aplikacji zbudowanych za pomocą narzędzi do programowania z AI i opublikowanych na własnym hostingu tych narzędzi. Znalazła ponad 5 000 aplikacji praktycznie bez jakichkolwiek zabezpieczeń lub uwierzytelniania. Wśród zrzutów ekranu przekazanych Wired znajdowało się coś przypominającego przydział zadań w szpitalu, wraz z danymi osobowymi lekarzy.
Narzędzia do programowania z AI ułatwiły tworzenie aplikacji. Ujawnienie danych w aplikacjach stworzonych z pomocą AI dla zespołów HR następuje później, kiedy ewidencja urlopów lub formularz oceny rozmów rekrutacyjnych zostaje uruchomiony tak jak podczas demonstracji: publiczny link, jedno konto administratora i cała tabela pracowników za nim.
TL;DR
- Narzędzie pomagające decydować, kogo zatrudnić lub awansować albo jak oceniać ludzi, może być systemem wysokiego ryzyka w rozumieniu unijnego aktu o AI. Zanim oceni kogokolwiek, powinno trafić do IT oraz działu prawnego lub DPO.
- Rekordy pracowników nigdy nie powinny znajdować się na własnym hostingu narzędzia do programowania z AI. Domyślnym rozwiązaniem jest serwer kontrolowany przez zespół, dostępny wyłącznie w sieci prywatnej; gdy dostęp jest potrzebny kierownikom lub wszystkim pracownikom, przed aplikacją dodaje się logowanie firmowe.
- Poprawki wprowadza się przez to samo narzędzie AI, które zbudowało aplikację: ogranicz odczytywane pola, zapewnij administratorom HR, kierownikom i pracownikom różne widoki, usuń dane uwierzytelniające z kodu, ogranicz dane wysyłane na zewnątrz, rejestruj, kto otwiera które rekordy, i obsługuj żądania usunięcia z uwzględnieniem obowiązkowego przechowywania. Każdą poprawkę potwierdza kontrola wykonana przez ciebie, a nie raport AI.
- Dostęp do narzędzia powinien kończyć się w dniu zakończenia zatrudnienia, odpowiadać za nie powinna konkretna osoba, a sam wybór lokalizacji serwera nie zapewnia zgodności z przepisami.
Błędy wdrożenia ujawniające dane pracowników
Narzędzie HR stworzone z pomocą AI ujawnia dane pracowników każdemu, kto znajdzie jego link, posiada dane uwierzytelniające wklejone do czatu lub kodu, współpracownikom otwierającym cudze rekordy, usługom zewnętrznym, do których wysyła dane, oraz osobom, które odeszły, i to bez zapisu, kto je przeglądał. Odczyt całej tabeli pracowników poszerza każdą z tych dróg.
| Błąd | Co ujawnia | Rozwiązanie | Gdzie wprowadza się poprawkę |
|---|---|---|---|
| Publikacja na własnym hostingu narzędzia AI z publicznym linkiem | Notatki dotyczące dostosowania warunków pracy i urlopów zdrowotnych w ewidencji urlopów, dostępne każdemu z adresem URL | Przenieś na serwer kontrolowany przez zespół, w sieci prywatnej | Miejsce działania |
| Wklejenie hasła bazy danych lub tokena API HRIS albo systemu płacowego do czatu lub kodu | Każdy z historią czatu lub repozytorium może uzyskać dostęp do systemu HR, w tym do SSN i krajowych numerów identyfikacyjnych | Wymień dane uwierzytelniające i przechowuj je poza kodem | Dane uwierzytelniające |
| Odczyt całej tabeli pracowników, gdy narzędzie potrzebowało trzech kolumn | SSN, wynagrodzenie, status imigracyjny i status zezwolenia na pracę w narzędziu stworzonym do wyświetlania salda urlopów | Konto bazy danych z dostępem tylko do pól potrzebnych narzędziu | Pola |
| Każdy zalogowany widzi wszystkie rekordy | Kierownicy widzą wynagrodzenia swoich kolegów; oceny pracy są dostępne w całej firmie | Trzy role sprawdzane na serwerze | Role |
| Wysyłanie danych kandydatów do usług zewnętrznych | Dane osobowe kandydatów w procesie rekrutacji (CV, notatki z rozmów) kopiowane do API AI lub skryptu analitycznego | Sprawdź dane opuszczające narzędzie i ogranicz ich zakres | Dane wychodzące |
| Dostęp utrzymujący się po zakończeniu zatrudnienia | Konto byłego pracownika lub własne konto administratora twórcy nadal otwiera rekordy wszystkich pracowników | Logowanie firmowe oraz unieważnianie sesji, aby odejście zamykało dostęp | Odbieranie dostępu przy odejściu |
| Brak zapisu, kto co otworzył lub usunął | Nie można ustalić, kto oglądał dokument dotyczący dostosowania warunków pracy, ani bezpiecznie obsłużyć żądania usunięcia | Dziennik audytu umożliwiający tylko dopisywanie i narzędzie usuwania respektujące wymagania przechowywania | Dziennik audytu i usuwanie |
Właśnie pierwszy błąd RedAccess znalazła na dużą skalę. W materiale Wired o ustaleniach RedAccess trzy z czterech firm oferujących programowanie z AI zakwestionowały twierdzenia badaczy (czwarta nie odpowiedziała), ale nie zaprzeczyły, że znalezione aplikacje stworzone metodą vibe codingu pozostały otwarte. Odczytuję to jako problem konfiguracji i pominięty etap kontroli.
Sprawdź, czy narzędzie pomaga decydować o zatrudnieniu, awansie lub ocenie ludzi

Samo zbudowanie za pomocą narzędzia do programowania z AI nie czyni narzędzia HR systemem wysokiego ryzyka w rozumieniu unijnego aktu o AI. Decyduje o tym jego funkcja. Załącznik III do unijnego aktu o AI wymienia systemy AI używane do rekrutacji lub selekcji osób oraz podejmowania decyzji o awansie, zakończeniu zatrudnienia, przydzielaniu zadań lub monitorowaniu i ocenie wyników pracy.
Zanim więc zdecydujesz, gdzie narzędzie będzie działać, zadaj jedno pytanie: czy podejmuje lub wpływa na decyzję o zatrudnieniu, awansie, zwolnieniu, przydzieleniu pracy albo ocenie wyników ludzi?
Ewidencja urlopów, lista zadań wdrożenia nowego pracownika lub katalog organizacji przechowuje i wyświetla rekordy, więc odpowiedź brzmi „nie”. Formularz oceny rozmów szeregujący kandydatów albo narzędzie oceny wyników przyznające ludziom punkty (zwłaszcza gdy robi to model AI) może odpowiadać kategorii „tak”. Gdy nie potrafię tego ustalić, przyjmuję odpowiedź twierdzącą i pozostawiam IT oraz prawnikom możliwość wskazania inaczej.
Akt nie ogranicza się do firm w UE: artykuł 2 obejmuje dostawców i podmioty stosujące spoza UE, gdy wyniki ich systemu AI są używane w UE. Zgodnie z artykułem 113 w zmienionym brzmieniu obowiązki dotyczące systemów wysokiego ryzyka z załącznika III stosuje się od 2 grudnia 2027 roku. Obejmują one system zarządzania ryzykiem, zarządzanie danymi, dokumentację techniczną, prowadzenie zapisów, przejrzystość wobec podmiotów stosujących oraz nadzór człowieka (artykuły 9–14); ich ocena należy do IT i prawników.
Jeśli odpowiedź brzmi tak, zatrzymaj się, zanim narzędzie oceni choć jednego prawdziwego kandydata lub pracownika. Przekaż je IT oraz osobie odpowiedzialnej za kwestie prawne lub ochronę danych (DPO, jeśli istnieje taka funkcja). Ta kontrola nie rozstrzyga, czy konkretne narzędzie podlega przepisom; wskazuje, kto powinien o tym zdecydować. Niektóre stany USA również regulują automatyczne decyzje o zatrudnieniu; te zasady są w tabeli poniżej.
Możesz przygotować tę ocenę wcześniej. Poprosiłbym narzędzie AI o podważenie własnego sposobu punktowania, zamiast jego obrony:
Ta aplikacja ocenia lub szereguje kandydatów do pracy albo pracowników. Wymień każde pole danych i każdy krok obliczeń wpływający na ocenę lub ranking. Dla każdego wskaż, czy może bezpośrednio lub pośrednio odzwierciedlać cechę chronioną: wiek, rasę, płeć, obywatelstwo, pochodzenie etniczne, niepełnosprawność, ciążę, religię lub orientację seksualną. Gdy nie masz pewności, powiedz o tym zamiast zgadywać. Następnie wskaż wszystkie kwestie sprawiedliwości oceny, o które nie zapytałem, a powinienem.
Kontrola: traktuj odpowiedź jako listę wyjściową dla osób oceniających narzędzie, a nie werdykt, i przekaż ją razem z narzędziem. Uruchomienie tego promptu nie jest audytem stronniczości i nie spełnia żadnego wymogu prawnego.
Gdzie powinno działać narzędzie HR

Nie umieszczaj rekordów pracowników na własnym hostingu narzędzia AI. Dla narzędzia używanego tylko przez HR domyślną opcją jest serwer kontrolowany przez zespół, dostępny wyłącznie w sieci prywatnej; gdy potrzebują go kierownicy lub pracownicy, dodaje się przed nim logowanie firmowe. Narzędzie, które nie przeszło kontroli decyzji o zatrudnieniu lub którego serwer nie ma opiekuna, trafia do IT.
Publikacja na własnym hostingu narzędzia do programowania z AI umieszcza aplikację pod adresem w domenie dostawcy. Jeśli jej widoczność nie jest ustawiona jako prywatna, każdy, kto znajdzie adres, może do niej dotrzeć. RedAccess znalazła tysiące takich aplikacji przez zwykłe wyszukiwanie w Google i Bing tych domen. Sieć prywatna działa odwrotnie: narzędzie odpowiada tylko urządzeniom, które do niej dołączyły. Logowanie firmowe (jednokrotne logowanie) oznacza, że współpracownicy otwierają narzędzie swoim dotychczasowym kontem firmowym, sprawdzanym przez dostawcę tożsamości, czyli usługę zarządzającą tymi kontami.
| Miejsce działania | Kiedy pasuje | Kiedy nie pasuje |
|---|---|---|
| Własny hosting narzędzia AI | Tworzenie i testowanie z fikcyjnymi rekordami pracowników | Gdy trafia tam jakikolwiek prawdziwy rekord |
| Serwer kontrolowany przez zespół, dostępny tylko w sieci prywatnej | Narzędzia tylko dla HR: administracja urlopami, śledzenie wdrożenia pracowników, planowanie liczby zatrudnionych | Gdy nikt nie może odpowiadać za serwer |
| Ten sam serwer z logowaniem firmowym przed aplikacją | Gdy dostępu potrzebują kierownicy lub wszyscy pracownicy | Gdy nikt nie może odpowiadać za serwer albo nie ma firmowego systemu tożsamości do podłączenia |
| Zarządzana platforma wdrażania | Większe organizacje, które już mają budżet na dostawców platform i ich weryfikację | Mały zespół HR bez odpowiedniej pozycji w budżecie |
| IT lub własny zespół inżynierski | Narzędzie nie przeszło kontroli decyzji o zatrudnieniu, IT ma zasoby lub nikt nie może odpowiadać za serwer | Nigdy nie jest złym wyborem, tylko czasem jest niedostępne |
Dopóki narzędzie nie działa na własnym serwerze zespołu, twórz je i testuj na danych syntetycznych: wymyślonych nazwiskach, wynagrodzeniach i terminach urlopów przypominających prawdziwe. Bezpłatny tunel z laptopa do publicznego adresu jest publiczny tak samo jak hosting dostawcy, więc również należy do etapu demonstracji.
Dlaczego sieć prywatna, a nie istniejąca już strona logowania aplikacji? Sieć prywatna oznacza, że narzędzie w ogóle nie odpowiada z zewnątrz, więc nikt z zewnątrz nie może go załadować, badać ani zgadywać haseł. Strona logowania napisana przez AI nie wystarczy sama w sobie. Każdy może do niej dotrzeć, a jej siła zależy od wygenerowanego kodu za nią. Raport Veracode o bezpieczeństwie kodu GenAI z 2025 roku wykazał, że 45% testowanych próbek kodu z ponad 100 modeli nie przeszło testów bezpieczeństwa z powodu podatności OWASP Top 10 (z powszechnie używanej listy najpoważniejszych zagrożeń dla aplikacji internetowych). Dlatego wolę postawić zabezpieczenie przed aplikacją, zamiast polegać na tym napisanym przez AI.
Przy przekazaniu do eksploatacji narzędzie działa na VPS (wynajętym serwerze w pełni kontrolowanym przez zespół) pod zarządzaniem narzędzia wdrażania takiego jak Coolify lub Dokku, które uruchamia aplikację z kodu; Coolify pozwala też cofnąć nieudaną aktualizację do wcześniejszej wersji z panelu. Wybór między Coolify a Dokku zależy głównie od liczby aplikacji na serwerze oraz od tego, czy pomoc IT woli panel. Sieć prywatną zapewnia Tailscale lub WireGuard. Tailscale uruchamia się szybciej, ale jego usługą koordynacji zarządza Tailscale, natomiast WireGuard jest w pełni hostowany samodzielnie. Logowanie firmowe zapewnia dostawca tożsamości, np. Authentik lub Keycloak. Odwrotny serwer proxy, np. Caddy lub Nginx Proxy Manager, dodaje HTTPS tam, gdzie logowanie jest dostępne z internetu. Tę część przekaż pomocy IT wraz z listą kontrolną na końcu.
Poprawki jako prompty dla twojego narzędzia AI
Większość pracy nad bezpiecznym wdrożeniem aplikacji HR stworzonej z pomocą AI odbywa się przez narzędzie, które ją zbudowało, ale tylko na prośbę. Jak powiedział Wired badacz bezpieczeństwa Joel Margolis, narzędzia do programowania z AI „robią to, o co prosisz. A jeśli nie prosisz o zrobienie tego bezpiecznie, same nie będą się o to szczególnie starać”.
Traktuj każdy prompt poniżej jako punkt wyjścia i dopasuj nazwy pól oraz role do swojego narzędzia. Narzędzie AI traktuję jak inżyniera, a siebie jak osobę sprawdzającą, więc jego raport o wykonanej zmianie jest wersją roboczą. Dowodem jest kontrola pod każdym promptem i żadna z nich nie wymaga czytania kodu. Gdy kontrola zawodzi, poprawka wraca do AI, a wniosek trafia do pliku zasad dla twojego narzędzia AI, aby kolejna sesja od niego zaczynała. Każdy prompt prosi też o wskazanie niepewności; asystent przyznający braki jest przydatniejszy od takiego, który brzmi pewnie. Uruchamiaj je na kodzie i fikcyjnych rekordach, nigdy z prawdziwymi rekordami lub hasłami wklejonymi do czatu.
Znajdź pola pracowników używane przez narzędzie i zablokuj resztę
Nie zablokujesz pola, jeśli nie wiesz, że narzędzie je przechowuje, dlatego pierwszy prompt to audyt:
Przejrzyj bazę danych, kod, ekrany i eksporty aplikacji. Wymień każde pole mogące zawierać dane osobowe pracownika lub kandydata: imiona i nazwiska, identyfikatory pracowników, SSN lub krajowe numery identyfikacyjne, numery podatkowe, daty urodzenia, adresy domowe, informacje zdrowotne, status niepełnosprawności, dokumentację dostosowania warunków pracy, dokumenty imigracyjne lub zezwolenia na pracę, wynagrodzenie, premie, udziały jako wynagrodzenie, oceny pracy i notatki dyscyplinarne. Dla każdego pola wskaż, który ekran lub funkcja go używa i czy wymaga go główne zadanie aplikacji. Jeśli nie możesz tego ustalić, oznacz niepewność zamiast zgadywać.
Kontrola: otwórz główne ekrany i eksporty narzędzia oraz sprawdź, czy lista zawiera każde widoczne pole danych osobowych. Widoczne pole, którego lista nie wymienia, oznacza przeoczenie w audycie, więc zapytaj ponownie.
Drugi prompt usuwa to, czego narzędzie nie potrzebuje. Opiera się na koncie bazy danych (koncie używanym przez aplikację do komunikacji z bazą), którego dostęp można ograniczyć do konkretnych pól.
Zmień aplikację tak, aby odczytywała tylko te pola: [wymień pola potrzebne narzędziu]. Usuń każde inne pole danych osobowych z kopii danych aplikacji, z kodu, każdego ekranu i każdego eksportu. Następnie utwórz osobne konto bazy danych dla aplikacji, które może czytać tylko te pola i zmieniać wyłącznie dane zapisywane przez samo narzędzie, np. wnioski urlopowe. Przełącz aplikację na to konto. Dokładnie opisz zmiany plik po pliku i powiedz, czego nie udało się wykonać.
Sama zmiana ekranów nie wystarczy. Jeśli konto bazy danych aplikacji nie może czytać kolumny wynagrodzenia, błąd w innym miejscu kodu napisanego przez AI także jej nie pokaże. To, czy dane są szyfrowane w spoczynku, jest pytaniem do IT, bo zależy od konfiguracji serwera i dysku, której asystent czytający kod nie może wiarygodnie sprawdzić.
Kontrola: zaloguj się jako zwykły użytkownik i otwórz każdy ekran oraz eksport; żadne usunięte pole nie powinno się pojawić. Następnie poproś pomoc IT zarządzającą serwerem (lub narzędzie AI z pokazaniem wyniku) o odczyt usuniętego pola przez konto bazy danych aplikacji. Błąd odmowy uprawnień lub nieistniejącego pola oznacza sukces. Błąd połączenia, składni albo inny niezwiązany błąd nie oznacza sukcesu. Pusta kolumna lub rzeczywista wartość oznacza porażkę. Zachowaj listę audytu, bo używa jej narzędzie usuwania.
Zapewnij administratorom HR, kierownikom i pracownikom różne widoki
Tutaj dane pracowników wyciekają wewnątrz firmy do kolegi otwierającego cudze wynagrodzenie lub notatkę o dostosowaniu warunków pracy członka zespołu. Rozwiązuje to kontrola dostępu oparta na rolach, a poniższy prompt określa, gdzie ma odbywać się sprawdzanie:
Dodaj kontrolę dostępu opartą na trzech rolach, sprawdzanych na serwerze przy każdym żądaniu, a nie tylko przez ukrywanie przycisków lub linków na stronie.
- Administrator HR: może czytać i edytować wszystkie rekordy pracowników.
- Kierownik: może czytać tylko rekordy swoich bezpośrednich podwładnych i nigdy nie widzi pól wynagrodzenia, medycznych, dostosowania warunków pracy, dyscyplinarnych ani imigracyjnych.
- Pracownik: może czytać tylko własny rekord.
Odrzucaj wszystko inne odpowiedzią „odmowa dostępu” (403). Ustalaj rolę każdego użytkownika na podstawie jego zalogowanego konta, nigdy z czegoś, co może wpisać lub zmienić na stronie albo w pasku adresu. Wymień wszystkie miejsca, w których dodano kontrolę, i oznacz strony lub eksporty, których ochrony nie jesteś pewien.
Niektóre firmy pozwalają kierownikom oglądać płace podczas przeglądu wynagrodzeń; jeśli twoja również, zmień wiersz roli kierownika.
Kontrola: utwórz testowego kierownika i pracownika. Jako kierownik otwórz rekord bezpośredniego podwładnego, skopiuj adres, zmień numer rekordu na osobę spoza zespołu i załaduj go: powinna pojawić się „odmowa dostępu”. Powtórz jako pracownik z numerem rekordu kolegi. Następnie potwierdź, że widok kierownika nigdy nie pokazuje pól wynagrodzenia, dostosowania warunków pracy ani imigracyjnych.
Usuń dane uwierzytelniające z kodu i czatu
Hasło bazy danych lub token API HRIS albo systemu płacowego (długi klucz używany przez jeden system do logowania do innego) można usunąć z bieżącego kodu, a nadal może pozostawać we wcześniejszych zapisanych wersjach projektu, dlatego prompt dotyczy także historii. Zmienna środowiskowa rozwiązuje problem w kodzie. To wartość przekazywana aplikacji przez serwer przy uruchomieniu, więc kod odwołuje się do niej po nazwie, nie zawierając jej.
Znajdź każde hasło, klucz API, token dostępu i ciąg połączenia z bazą danych w projekcie, w tym do naszych systemów HRIS, płacowych i pocztowych. Zastąp każdy w kodzie zmienną środowiskową i podaj listę nazw zmiennych. Sprawdź, czy pliki zawierające rzeczywiste wartości, np. .env, są wykluczone z repozytorium kodu. Następnie wymień wszystkie miejsca, gdzie stara wartość nadal występuje w historii projektu, abym wiedział, które dane uwierzytelniające wymienić.
Prompt nie wykona najważniejszego kroku. W konsoli administratora HRIS lub bazy danych wydaj nowe dane uwierzytelniające w miejsce każdych, które kiedykolwiek pojawiły się w czacie lub repozytorium, i wyłącz stare.
Własne kopie tych haseł zespołu powinny znajdować się w menedżerze haseł, np. na samodzielnie hostowanym serwerze Vaultwarden (która opcja pasuje do zespołu to osobna decyzja). Przechowuje dane uwierzytelniające dla ludzi i nie dostarcza ich działającej aplikacji, która pobiera wartości z narzędzia wdrażania. Dla sekretów odczytywanych przez samą działającą aplikację HashiCorp Vault jest bardziej rozbudowaną opcją, z centralnymi politykami i rotacją dla zespołów, które ich potrzebują.
Kontrola: poproś narzędzie AI o wyszukanie starych wartości w bieżących plikach i przeczytaj pokazane wyniki, a nie ich podsumowanie. Bieżące pliki nie powinny zawierać dopasowań. Dopasowania w historii są oczekiwane i nie wymagają czyszczenia; to lista danych uwierzytelniających do wymiany. Dowód unieważnienia każdych znajdziesz w konsoli administratora HRIS lub bazy danych: wszystkie stare dane są oznaczone jako unieważnione lub IT potwierdza, że system je odrzuca.
Sprawdź, jakie dane pracowników opuszczają narzędzie
Gdy wywołanie wysłało już notatki z rozmowy kandydata do usługi zewnętrznej, usunięcie rekordu we własnym narzędziu nie obejmie kopii, którą usługa może przechowywać. Dlatego rozwiązaniem jest wysyłanie mniejszej ilości danych od początku.
Sprawdź każde zewnętrzne wywołanie aplikacji: do OpenAI, Anthropic lub innego API AI, do systemu HR, np. HRIS lub ATS, do narzędzi analitycznych albo śledzących błędy oraz do każdego webhooka. Dla każdego dokładnie wymień pola pracownika lub kandydata zawarte w wysyłanych danych. Oznacz usługi, które mogą przechowywać lub logować to, co otrzymują, i wskaż wywołania mogące działać z mniejszą ilością danych. Oznacz wszystko, czego nie jesteś pewien.
Kontrola: utwórz fikcyjnego pracownika lub kandydata z charakterystycznym wymyślonym nazwiskiem, a potem użyj każdej funkcji wykonującej zewnętrzne wywołanie (wygeneruj podsumowanie rozmowy, uruchom webhook, otwórz stronę ze skryptem analitycznym). Otwórz panel każdej usługi zewnętrznej, np. narzędzia analitycznego, śledzenia błędów, dziennika otrzymanych webhooków ATS lub dziennika użycia dostawcy AI, jeśli pokazuje żądania, i wyszukaj to nazwisko. Powinno pojawić się tylko tam, gdzie wywołanie go potrzebuje. Jeśli występuje gdzie indziej, wróć z wywołaniem do AI, ogranicz dane i powtórz kontrolę. Niektóre panele nie pokazują otrzymanych danych. Dla nich oraz każdej usługi, która musi nadal otrzymywać dane pracowników, przekaż warunki przechowywania danych osobie podpisującej umowy z dostawcami w twojej firmie.
Rejestruj, kto otworzył który rekord pracownika
Pracownik pyta, kto wyeksportował arkusz płac w poprzednim kwartale. Bez dziennika audytu (bieżącego zapisu, kto zrobił co z którym rekordem) nikt nie odpowie.
Dodaj dziennik audytu. Za każdym razem, gdy użytkownik ogląda, edytuje, eksportuje lub usuwa rekord pracownika, dodaj wiersz z ID użytkownika, ID rekordu pracownika, działaniem, zmienionymi polami i czasem. Skonfiguruj bazę tak, aby konto bazy danych aplikacji mogło dodawać wiersze do tego dziennika, ale nie mogło ich edytować ani usuwać. Czytać dziennik w aplikacji mogą tylko administratorzy HR. Powiedz, jak i gdzie egzekwowany jest zakaz edycji i usuwania.
Tryb „tylko dopisywanie” musi wynikać z uprawnień konta bazy danych, a nie z obietnicy aplikacji, że będzie zachowywać się poprawnie. Dziennik sam w sobie również zawiera dane osobowe, bo pokazuje, kto oglądał czyje rekordy, dlatego czytają go tylko administratorzy HR.
Kontrola: jako administrator HR otwórz rekord, potem obejrzyj dziennik i potwierdź obecność wpisu. Poproś IT lub narzędzie AI (z pokazaniem wyniku) o próbę usunięcia wiersza dziennika za pomocą konta bazy danych aplikacji; powinieneś zobaczyć sam błąd uprawnień.
Obsługuj żądania usunięcia bez łamania zasad przechowywania
Co dzieje się, gdy pracownik prosi o usunięcie danych, a część jego rekordów to dokumenty płacowe, które firma musi zachować? Oczywisty prompt („usuń wszystkie dane osobowe tego pracownika ze wszystkich tabel”) i tak je usuwa, naruszając dwie kwestie. Pracodawcy często muszą przechowywać niektóre rekordy, np. dokumenty płacowe, podatkowe i zezwolenia na pracę, a prawo do usunięcia danych na mocy GDPR nie obowiązuje w zakresie, w którym przetwarzanie jest konieczne do wykonania obowiązku prawnego lub w związku z roszczeniami prawnymi (artykuł 17(3)(b) i (e)). Przycisk usuwający wszystko jest też niebezpieczną funkcją, której nie należy pozostawiać dostępnej. Bezpieczniejszy wariant oddziela „usuń na żądanie” od rekordów podlegających obowiązkowemu przechowywaniu, czyli takich, które firma musi zachować niezależnie od żądania, i pokazuje plan przed usunięciem czegokolwiek:
Zbuduj narzędzie obsługi żądań usunięcia dostępne tylko dla administratorów HR. Po otrzymaniu ID pracownika najpierw pokazuje wszystkie tabele i pola z jego danymi, pogrupowane według kategorii z audytu pól. Każda kategoria ma ustawienie przechowywania ustalane przez administratora HR: „usuń na żądanie” lub „zachowaj: obowiązkowe przechowywanie”. Po potwierdzeniu przez administratora HR narzędzie usuwa tylko kategorie ustawione na „usuń na żądanie”. Loguje jedynie ID pracownika, czas, osobę potwierdzającą i kategorie usunięte lub zachowane, bez innych informacji o osobie. Każdy, kto nie jest administratorem HR, otrzymuje „odmowa dostępu”.
Ustawienia przechowywania określa osoba odpowiedzialna za zgodność z przepisami lub DPO, a nie narzędzie AI ani przypuszczenia twórcy. Powiedz im, że dziennik audytu zachowuje ID pracownika po usunięciu, aby zdecydowali, jak długo identyfikator powinien pozostać. Kopie zapasowe i kopie u usług zewnętrznych wymagają osobnych procesów przechowywania lub usuwania.
Kontrola: utwórz testowego pracownika z rekordami w dwóch kategoriach: jednej ustawionej na „usuń na żądanie” i drugiej na obowiązkowe przechowywanie. Uruchom narzędzie jako administrator HR i potwierdź, że zniknęła tylko pierwsza kategoria. Następnie otwórz narzędzie kontem kierownika i oczekuj „odmowa dostępu”.
Przepisy dotyczące zatrudnienia do omówienia z DPO lub osobą odpowiedzialną za zgodność
Przepisy dotyczące zatrudnienia, którym podlega narzędzie HR, wynikają z jego funkcji i tego, czyje dane przechowuje, a nie ze sposobu jego zbudowania. To lista zasad do omówienia z DPO lub osobą odpowiedzialną za zgodność, a nie porada prawna; nie rozstrzyga, czy którakolwiek dotyczy ciebie.
Ewidencja urlopów zawierająca notatki o dostosowaniu warunków pracy pracowników w Niemczech i Kalifornii podlega innym zasadom niż planowanie liczby zatrudnionych zawierające tylko nazwy stanowisk. Kwestia unijnego aktu o AI należy do kontroli decyzji o zatrudnieniu.
| Jeśli narzędzie… | Zasada do omówienia | Oficjalne źródło |
|---|---|---|
| Używa automatycznej oceny lub rankingu przy decyzjach o zatrudnieniu bądź awansie osób w Kolorado | Colorado SB 26-189 obejmuje technologie automatycznego podejmowania decyzji używane do decyzji o istotnych skutkach, w tym dotyczących zatrudnienia, z obowiązkami od 1 stycznia 2027 roku | Colorado SB 26-189 |
| Używa automatycznej oceny lub rankingu przy decyzjach o zatrudnieniu bądź awansie osób w Kalifornii | Kalifornijskie przepisy dotyczące technologii automatycznego podejmowania decyzji (ADMT) weszły w życie 1 stycznia 2026 roku, ale firmy używające ADMT do istotnych decyzji muszą przestrzegać wymagań właściwych dla ADMT od 1 stycznia 2027 roku | Przepisy CPPA dotyczące ADMT |
| Używa AI przy rekrutacji, zatrudnianiu, awansach, postępowaniu dyscyplinarnym, zwolnieniach lub innych decyzjach kadrowych w Illinois | Illinois HB 3773 zmieniła Illinois Human Rights Act od 1 stycznia 2026 roku: pracodawcy nie mogą używać AI w sposób dyskryminujący grupy chronione ani wykorzystywać kodów pocztowych jako ich zastępczego wskaźnika, a jeśli używają AI do tych decyzji, muszą powiadamiać o tym pracowników | Illinois Public Act 103-0804 |
| Przechowuje dane dotyczące zdrowia, niepełnosprawności lub dostosowania warunków pracy osób w UE | Artykuł 9 GDPR: dane zdrowotne są szczególną kategorią, a ich przetwarzanie jest zabronione, chyba że zachodzi wyjątek, w tym przetwarzanie niezbędne do wykonania obowiązków prawa pracy (artykuł 9(2)(b)) | Artykuł 9 GDPR |
| Przechowuje jakiekolwiek dane osobowe pracowników lub kandydatów w UE | Artykuł 6 GDPR: każde użycie wymaga zgodnej z prawem podstawy, np. umowy lub obowiązku prawnego | Artykuł 6 GDPR |
| Przechowuje dane pracowników w Wielkiej Brytanii | UK GDPR wraz z wytycznymi ICO dotyczącymi informacji o zatrudnieniu | Wytyczne ICO dotyczące zatrudnienia |
| Przechowuje dane pracowników lub kandydatów do pracy w Kalifornii | CCPA/CPRA: jeśli organizacja jest przedsiębiorstwem podlegającym CCPA, wyjątek dotyczący danych pracowników i kandydatów wygasł 1 stycznia 2023 roku, więc dane osobowe związane z zatrudnieniem zasadniczo należą do zakresu regulacji | Strona CCPA kalifornijskiego Departamentu Sprawiedliwości |
Lokalizacja serwera określa, gdzie fizycznie znajdują się rekordy; sama nie spełnia żadnej z powyższych zasad. Dla pracowników w innych miejscach zacznij od odpowiedniego krajowego, stanowego lub lokalnego regulatora prywatności czy zatrudnienia albo od osoby odpowiedzialnej za kwestie prawne lub zgodność.
Dostęp kończy się wraz z zatrudnieniem
Gdy firmowe konto odchodzącego pracownika zostaje wyłączone ostatniego dnia, poczta, kalendarz i pliki zamykają się jednym krokiem. Narzędzie HR powinno zamknąć się w tym samym kroku i z logowaniem firmowym jest to możliwe, o ile odejście unieważnia też aktywne sesje. Każde narzędzie bez logowania firmowego trafia na listę kontrolną odejścia jako osobna pozycja, aby ktoś ręcznie usunął konto.
Twórca również kiedyś odchodzi. Gdy osoba, która zbudowała narzędzie, odchodzi lub zmienia rolę, odpowiedzialność przechodzi na konkretnego następcę mogącego zalogować się jako administrator i znającego lokalizację serwera, a własne konto administratora twórcy zostaje zamknięte. Wyznaczyłbym następcę przed uruchomieniem, bo okres wypowiedzenia to zły czas na jego szukanie.
Według ustalonego harmonogramu sprawdzaj, kto posiada poszczególne role i czy narzędzie nadal jest używane. Gdy trzeba rozszerzyć dostęp, rób to po jednym szczeblu (HR, następnie kierownicy, następnie wszyscy pracownicy) i na każdym ponawiaj test paska adresu. Gdy narzędzie przestaje być używane, wycofaj je: wyłącz konto bazy danych i dane uwierzytelniające, usuń dane zgodnie z ustawieniami przechowywania narzędzia usuwania, zatrzymaj je i usuń z sieci prywatnej lub systemu logowania.
Wyznaczony następca przejmuje serwer, który ktoś musiał uruchomić, wraz z narzędziem wdrażania, siecią prywatną i przy szerszym dostępie logowaniem firmowym. Nasz Linux VPS zapewnia dostęp root, a Coolify, Tailscale i Authentik wdrażają się jako aplikacje jednym kliknięciem, więc pomoc IT może poświęcić czas na kontrole. Lokalizacje obejmują Frankfurt i Amsterdam w UE, Londyn w Wielkiej Brytanii oraz kilka miast USA. To ustala kraj serwera, co jest informacją do rozmowy z DPO, a nie jej zamiennikiem.
Lista kontrolna przed uruchomieniem
Każda pozycja poniżej jest albo wykonana, albo niewykonana przed dodaniem rekordów pracowników; tę listę przekaż osobie konfigurującej serwer.
- Pytanie o decyzje dotyczące zatrudnienia jest rozstrzygnięte i każde „tak” trafiło do IT oraz prawników.
- Narzędzie działa na serwerze kontrolowanym przez zespół, a nie na hostingu narzędzia AI.
- Jest dostępne tylko w sieci prywatnej lub przez logowanie firmowe.
- Konto bazy danych aplikacji odczytuje tylko wymienione pola.
- Testowy kierownik i testowy pracownik otrzymują „odmowa dostępu” podczas testu paska adresu.
- Wszystkie dane uwierzytelniające, które trafiły do czatu lub kodu, zostały wymienione, a stare unieważnione.
- Audyt danych wychodzących jest zakończony, a niepotrzebne pola usunięte.
- Dziennik audytu rejestruje wyświetlenia, a konto aplikacji nie może go edytować ani usuwać.
- Ustawienia przechowywania i przepisy zatrudnienia zostały sprawdzone przez DPO lub osobę odpowiedzialną za zgodność.
- Wyznaczono konkretną osobę odpowiedzialną i konkretną osobę zastępującą.
Często zadawane pytania
Czym jest shadow AI w HR?
Shadow AI w HR to używanie narzędzi AI lub zbudowanych z ich pomocą aplikacji na danych HR bez wiedzy lub zgody IT. Coroczne badanie systemów HR Sapient Insights z 2026 roku, przytoczone przez Cornerstone OnDemand, wykazało, że ponad 80% specjalistów HR codziennie korzysta z osobistych narzędzi AI, podczas gdy 3% używa AI wbudowanej w ich systemy HR.
Czy mogę używać prawdziwych rekordów pracowników podczas tworzenia narzędzia?
Nie. Nie umieszczaj prawdziwych rekordów w czacie podczas budowania narzędzia HR metodą vibe codingu. Wklejenie ich do asystenta czatowego to ryzyko odrębne od wdrożenia aplikacji, powstające w chwili wklejenia niezależnie od tego, czy narzędzie kiedykolwiek zostanie uruchomione. Korzystaj z fikcyjnych rekordów, dopóki narzędzie nie działa na serwerze kontrolowanym przez zespół.
Czy pracownicy muszą wyrazić zgodę na wykorzystywanie ich danych przez narzędzie HR?
Zgoda jest zwykle niewłaściwą podstawą. Wytyczne EDPB dotyczące zgody mówią, że rada „uznaje za problematyczne przetwarzanie przez pracodawców danych osobowych obecnych lub przyszłych pracowników na podstawie zgody, ponieważ mało prawdopodobne jest jej dobrowolne udzielenie”. To, jaka zgodna z prawem podstawa ma zastosowanie na mocy artykułu 6 GDPR, powinien ustalić twój DPO.
Czy HIPAA obejmuje notatki medyczne w narzędziu HR?
Zwykle nie. Definicja chronionych informacji zdrowotnych w HIPAA wyklucza informacje w dokumentacji zatrudnienia przechowywanej przez podmiot objęty ustawą w jego roli pracodawcy (45 CFR 160.103). Nie oznacza to braku regulacji tych notatek, więc zapytaj osobę odpowiedzialną za zgodność, jakie zasady je obejmują.
Dyskusja
Komentarze
Zaloguj się, aby dołączyć do dyskusji.