Content inspection
Read every argument before the tool ever runs.
More than 31 detectors walk every string in a tool call and score what they find. Secrets are fingerprinted and masked out of the stored record, so you keep the proof without keeping the secret.
31+ detectors · 5 categories · redacted at write time
The taxonomy
Five categories, one pass over the payload.
Every string leaf is checked against detectors grouped into five categories. A call can light up more than one at once.
Secret
AWS keys, tokens, private keys, and more. A live credential floors the score.
Destructive
Recursive deletes, DROP and TRUNCATE, and DELETE without a WHERE clause.
Injection
Prompt injection, SQL and shell injection, SSRF, and path traversal.
PII
Emails, Social Security numbers, phone numbers, and Luhn-checked cards.
Egress
Unbounded SELECT *, bulk export, and oversized field values.
Live inspector
Paste a tool call. Watch it get scanned.
Detection runs in your browser using the same patterns and severities as the gateway, and the score uses the production scoring function. Edit the arguments and the result updates instantly.
valid JSON · every string leaf is scanned
Secrets and personal data never reach the audit log in the clear.
From signals to a score
Many signals, with diminishing returns.
Each finding carries points by severity. The most severe signal counts in full, and each one after it counts for a little less, so a pile of tiny findings cannot game the number.
Weighted by severity
Low, medium, high, and critical findings each carry their own weight before they are combined.
Diminishing returns
Signals are combined so the score climbs fast on the first real finding and levels off after.
Critical floor
A live cloud key, a private key, or a forged signature floors the score at 90 or above on its own.
One credential is enough
Redaction
Proof a secret was there, without storing it.
When a detector finds a secret, the audit log keeps a fingerprint, not the value. You can prove a key leaked, see where, and confirm it was caught, while the raw secret is masked at write time and never persisted.
What your agent sent
{ "env": { "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE" } }What gets stored
{ "env": { "AWS_ACCESS_KEY_ID": "«redacted:secret.aws_access_key»" } }
fingerprint: AK…LE · len 20 · sha256:1a2b3c4dEvery detector
Browse the catalog, scan an example.
Filter by category and severity, then run an example payload to see exactly which detectors fire.
Showing 31 of 31 detectors
- criticalAWS access key idsecret.aws_access_key
- criticalAWS secret access keysecret.aws_secret_key
- criticalGitHub tokensecret.github_token
- criticalGitHub fine-grained PATsecret.github_pat
- criticalSlack tokensecret.slack_token
- criticalLLM provider API keysecret.llm_key
- criticalStripe live keysecret.stripe_key
- criticalPrivate key (PEM)secret.private_key
- highGoogle API keysecret.google_api_key
- highJSON Web Tokensecret.jwt
- highBearer tokensecret.bearer
- mediumHardcoded credentialsecret.assignment
- highRecursive or forced deletedestructive.rm_rf
- highSQL DROP or TRUNCATEdestructive.sql_drop
- highDELETE or UPDATE without WHEREdestructive.sql_no_where
- highResource destructiondestructive.resource_delete
- mediumGit force pushdestructive.force_push
- lowDangerous CLI flagdestructive.dangerous_flag
- highPrompt injectioninjection.prompt
- highSystem-prompt overrideinjection.system_override
- highSQL injectioninjection.sql
- highShell or command injectioninjection.shell
- highSSRF or internal endpointinjection.ssrf
- mediumPath traversalinjection.path_traversal
- mediumEmail addresspii.email
- highUS Social Security Numberpii.ssn
- lowPhone numberpii.phone
- highCredit card numberpii.credit_card
- mediumUnbounded SELECT *egress.select_star
- highBulk data exportegress.bulk_export
- lowLarge field valueegress.large_value
Keep exploring
Continue across the control plane.
See what your agents are really sending.
Route a tool call through the gateway and get a scored, redacted record of every payload in under 100 milliseconds.