Przejdź do głównej treści
Gdy masz już przestrzeń roboczą i klucz API (zobacz Wprowadzenie), guardrails to sposób, w jaki stawiasz politykę treści przed każdym modelem. Ta strona jest kanoniczną referencją silnika guardrails OrcaRouter — czym jest, jak go używać i jak komponuje się z resztą bramy.

1. Czym jest silnik guardrails

Guardrail to nazwana polityka treści w zakresie przestrzeni roboczej — uporządkowana lista reguł, które brama uruchamia wobec wejścia żądania i wyjścia modelu. Zapisujesz guardrail raz, wiążesz z nim dowolny klucz API (lub ustawiasz jeden jako domyślny dla przestrzeni roboczej), a brama sprawdza każde wywołanie przed i po modelu nadrzędnym. Każda reguła decyduje o jednej rzeczy — czego szukać (typ reguły), gdzie szukać (etap: wejście żądania lub wyjście modelu) i co z tym zrobić (akcja: block, mask lub flag). Silnik uruchamia każdą mającą zastosowanie regułę i składa wyniki w jedną decyzję. Edycja guardrail wchodzi w życie na każdym powiązanym z nim kluczu przy następnym wywołaniu. Bez ponownego wdrożenia. Bez zmian w kodzie. Bez aktualizacji SDK. Polityka żyje w bramie, nie w aplikacji — twoja aplikacja dalej woła /v1/chat/completions dokładnie jak wcześniej. Silnik jest deterministyczny i wolny od zależności dla wbudowanych typów reguł: czyste dopasowanie łańcuchów i regex bez wywołania sieciowego, bezpieczne do uruchamiania na gorącej ścieżce relay. Zaawansowane reguły (zewnętrzni dostawcy, sędzia LLM, kontekstowe ugruntowanie) wychodzą na zewnątrz i są dyspozytowane współbieżnie, więc wolne sprawdzenie nigdy nie serializuje się za innym. Guardrails są w zakresie przestrzeni roboczej — każdy członek widzi guardrails swojej przestrzeni; nic nie przekracza granic najemcy.

2. Szybki start — sprawdź swoje pierwsze żądanie w 5 krokach

1

Utwórz guardrail

W konsoli przejdź do /console/guardrails i kliknij New guardrail. Nazwij go pii-shield. Dodaj jedną regułę:
  • Typ: Wykrywanie PII
  • Etap: Wejście (żądanie)
  • Akcja: Mask — redaguj dopasowanie
  • Encje: email, phone, ssn
Zapisz.
2

Przetestuj w piaskownicy

Otwórz zakładkę Test wewnątrz edytora, wklej “email me at jane@acme.com, wybierz etap input i uruchom. Piaskownica pokazuje werdykt i wyrenderowany tekst — email me at [EMAIL] — bez wysyłania czegokolwiek w górę.
3

Powiąż klucz

Przejdź do /console/token, utwórz lub edytuj klucz API i wybierz pii-shield z rozwijanej listy Guardrail. Powiązanie żyje na kluczu w bramie.
4

Wyślij żądanie

Używając tego klucza, wywołaj OrcaRouter dokładnie jak wcześniej:
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": "Reply to jane@acme.com please"}
    ]
  }'
Brama maskuje email do [EMAIL] przed przesłaniem. Model nadrzędny nigdy nie widzi adresu.
5

Zaostrz politykę

Z powrotem w /console/guardrails edytuj pii-shield — zmień akcję na ssn na Block przez nadpisanie per-encja. Zapisz. Już następne żądanie zawierające SSN jest odrzucane z HTTP 400 guardrail_blocked. Bez zmian w aplikacji.
To główna wartość.

3. Pojęcia: guardrails, reguły, etapy, akcje

