Guardrail checks
Every check name, configuration field, and response status Protect exposes, laid out as tables.
Checks run inside Protect’s gateway pipeline and are configured from Gateway > Guardrails, either per-check or as pipeline-wide settings; see Configuration fields for where each field lives.
First-party checks
These ten checks run inside Protect without an external provider. Three of them carry a different name on the Gateway > Guardrails settings tab.
| Check | Also shown as |
|---|---|
pii-detector | pii-detection |
injection-detector | prompt-injection |
secrets-detector | secret-detection |
content-moderation | Same |
keyword-blocklist | Same |
topic-restriction | Same |
language-detection | Same |
system-prompt-protection | Same |
hallucination-detection | Same |
data-leakage-prevention | Same |
Provider-backed checks
Each of these 18 checks has a Provider Settings section in its Rules dialog (the per-check settings dialog under Gateway > Guardrails, covered in Configuration fields). Provider Settings is where that check’s own provider configuration lives, not always a credential connection to an outside service.
| Check |
|---|
futureagi-eval |
llama-guard |
azure-content-safety |
presidio-pii |
lakera-guard |
bedrock-guardrails |
hiddenlayer-guard |
aporia-guard |
pangea-guard |
dynamoai-guard |
enkrypt-guard |
ibm-ai-detector |
grayswan-guard |
lasso-guard |
crowdstrike-aidr |
zscaler-guard |
tool-permissions |
mcp-security |
PII entities
A pii-detector check (shown as pii-detection in the settings tab) can look for these 14 entity ids:
| Entity id | Label |
|---|---|
SSN | Social Security Number |
CREDIT_CARD | Credit Card Number |
EMAIL | Email Address |
PHONE | Phone Number |
ADDRESS | Physical Address |
NAME | Person Name |
DOB | Date of Birth |
PASSPORT | Passport Number |
DRIVER_LICENSE | Driver’s License |
IP_ADDRESS | IP Address |
BANK_ACCOUNT | Bank Account Number |
MEDICAL_RECORD | Medical Record Number |
AWS_KEY | AWS Access Key |
API_KEY | API Key / Secret |
Topic categories
A topic-restriction check groups its topics under 8 categories, most with their own subcategories; Custom ships with none.
| Category id | Label | Subcategories |
|---|---|---|
violence | Violence & Harm | weapons, self_harm, threats, graphic_violence |
sexual | Sexual Content | explicit, suggestive, minors |
hate | Hate Speech & Discrimination | racism, sexism, religious_hate, disability_hate |
illegal | Illegal Activities | drugs, fraud, hacking, terrorism |
misinformation | Misinformation | health_misinfo, political_misinfo, conspiracy |
privacy | Privacy Violations | doxxing, surveillance, stalking |
profanity | Profanity & Offensive Language | strong_profanity, slurs, insults |
custom | Custom Topics | none |
Configuration fields
Most fields below apply to every check in both the first-party and provider-backed tables above. A check that carries provider fields additionally has a Provider Settings section holding them, which is why keyword-blocklist shows its Blocked Keywords there despite being first-party. Confidence Threshold appears on every check except futureagi-eval and presidio-pii.
A check is configured from one of two dialogs: the per-check dialog covered under Rules dialog, and the guardrail-level dialog covered under Overview dialog. The two expose different fields: the Rules dialog offers Mask as an action option, plus a Confidence Threshold; the Overview dialog sets Stage.
Rules dialog
| Field | Values | Default |
|---|---|---|
| Enabled | Toggle | On |
| Action | Block, Warn, Mask, Log | Block |
| Confidence Threshold | Slider from 0.0 to 1.0, marked at 0.0 / 0.5 / 1.0 | 0.8 |
| Provider Settings (checks that have provider fields) | The check’s provider configuration |
Overview dialog
| Field | Values | Default |
|---|---|---|
| Action | Block, Warn, Log | Block |
| Stage | pre, post, both | pre |
| Threshold | Numeric (optional) |
Pipeline settings
These apply to every check on the gateway rather than to an individual check.
| Field | Values | Default | What it does |
|---|---|---|---|
| Mode | Parallel, Sequential | Parallel | Whether the gateway’s checks run at the same time or one after another |
| Fail Open | Toggle | On | What happens when a check doesn’t return a verdict before Timeout runs out. On lets the request through unchecked; off applies the check’s configured action instead |
| Timeout | Milliseconds | 5000 ms | How long a check is given to return a verdict before Fail Open decides what happens next |
Response statuses
A check that blocks or warns changes the gateway call’s response status to one of these codes.
| Status | Meaning |
|---|---|
403 | Blocked |
446 | Blocked |
246 | Warned |
Note
403 and 446 indicate a blocked call. The condition that selects one over the other isn’t documented here, so treat both as blocked when writing code that branches on status. Keep exploring
Questions & Discussion