Content inspection
Read every argument before the tool ever runs.
More than 131 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.
131+ detectors · 7 categories · redacted at write time
The taxonomy
Seven categories, one pass over the payload.
Every string leaf is checked against detectors grouped into seven 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, NoSQL, template and shell injection, SSRF, and indirect injection in tool output.
Malware
Reverse shells, encoded PowerShell, download-and-run pipes, and credential dumping. Denied by default.
Financial
Crypto wallets, IBAN and SWIFT codes. Seed phrases and private keys are redacted like secrets.
PII
Emails, national IDs, bank routing numbers, IP addresses, and Luhn-checked cards.
Egress
Unbounded SELECT *, bulk export, exfiltration hosts, and oversized field values.
Model I/O guardrails
Guard the prompt and the response, not just the tools.
The same engine inspects what you send a model and what it sends back. inspectPrompt catches prompt injection, jailbreaks, and a secret or PII leaking into the prompt. inspectCompletion catches injected instructions, PII egress, and a leaked secret in the output. Both run locally, with no key and no network, or wrap your chat client to guard every call.
Inspect a prompt or a completion
import { inspectPrompt, inspectCompletion } from "@axiorank/sdk";
const p = inspectPrompt(userMessage);
if (p.decision === "deny") throw new Error(p.reason);
const out = await model.generate(userMessage);
const c = inspectCompletion(out.text);Wrap your chat client
import OpenAI from "openai";
import { guardOpenAIChat } from "@axiorank/sdk";
const openai = new OpenAI();
const chat = guardOpenAIChat(openai.chat.completions);
// every call is scored on both sides
const res = await chat.create({ model: "gpt-4.1", messages });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: redacted · 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 131 of 131 detectors
- criticalAWS access key idsecret.aws_access_key
- criticalAWS secret access keysecret.aws_secret_key
- criticalAzure storage account keysecret.azure_storage_key
- highGoogle API keysecret.google_api_key
- highGoogle OAuth access tokensecret.google_oauth_token
- highCloudflare API tokensecret.cloudflare_token
- criticalDigitalOcean tokensecret.digitalocean_token
- criticalGitHub tokensecret.github_token
- criticalGitHub fine-grained PATsecret.github_pat
- criticalGitLab personal access tokensecret.gitlab_pat
- criticalnpm access tokensecret.npm_token
- criticalPyPI upload tokensecret.pypi_token
- criticalLLM provider API keysecret.llm_key
- highHugging Face tokensecret.huggingface_token
- criticalSlack tokensecret.slack_token
- highSlack incoming webhooksecret.slack_webhook
- criticalSendGrid API keysecret.sendgrid_key
- highMailgun API keysecret.mailgun_key
- highTwilio auth tokensecret.twilio_token
- highTelegram bot tokensecret.telegram_bot_token
- highDiscord bot tokensecret.discord_bot_token
- criticalStripe live keysecret.stripe_key
- highStripe webhook signing secretsecret.stripe_webhook_secret
- criticalSquare access tokensecret.square_token
- criticalShopify access tokensecret.shopify_token
- criticalHashiCorp Vault tokensecret.hashicorp_vault
- criticalTerraform Cloud tokensecret.terraform_cloud
- criticalDoppler tokensecret.doppler_token
- highDatabase URL with passwordsecret.db_connection_string
- criticalSupabase service keysecret.supabase_key
- criticalPlanetScale tokensecret.planetscale_token
- highDatabricks tokensecret.databricks_token
- highDatadog API keysecret.datadog_key
- highNew Relic API keysecret.newrelic_key
- highSentry auth tokensecret.sentry_token
- highGrafana service-account tokensecret.grafana_token
- highPostman API keysecret.postman_key
- highOkta API tokensecret.okta_token
- highLinear API keysecret.linear_key
- highNotion integration tokensecret.notion_token
- highFigma access tokensecret.figma_token
- highDropbox access tokensecret.dropbox_token
- criticalPrivate key (PEM)secret.private_key
- highJSON Web Tokensecret.jwt
- highBearer tokensecret.bearer
- mediumHardcoded credentialsecret.assignment
- mediumEmail addresspii.email
- highUS Social Security Numberpii.ssn
- highUS Individual Taxpayer IDpii.itin
- mediumUS Employer ID Numberpii.ein
- lowPhone numberpii.phone
- highCredit card numberpii.credit_card
- mediumUS bank routing numberpii.us_routing
- mediumUK National Insurance numberpii.uk_nino
- mediumCanada Social Insurance Numberpii.ca_sin
- highIndia Aadhaar numberpii.aadhaar
- mediumPassport numberpii.passport
- lowIPv4 addresspii.ipv4
- lowIPv6 addresspii.ipv6
- lowMAC addresspii.mac_address
- highRecursive/forced file deletedestructive.rm_rf
- mediumWorld-writable permissionsdestructive.chmod_777
- highDisk format or overwritedestructive.disk_wipe
- highPowerShell recursive force deletedestructive.powershell_remove
- mediumGit force pushdestructive.force_push
- mediumGit hard reset / cleandestructive.git_history_wipe
- highSQL DROP/TRUNCATEdestructive.sql_drop
- highSQL DELETE/UPDATE without WHEREdestructive.sql_no_where
- mediumSQL GRANT/REVOKE ALLdestructive.sql_grant
- highResource destructiondestructive.resource_delete
- highInfrastructure teardowndestructive.iac_destroy
- highKubernetes/Helm deletedestructive.k8s_delete
- mediumContainer/volume prunedestructive.container_prune
- highCloud resource deletedestructive.cloud_delete
- highDatastore flushdestructive.datastore_flush
- mediumHost shutdown/rebootdestructive.system_power
- mediumFirewall disable/flushdestructive.firewall_flush
- mediumCrontab wipedestructive.cron_clear
- lowDangerous CLI flagdestructive.dangerous_flag
- highPrompt injectioninjection.prompt
- highSystem-prompt overrideinjection.system_override
- highSQL injectioninjection.sql
- highNoSQL operator injectioninjection.nosql
- highShell/command injectioninjection.shell
- highCode-execution sinkinjection.code_exec
- mediumTemplate (SSTI) injectioninjection.template
- highXML external entityinjection.xxe
- mediumCross-site scriptinginjection.xss
- mediumCRLF / header injectioninjection.crlf
- highUnsafe deserialization / prototype pollutioninjection.deserialization
- mediumLDAP injectioninjection.ldap
- highSSRF / internal endpointinjection.ssrf
- mediumPath traversalinjection.path_traversal
- highDAN-style jailbreakinjection.jailbreak.dan
- highNo-restrictions jailbreakinjection.jailbreak.no_restrictions
- highSafety-policy overrideinjection.jailbreak.policy_override
- mediumRoleplay-escape jailbreakinjection.jailbreak.roleplay_escape
- highAdversarial personainjection.jailbreak.persona
- highSystem-prompt exfiltrationinjection.jailbreak.prompt_leak
- mediumEmotional-pretext jailbreakinjection.jailbreak.emotional_pretext
- highInstruction override in tool outputinjection.tool_output_override
- highData-exfiltration markdown link or imageinjection.exfil_markdown
- highEmbedded tool-call directiveinjection.tool_directive
- mediumFake role or chat marker in contentinjection.role_marker
- mediumSuspicious encoded blobinjection.encoded_payload
- highHidden unicode smugglinginjection.hidden_unicode
- mediumUnbounded SELECT *egress.select_star
- highBulk data exportegress.bulk_export
- highExfiltration / tunnel hostegress.exfil_host
- mediumEncoded blob in outbound URLegress.base64_in_url
- mediumLarge embedded data URIegress.data_uri
- lowOutbound to suspicious TLDegress.suspicious_tld
- mediumBulk recipient listegress.bulk_recipients
- lowLarge field valueegress.large_value
- criticalReverse shellmalware.reverse_shell
- criticalEncoded PowerShellmalware.encoded_powershell
- criticalDownload-and-run pipemalware.remote_exec_pipe
- highDownload cradlemalware.download_cradle
- highEmbedded PE executablemalware.pe_header
- criticalCredential dumpingmalware.credential_dumping
- highSecurity-control tamperingmalware.disable_defense
- highPersistence mechanismmalware.persistence
- highObfuscated eval of encoded payloadmalware.base64_eval
- mediumObfuscated shell decode-and-runmalware.obfuscated_shell
- highFork bombmalware.fork_bomb
- criticalCrypto private keyfinancial.crypto_privkey
- mediumBitcoin addressfinancial.btc_address
- mediumEthereum addressfinancial.eth_address
- mediumSWIFT / BIC codefinancial.swift_bic
- highIBANfinancial.iban
- criticalCrypto seed phrasefinancial.seed_phrase
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.