PojęcieDefinicja
GuardrailNazwana polityka w zakresie przestrzeni roboczej. Identyfikator: name (≤ 64 znaków). Ma enabled, is_default oraz blob JSON rules.
RegułaJedno sprawdzenie wewnątrz polityki: type, stage, action, plus pola specyficzne dla typu. Reguły biegną po kolei.
Etapinput (żądanie), output (odpowiedź modelu) lub both.
Akcjablock (odrzuć wywołanie), mask (redaguj dopasowanie) lub flag (tylko log — obserwuj bez zmiany ruchu).

Zakres i domyślny guardrail przestrzeni roboczej

Guardrails są w zakresie dokładnie jak klucze API: współdzielone w przestrzeni roboczej, gdy masz aktywną przestrzeń, per-użytkownik w przeciwnym razie. Rozwiązywanie dla dowolnego żądania:
  1. Powiązanie klucza — jeśli klucz ma jawne guardrail_id, ten guardrail ma zastosowanie (gdy istnieje i jest włączony). Jawne powiązanie nigdy po cichu nie wraca do domyślnego; jego wyłączenie to przełącznik off.
  2. Domyślny przestrzeni roboczej — jeśli klucz nie ma powiązania, stosuje się włączony guardrail is_default przestrzeni roboczej.
  3. Żaden — brak egzekwowania. Żądanie jest bajt-identyczne z przestrzenią roboczą, która nigdy nie włączyła tej funkcji.
Co najwyżej jeden guardrail na przestrzeń roboczą może być domyślny. Promowanie nowego domyślnego degraduje stary w tej samej transakcji.
Fail-open z założenia. Jeśli rozwiązywanie guardrail trafi na przejściowy błąd (np. czkawka DB), brama degraduje się do braku egzekwowania zamiast wyłączać ruch. Bezpieczeństwo się degraduje; dostępność jest zachowana.

Jak wygląda block

Zablokowane żądanie zwraca HTTP 400 z kodem błędu guardrail_blocked i komunikatem nazywającym guardrail oraz regułę, która zadziałała. Zablokowane żądanie nie kosztuje cię kwoty — blokada na etapie input działa, zanim użycie jest mierzone, a blokada na etapie output zwraca wstępnie pobraną kwotę — i jest oznaczone jako skip-retry (ponowne uruchomienie tego samego promptu po prostu znów by zablokowało).

4. Typy reguł

Reguły dzielą się na dwie grupy: wbudowane (deterministyczne, bez sieci) i zaawansowane (wychodzące do modelu lub dostawcy).
TypGrupaCo robi
Lista zakazanych słów kluczowych (keyword)WbudowaneDopasowuje dowolny z listy literalnych terminów — bez rozróżniania wielkości liter, dopasowanie podciągu (więc class pasuje też do classic).
Wyrażenie regularne (regex)WbudowaneDopasowuje wzorzec RE2 (liniowy czas, bez backreferencji).
Wykrywanie PII (pii)WbudowaneWykrywa wbudowane typy encji (oraz twoje własne niestandardowe). Zobacz §5.
Maksymalna długość (max_chars)WbudowaneOgranicza liczbę znaków tekstu na danym etapie.
Zewnętrzny dostawca (external)ZaawansowaneDeleguje sprawdzenie do podłączonego dostawcy (Aporia, Averta, BYO-webhook, …). Zobacz §9.
Sędzia LLM (llm_judge)ZaawansowaneUruchamia sprawdzenie semantyczne wobec modelu w twojej przestrzeni roboczej. Zobacz §6.
Kontekstowe ugruntowanie (grounding)ZaawansowaneOcenia wierność odpowiedzi wobec źródeł pobranych na żądaniu (RAG). Zobacz §7.
Guardrail miesza dowolną liczbę reguł dowolnych typów. Zaawansowane reguły (external, llm_judge, grounding) są dyspozytowane współbieżnie, więc jedno wolne sprawdzenie nie serializuje się za innym.

5. Wykrywanie PII w szczegółach

