Przejdź do głównej treści
Każdy prompt, który twoja aplikacja wysyła do modelu, może nieść dane osobowe, których nieść nie powinien — adres e-mail wklejony do zgłoszenia serwisowego, SSN w notatce CRM, numer karty, który użytkownik wpisał w okno czatu. Gdy ten tekst dotrze do dostawcy nadrzędnego, jest poza twoją kontrolą: zalogowany, zbuforowany, może użyty do treningu. Odpowiedź modelu może też wyciec PII z powrotem, powtarzając lub wnioskując szczegóły, które potem lądują w logach twojej aplikacji. Ta strona pokazuje, jak zatrzymać wyciek PII przez LLM w bramie za pomocą guardraila PII — reguły w zakresie przestrzeni roboczej, która maskuje lub blokuje wrażliwe encje w żądaniu, zanim model je w ogóle zobaczy. To odpowiednik Agent Firewalla na warstwie treści i nie wymaga żadnej zmiany w kodzie twojej aplikacji.
Guardrail PII prześwietla tekst promptów i odpowiedzi. Aby zarządzać akcjami, które agent podejmuje z danymi — narzędziami fetch, hostami egress — zobacz Eksfiltrację danych. Te dwie płaszczyzny komponują się; większość zespołów uruchamia obie.

1. Jak dochodzi do ujawnienia

PII dociera do dostawcy nadrzędnego przez zwyczajny, dobrze intencjonowany ruch:
  • Użytkownik wkleja własne dane kontaktowe do czatu, a twoja aplikacja przekazuje całą wiadomość dosłownie.
  • Pipeline RAG pobiera dokument zawierający rekordy klientów i upycha go do promptu jako kontekst.
  • Agent odczytuje wiersz bazy danych i włącza surowe pola do argumentu narzędzia lub kolejnego promptu.
  • Odpowiedź modelu powtarza lub wnioskuje PII, które twoja aplikacja następnie zapisuje do własnych logów.
Żadne z tych zjawisk nie jest atakiem — to normalny kształt aplikacji LLM. Naprawą jest polityka, która prześwietla każde żądanie i odpowiedź w jednym punkcie zwężenia, zamiast audytowania każdego miejsca wywołania w twoim kodzie.

2. Broń się przed wyciekiem PII przez LLM guardrailem PII

Guardrail to nazwana polityka treści w zakresie przestrzeni roboczej. Reguła pii wewnątrz niego wykrywa wrażliwe encje i stosuje jedną akcję do każdego dopasowania:
AkcjaEfekt
maskZastąp każde dopasowanie typowanym tagiem — jane@acme.com[EMAIL] — i prześlij oczyszczony tekst. Model nigdy nie widzi oryginału.
blockOdrzuć całe żądanie z HTTP 400 guardrail_blocked. Użyj, gdy PII nie może w ogóle dotrzeć do dostawcy.
flagNie zmieniaj nic w ruchu; zarejestruj dopasowanie. Zmierz ekspozycję, zanim zaczniesz egzekwować.
Zestaw detektorów jest wbudowany i deterministyczny — czyste dopasowanie wzorców, bez wywołania sieciowego, bezpieczne na gorącej ścieżce. Wbudowane encje: email, phone, credit_card, ssn, ip, iban, mac_address, jwt, aws_access_key, api_key_openai, bitcoin_address, plus bramkowane sumą kontrolną identyfikatory regionalne jp_mynumber, kr_rrn oraz cn_resident_id. Przy akcji mask każde dopasowanie renderuje się jako swój typowany tag — [EMAIL], [SSN], [CREDIT_CARD] i tak dalej — więc struktura promptu przetrwa, podczas gdy wartość znika.
Potrzebujesz detektora, który nie jest wbudowany (wewnętrzne ID pracownika, numer konta)? Dodaj encję niestandardową — regex z opcjonalną sumą kontrolną Luhna, do 25 na regułę — tuż obok wbudowanych. Zobacz Referencję Guardrails.

3. Konkretny przykład — maskuj PII w żądaniu

Najszybszy start to preset PII Shield: pojedyncza reguła pii, która maskuje email, phone, ssn, credit_card oraz ip. Skonfiguruj go w konsoli — bez zmian w kodzie, bez klucza na tym kroku.
1

Utwórz guardrail

W konsoli otwórz Guardrails i kliknij New guardrail. Wybierz preset PII Shield z kategorii pii lub ręcznie napisz jedną regułę pii z akcją mask nad powyższymi encjami. Zapisz. (Zapisy wymagają roli Developer lub wyższej.)
2

Udowodnij to w piaskownicy

Otwórz zakładkę Test, wklej „reply to jane@acme.com, wybierz etap input i uruchom. Piaskownica zwraca reply to [EMAIL] — lokalnie, bez wywołania nadrzędnego i bez zużytej kwoty.
3

Dołącz go do klucza

