How it works From install to signed receipts in three steps.
Drop the SDK in, wrap your agent's calls, and every request flows through Sphyr's 12-stage security pipeline automatically.
01
Add one import
One line wraps every outbound call — requests, httpx, fetch, axios — automatically. No per-call wrapping required.
from sphyr_sdk import auto_instrument
auto_instrument(
credential=os.environ["SPHYR_CREDENTIAL"],
)
# → requests.get(), httpx.get() all flow through Sphyr automatically 02
Sphyr signs every call
The MCP proxy intercepts every outbound HTTPS request your agent routes through sphyr_net — no SDK code to write. Sphyr runs the 12-stage pipeline — HMAC, SSRF, entropy, credits — before the request leaves.
# Your agent's tool call (handled automatically):
sphyr_net({
url: "https://api.example.com/data",
mthd: "GET",
cat: "api-call",
}) 03
Audit every call
Every request emits structured telemetry with the outcome code and request_id. Blocked calls return an Ed25519 denial_proof — independently verifiable by any third party using the public_key embedded in the receipt; use the key_url embedded in the receipt to retrieve the verification key for higher-assurance cross-check. Allowed calls return an HMAC-SHA256 safety_sig — a session-scoped integrity receipt attesting to the inbound safety scan result, confirming the response was analyzed for injection patterns and secret leakage. Filter the full trail from the admin console.
# Open the admin console
open https://console.sphyr.io
# Allowed: request_id + outcome + HMAC-SHA256 safety_sig (session-scoped integrity receipt).
# Blocked: request_id + outcome + Ed25519 denial_proof (self-contained: public key embedded in receipt).
# denial_proof verifies offline using the public_key embedded directly in the receipt — no dependency on Sphyr's infrastructure.