Reguła pii wykrywa wrażliwe encje i stosuje akcję reguły do każdego dopasowania. Wbudowany zestaw detektorów jest zamknięty i współdzielony przez silnik, walidator i konstruktor reguł: email, phone, credit_card, ssn, ip, iban, mac_address, api_key_openai, aws_access_key, jwt, bitcoin_address. Przy akcji mask każde dopasowanie jest zastępowane typowanym tagiem — email staje się [EMAIL], SSN staje się [SSN] i tak dalej.

Niestandardowe encje

Warstwuj własne detektory na wbudowanym zestawie. Niestandardowa encja to:
  • name — małe litery ASCII / cyfry / podkreślenie, musi zaczynać się od litery (np. employee_id). Trafia do logów audytu i telemetrii bez cudzysłowów.
  • pattern — regex Go RE2 (liniowy czas, bez backreferencji).
  • checksum — opcjonalny; luhn waliduje dopasowanie algorytmem Luhna (np. dla numerów przypominających karty).
  • mask_with — opcjonalny dosłowny zamiennik; domyślnie [<UPPERCASE_NAME>].
Do 25 niestandardowych encji na regułę (każda to skan regex po całym tekście, więc limit utrzymuje gorącą ścieżkę liniową). Skompilowane wzorce są cache’owane między żądaniami.

Nadpisania akcji per-encja

Pojedyncza reguła PII może stosować różne akcje do różnych encji przez entity_actions. Jedna reguła, która domyślnie maskuje emaile / telefony / IP, ale blokuje na credit_card lub ssn — zamiast trzech nakładających się reguł:
{
  "type": "pii",
  "stage": "input",
  "action": "mask",
  "entities": ["email", "phone", "ip", "credit_card", "ssn"],
  "entity_actions": {
    "credit_card": "block",
    "ssn": "block"
  }
}
Klucze muszą być włączoną encją na regule; wartości muszą być block / mask / flag. Walidator odrzuca wszystko inne.

6. Sędzia LLM

Reguła llm_judge uruchamia sprawdzenie semantyczne wobec modelu, który twoja przestrzeń robocza już może wywołać. Użyj jej dla rozmytych polityk, których nie wychwyci żaden regex — toksyczność, nękanie, off-topic, intencja prompt-injection.
PoleZnaczenie
judge_modelModel lub alias routera do ewaluacji (np. gpt-4o-mini, orcarouter/cheap). Rozwiązywany wobec kanałów twojej przestrzeni roboczej.
judge_rubricWiadomość systemowa opisująca, co flagować.
judge_formatJedna z wartości yes_no, score lub category (wymagane; konsola wstępnie wybiera yes_no).
judge_thresholdDla score: blokuj/flaguj, gdy wynik jest na tej wartości lub powyżej.
judge_categoriesDla category: lista zakazanych.
judge_timeout_msOgranicza wywołanie sędziego. 0 → domyślne silnika.
judge_fail_opentrue (domyślne) → błąd sędziego jest obserwowany, ale żądanie kontynuuje; false → traktuj błąd/timeout jako block.
Wywołanie sędziego biegnie przez kanały twojej przestrzeni roboczej, więc jego tokeny są rozliczane i przypisywane jak każde inne wywołanie (jako sub-linia sędziego). Silnik dokleja dodatek JSON-schema do twojej rubryki, aby model zwracał parsowalny output.

7. Kontekstowe ugruntowanie

Reguła grounding mierzy odpowiedź asystenta wobec źródeł pobranych na żądaniu (twojego kontekstu RAG) i flaguje lub blokuje odpowiedzi, które nie są im wierne. Wykorzystuje ponownie szew sędziego — te same kanały przestrzeni roboczej, to samo przypisanie kosztu.
PoleDomyślnieZnaczenie
grounding_modelwybór przestrzeni roboczejModel, do którego runner rozwiązuje sprawdzenie wierności.
grounding_rubricwbudowanaNadpisuje domyślną rubrykę wierności.
grounding_threshold0.7Próg wierności, 0.01.0. Poniżej niego akcja zadziała.
grounding_strictfalseGdy true, “brak dostarczonych źródeł” jest traktowany jako block (zamiast domyślnego allow).
grounding_max_bytes100000Ogranicza skonkatenowany kontekst źródeł przekazany sędziemu.
grounding_timeout_ms3000Ogranicza wywołanie sędziego.