W API Keys edytuj klucz i wybierz guardrail z rozwijanej listy Guardrail lub ustaw guardrail jako domyślny dla przestrzeni roboczej, aby każdy niepowiązany klucz go dziedziczył. Powiązanie żyje na kluczu w bramie.
4

Wołaj bramę jak zwykle

Używając tego klucza, twoje wywołanie relay jest niezmienione:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Draft a reply to jane@acme.com"}
    ]
  }'
Brama przepisuje adres e-mail na [EMAIL] przed przesłaniem. Model nadrzędny nigdy nie otrzymuje adresu.
PII Shield to reguła na etapie both, ale na żywo działa dziś maskowanie na etapie żądania — brama maskuje prompt, zanim opuści go ku modelowi. Maskowanie na etapie wyjścia (odpowiedzi) na żywym relay jest na mapie drogowej. Aby zweryfikować, jak zachowuje się reguła na etapie wyjścia, oceń ją w zakładce Test. Dla strumieniowania zobacz §5.

4. Maskuj większość, blokuj najgorsze — przesłonięcia per encja

Pojedyncza reguła może stosować różne akcje do różnych encji przez entity_actions. Maskuj identyfikatory niskiego ryzyka, ale twardo blokuj encje, których nigdy nie chcesz przesyłać — jedna reguła zamiast trzech nakładających się:
{
  "type": "pii",
  "stage": "input",
  "action": "mask",
  "entities": ["email", "phone", "ip", "credit_card", "ssn"],
  "entity_actions": {
    "credit_card": "block",
    "ssn": "block"
  }
}
Tutaj adresy e-mail, telefony i IP są maskowane i przepuszczane; prompt niosący numer karty lub SSN jest zamiast tego odrzucany z HTTP 400 guardrail_blocked. Zablokowane żądanie nie kosztuje kwoty — block na etapie wejścia odpala przed pomiarem — i jest oznaczone jako skip-retry. Każdy klucz entity_actions musi być encją zadeklarowaną na regule (wbudowaną lub niestandardową); jego akcja jest walidowana wobec zestawu akcji reguły.

5. Co działa dziś na strumieniu

Akcja i etap inaczej oddziałują ze strumieniowaniem — poznaj macierz, zanim na nim polegniesz:
W pełni na żywo. Prompt jest prześwietlany przed wywołaniem nadrzędnym, więc maskowanie i blokowanie działają identycznie niezależnie od tego, czy odpowiedź się strumieniuje. To jest powierzchnia, którą PII Shield egzekwuje dziś.
Egzekwowane zarówno na odpowiedziach strumieniowanych, jak i niestrumieniowanych. Na strumieniu skaner przerywa strumień w locie i emituje wiadomość zastępczą, zanim jakakolwiek zablokowana treść dotrze do klienta; block na wyjściu zwraca wstępnie skonsumowaną kwotę.
Obecnie tylko niestrumieniowane. Na strumieniowanej odpowiedzi oryginalny fragment przechodzi bez maskowania — przepisywanie strumienia w paśmie to planowane ulepszenie. Dla maskowania odpowiedzi dziś używaj żądań niestrumieniowanych lub polegaj na maskowaniu na etapie wejścia. Udowodnij swoją dokładną kombinację etap/strumień najpierw w zakładce Test.

6. Zobacz, co zostało wychwycone

Każda reguła, która odpala, rejestruje dopasowanie — jego typ, akcję, etap i łańcuch szczegółów — widoczne na strumieniu Matches przestrzeni roboczej (GET /api/guardrail/match, otwarte dla każdego członka). Stamtąd możesz grupować, filtrować, eksportować do CSV i oznaczać fałszywe pozytywy.
Surowe wartości domyślnie nie są logowane. Przełącznik guardraila Log raw content jest wyłączony — postawa konserwatywna wobec prywatności — więc strumień Matches rejestruje, że reguła PII odpaliła i którą encję, ale nie dopasowany podłańcuch (sam adres e-mail). Włącz go per guardrail tylko wtedy, gdy potrzebujesz wartości do triage; ustawienie jest nieretroaktywne. Przechwytywanie PII we własnym śladzie audytu, aby zdebugować wyciek PII, byłoby działaniem przeciwskutecznym.

7. Idź dalej

Dla pełnej kontroli rezydencji, retencji i prawa do usunięcia — włącznie z instalacją pakietu zgodności, który materializuje te guardrails dla GDPR, HIPAA lub PCI DSS — zacznij od stron referencyjnych poniżej.

Referencja Guardrails

Każdy typ reguły, etap, akcja, encje niestandardowe, wersjonowanie i eval harness — głęboka referencja stojąca za tą stroną.

Wyciek sekretów

Odpowiednik w kształcie poświadczeń — tokeny AWS, OpenAI, GitHub — wychwytywane guardrailem Secrets Blocker.

Niebezpieczne wyjście

Prześwietlanie tego, co model odsyła, nie tylko tego, co otrzymuje.

Guardrails vs Firewall

Kiedy prześwietlać tekst, a kiedy zarządzać akcjami — i dlaczego zwykle chcesz obu.