Catch what you already know.
Literal matches and RE2 rules handle known phrases, secret patterns, and tool context before inference.
A protection layer for the AI you ship.
Catch risky prompts, shape every policy, and trace every decision. All on your terms.
Live request throughput, enforcement decisions, and gateway health.
342 sent to review
218 blocked
p95 81 ms · p99 124 ms
2/16 workers active
Your stack.
One new boundary.
Every request follows a clear path. Resolve known patterns locally, evaluate nuanced input in one model call, and return a decision your application can act on.
Literal matches and RE2 rules handle known phrases, secret patterns, and tool context before inference.
Write detectors in plain language. System One evaluates every enabled question together in a single request.
Set your thresholds, weights, and failure behavior. Return an allow, review, or block decision with its trace.
Security should be something your team can inspect and improve. Pyro keeps the controls close to the decisions they make.
Tune review and block thresholds. Choose how signals combine. Import a profile, make it yours, and export it as readable YAML. Use the dashboard or CLI to manage the same profiles and local rules.
Explore protection profilesmaximumRun the gateway, dashboard, and PostgreSQL on your infrastructure. Keep your application independent of the model provider.
Semantic checks use your configured model provider.
Search by application, outcome, profile, or custom label. Follow a trace back to the rule or detector that made the call.
Activity · signals · trace IDsCompare up to three shadow profiles against the same traffic. See how a new threshold would change decisions.
Shadow evaluation · side-by-side resultsRoute decisions to signed webhooks. Filter events, inspect deliveries, and retry failures from the dashboard or terminal.
HMAC signatures · delivery historyStart in your terminal, then bring the same policy into your application. Classify with the CLI, use a typed client, or call the HTTP API directly. Your code enforces the decision.
# Use your application's PYRO_API_KEY.pyro classify "Summarize this document." \ --profile balanced-assistant \ --labels '{"environment":"production"}'# Evaluate a request in the background.pyro jobs create "Summarize this document." \ --profile balanced-assistant# Stream decisions for your application.pyro events --count 10Inspect the source. Adapt the rules. Build on your terms.
Store hashes and decision metadata by default.
Your infrastructure. Your policies. Your call.