8. Szablony, piaskownica i harness ewaluacyjny

Biblioteka szablonów

Przycisk z podziałem New guardrail otwiera się prosto w szablonie, a pełna biblioteka jest o jedno kliknięcie. Presety są autorowane po stronie serwera, więc konsola, piaskownica i te dokumenty opisują dokładnie to samo zachowanie. Kategorie obejmują:
  • PII (pii) — PII Shield, PII Blocker (strict), Contact-Info Redactor, redaktor PII w odpowiedzi.
  • Secrets (secrets) — blokery poświadczeń AWS / OpenAI / GitHub, klucze prywatne i tokeny chmurowe, portfele krypto, sekrety w wyjściu.
  • Compliance (compliance) — GDPR (PII w UE), PCI (pełna blokada kart), HIPAA (PHI), dane finansowe, rejestrator zgodności, egzekwowanie zastrzeżeń prawnych.
  • Brand (brand) — wulgaryzmy (block / mask / wielojęzyczne), wzmianki o konkurencji, słowa kluczowe bezpieczeństwa dzieci.
  • Safety (safety) — prompt-injection, jailbreak, wyciek system-promptu, samookaleczenie.
  • Cost (cost) — limity rozmiaru promptu / odpowiedzi oraz limity tokenów.
  • Agent (agent) — filtry URL, markdown-image, shell-tool-call oraz SQL-injection w wyjściu.
Zastosuj preset jako punkt wyjścia, potem edytuj swobodnie — preset to ziarno, nie blokada.

Piaskownica testowa

Każdy edytor ma zakładkę Test. Wklej próbkę, wybierz etap i uruchom bieżącą politykę lokalnie — bez wywołania w górę, bez kwoty. Piaskownica zwraca werdykt i (dla reguł mask) wyrenderowany tekst, więc możesz udowodnić, że reguła robi to, czego oczekujesz, zanim powiążesz klucz.

Harness ewaluacyjny / red-team

Zakładka Eval uruchamia guardrail wobec korpusu wejść i raportuje, jak się ocenił — przydatne do strojenia rubryki sędziego lub udowodnienia, że polityka wychwytuje znane ataki, zanim ją wyślesz.
  • Dołączone korpusy są dostarczane z bramą — zestawy adwersaryjne i red-team (prompty szkodliwych zachowań, tool-injection, wielojęzyczny red-teaming) plus zestawy łagodne do mierzenia fałszywie pozytywnych.
  • Niestandardowe korpusy — wgraj własny JSONL, aby testować wobec swoich rzeczywistych kształtów ruchu.
  • Uruchomienia są listowane z ich wynikami; otwórz uruchomienie, aby zbadać porażki próbka po próbce.

9. Zewnętrzni dostawcy

Reguła external deleguje sprawdzenie do podłączonego dostawcy. Podłącz dostawcę raz pod Integrations (CTA w nagłówku na stronie Guardrails), potem odwołuj się do połączenia z reguły.

Obsługiwani dostawcy

DostawcaCzym jest
Aporia Guardrails (aporia)Silnik polityk oparty na zespole SLM dla promptów i odpowiedzi.
Averta (averta)Generyczny endpoint klasyfikatora SLM (POST tekstu → bezpieczny / niebezpieczny + opcjonalny rewrite).
BYO Webhook (webhook)Twój własny URL — odbieraj prompty i zwracaj werdykty allow / block / mask / flag.
Aporia i Averta przyjmują bazowy URL + klucz API; webhook przyjmuje URL + nagłówek uwierzytelniający + sekret HMAC.

Pola reguły

PoleZnaczenie
connection_idPodłączona integracja do użycia (rekomendowana ścieżka — dostawca + sekrety rozwiązują się z integracji przestrzeni roboczej w czasie wykonania).
timeout_msOgranicza pojedyncze wywołanie dostawcy. 0 → domyślne.
fail_opentrue (domyślne) → błąd dostawcy jest obserwowany, ale żądanie kontynuuje; false → traktuj błąd transportu / timeout / nieznanego dostawcę jako block.
Sekrety są przechowywane zaszyfrowane i maskowane przy odczycie. Wywołanie sprawdzające niesie anulowanie żądania relay, więc anulowane żądanie nie pozostawia wiszącego wywołania dostawcy.

10. Obserwowalność

Guardrails pozostawiają okruchy, na które możesz reagować.

Strumień dopasowań

Każda reguła, która zadziała, rejestruje dopasowanie — typ reguły, akcję, łańcuch szczegółów, etap oraz (gdy włączone) dopasowany podłańcuch. Zakładka Matches na stronie Guardrails to strumień obejmujący całą przestrzeń roboczą: listuj, grupuj, filtruj, wejdź w pojedyncze dopasowanie, eksportuj do CSV i oznaczaj fałszywie pozytywne.
Przechwytywanie surowej treści jest opt-in. Przełącznik Log raw content guardrail jest domyślnie wyłączony — postawa konserwatywna wobec prywatności. Przy wyłączonym strumień Matches rejestruje, że reguła zadziałała, oraz jej meta-łańcuch szczegółów, ale nie faktyczny dopasowany podłańcuch (np. sam adres email). Włącz go per guardrail, gdy potrzebujesz podłańcucha do triażu; ustawienie nie działa wstecznie.

Statystyki

Strumień Matches zasila statystyki per-guardrail — każda karta guardrail pokazuje 7-dniową sparkline dopasowań i licznik, a zakładka Matches niesie łączną sumę przestrzeni roboczej. Aby kroić aktywność po polityce, użyj pogrupowanego widoku i filtrów strumienia Matches (po guardrail, typie reguły, akcji) — to tam żyją użycie per-guardrail, miks akcji i wskaźnik fałszywie pozytywnych.

Historia wersji i audyt

Każde utworzenie, aktualizacja i usunięcie zapisuje wersjonowany wiersz historii w tej samej transakcji co zmiana. Otwórz History w wierszu guardrail, aby:
  • Zobaczyć każdą wersję z informacją, kto ją zmienił i kiedy.
  • Porównać (Diff) dowolne dwie wersje.
  • Przywrócić (Revert) do starszej wersji (rejestrowane jako nowa wersja — historia nigdy nie jest mutowana).

11. Relacja z resztą bramy

PowierzchniaJak komponuje się z Guardrails?
ModelsGuardrails są agnostyczne wobec modelu. Ta sama polityka jedzie po GPT-5, Claude, Gemini — sprawdza tekst, nie wybór modelu.
RoutingNiezależne. Routing decyduje, który model/kanał obsłuży żądanie; guardrails niezależnie sprawdzają ten sam tekst żądania/odpowiedzi i nigdy nie nadpisują wyboru modelu. Sprawdzanie wejścia biegnie przed wywołaniem nadrzędnym, sprawdzanie wyjścia po odpowiedzi modelu. Reguły sędziego (judge) i ugruntowania (grounding) rozwiązują własny model przez kanały przestrzeni roboczej, oddzielnie od routingu żądania.
PromptsNiezależne i komplementarne. Prompts wstrzykują wiadomość systemową; guardrails inspekcjonują i bramkują treść. Oba mogą dotyczyć jednego żądania, a guardrails zawsze biegną. Kolejność ma znaczenie: reguły wejścia sprawdzają żądanie wywołującego przed wstrzyknięciem promptu z rejestru (wstrzyknięcie następuje później, w etapie routingu), więc reguły wejścia widzą wiadomości wywołującego, a nie wstrzyknięty prompt systemowy; reguły wyjścia sprawdzają odpowiedź modelu w obu przypadkach.
API KeysKlucz wiąże się z guardrail przez guardrail_id. Powiązanie żyje na kluczu w bramie, więc edycja guardrail przesuwa każdy powiązany klucz naraz; brak powiązania wraca do domyślnego przestrzeni roboczej.
Strumień MatchesKażda reguła, która zadziała, trafia do strumienia Matches przestrzeni roboczej (jego własny magazyn, oddzielny od logu żądań). Grupuj go i filtruj po guardrail, typie reguły i akcji, aby zobaczyć użycie, miks akcji i wskaźnik fałszywie pozytywnych per guardrail.

12. Referencja API

Wszystkie trasy są w zakresie przestrzeni roboczej przez nagłówek X-Workspace-Id. RBAC jest egzekwowany konsekwentnie: odczyty i piaskownica testowa są otwarte dla każdego członka; zapisy wymagają Developer+ (oraz uprawnienia guardrails:write); zmiany ruchu produkcyjnego (usunięcie, revert, konfiguracja dostawcy) są bramkowane odpowiednio.

Guardrails

Metoda i ścieżkaRolaCel
GET /api/guardrail/MemberLista guardrails (z licznikami powiązanych kluczy).
GET /api/guardrail/metaMemberSłownik silnika — typy reguł, etapy, akcje, encje PII, presety, kategorie presetów.
GET /api/guardrail/my-permissionsMemberUprawnienia guardrail wywołującego (do bramkowania UI).
GET /api/guardrail/:idMemberSzczegóły pojedynczego guardrail.
GET /api/guardrail/:id/tokensMemberKlucze API powiązane z tym guardrail (limitowane, z prawdziwą sumą).
POST /api/guardrail/testMemberPiaskownica — ewaluuj politykę nad przykładowym tekstem na danym etapie. Nic nie jest persystowane.
POST /api/guardrail/Developer+Utwórz guardrail.
PUT /api/guardrail/Developer+Zaktualizuj guardrail (zapisuje nową wersję historii).
DELETE /api/guardrail/:idDeveloper+Usuń guardrail.

Historia

Metoda i ścieżkaRolaCel
GET /api/guardrail/:id/historyMemberHistoria wersji (najnowsze pierwsze).
GET /api/guardrail/:id/history/diffMemberPorównaj dwie wersje.
GET /api/guardrail/:id/history/:versionMemberPojedyncza historyczna wersja.
POST /api/guardrail/:id/revertDeveloper+Przywróć starszą wersję jako nową wersję.

Ewaluacja i korpusy

Metoda i ścieżkaRolaCel
POST /api/guardrail/:id/evalMemberUruchom ewaluację nad korpusem (dołączona nazwa lub wgrany JSONL).
GET /api/guardrail/:id/eval/runsMemberLista uruchomień ewaluacji dla guardrail (paginowana).
GET /api/guardrail/eval/runs/:run_idMemberSzczegóły pojedynczego uruchomienia ewaluacji.
GET /api/guardrail/eval/corporaMemberLista korpusów przestrzeni roboczej + dołączonych korpusów.
POST /api/guardrail/eval/corporaDeveloper+Wgraj korpus JSONL.
GET /api/guardrail/eval/corpora/:idMemberSzczegóły korpusu.
DELETE /api/guardrail/eval/corpora/:idDeveloper+Usuń korpus.

Dopasowania

Metoda i ścieżkaRolaCel
GET /api/guardrail/matchMemberLista dopasowań (w zakresie przestrzeni roboczej).
GET /api/guardrail/match/groupedMemberDopasowania pogrupowane (np. po regule lub guardrail).
GET /api/guardrail/match/statsMemberStatystyki dopasowań (wspiera ?days= i ?group_by=).
GET /api/guardrail/match/exportMemberEksportuj dopasowania jako CSV.
GET /api/guardrail/match/:idMemberSzczegóły pojedynczego dopasowania.
POST /api/guardrail/match/:id/mark-fpAdminOznacz dopasowanie jako fałszywie pozytywne (rate-limited).
DELETE /api/guardrail/match/:id/mark-fpAdminOdznacz fałszywie pozytywne (rate-limited).

Powiązanie klucza

Ustaw guardrail_id na kluczu API (przez edytor klucza lub token API). 0/null oznacza brak jawnego powiązania — klucz wraca do domyślnego guardrail przestrzeni roboczej, jeśli jest ustawiony.

13. FAQ

Zachowanie jest bajt-identyczne z przestrzenią roboczą, która nigdy nie włączyła tej funkcji. Jeśli klucz nie jest powiązany i nie ustawiono domyślnego przestrzeni roboczej, brama nie robi żadnych modyfikacji. Nic nie jest blokowane, maskowane ani logowane do strumienia Matches.
Nie. Blokada na etapie input działa, zanim użycie jest mierzone; blokada na etapie output zwraca wstępnie pobraną kwotę po odrzuceniu odpowiedzi. Tak czy inaczej wywołujący nie płaci kwoty, dostaje HTTP 400 guardrail_blocked, a żądanie jest oznaczone jako skip-retry (ponowne uruchomienie tego samego promptu na innym kanale po prostu znów by zablokowało).
To zależy od akcji. Block jest egzekwowany w obu trybach: na nie-streamingowej odpowiedzi odpowiedź jest sprawdzana, zanim zostanie zwrócona, a na odpowiedzi streamingowej skaner przerywa strumień w locie i emituje komunikat zastępczy, zanim jakakolwiek zablokowana treść dotrze do klienta. Mask na wyjściu obecnie stosuje się wyłącznie do odpowiedzi nie-streamingowych — na odpowiedzi streamingowej oryginalny chunk przechodzi bez zamaskowania (przepisywanie strumienia w locie jest planowanym usprawnieniem). Aby maskować wyjście już dziś, używaj żądań nie-streamingowych albo polegaj na maskowaniu na etapie input. Udowodnij swoją konkretną kombinację etap/stream w piaskownicy oraz uruchomieniem ewaluacji, zanim na niej polegniesz.
Mask redaguje dopasowanie (np. jane@acme.com[EMAIL]) i przepuszcza żądanie z oczyszczonym tekstem — model nadrzędny nigdy nie widzi oryginału. Block odrzuca całe żądanie z HTTP 400. Flag nie zmienia nic w ruchu i tylko rejestruje dopasowanie — użyj go, aby zmierzyć regułę przed jej egzekwowaniem.
Wbudowana reguła (keyword / regex / PII / max_chars) nie robi wywołania modelu i nie nalicza nic. Reguła llm_judge lub grounding woła model przez kanały twojej przestrzeni roboczej, więc te tokeny są rozliczane i przypisywane jako sub-linia sędziego.
Włącz Log raw content dla guardrail. Przy wyłączonym (domyślnie) strumień Matches rejestruje, że reguła zadziałała, oraz jej meta-łańcuch szczegółów, ale nie dopasowany podłańcuch — postawa konserwatywna wobec prywatności. Przełącznik nie działa wstecznie: wpływa tylko na dopasowania zarejestrowane po jego włączeniu.
Tak. Otwórz History na guardrail, porównaj wersje i Revert do tej, którą chcesz. Revert kopiuje zawartość tej wersji do przodu jako nową wersję — historia nigdy nie jest mutowana — a zmiana wchodzi w życie przy następnym żądaniu.
Domyślnie zaawansowane reguły fail open: timeout lub błąd transportu jest rejestrowany jako telemetria, a żądanie kontynuuje. Ustaw fail_open (external) lub judge_fail_open (judge) na false, aby fail closed — traktować błąd jako block — dla polityk, w których pominięte sprawdzenie jest nieakceptowalne.