See the path you instrumented.
Connect the agent root, model call, and tools that ran.
Trace supported agent runs, test policies in audit mode, and block supported tool proposals with configured Guard policies.
Start free. No card required. Audit before you enforce.
An agent can choose the wrong tool, then return a convincing reply. Staso exposes the run and the policy decision.
Connect the agent root, model call, and tools that ran.
Audit records would-block while the action stays allowed.
Enforce stops matching supported proposals before dispatch.
Rules become active when attached to an enabled, scoped policy.
Replay a redacted coding run across Observe, Audit, and Enforce.
Production command control
Fix the pricing tests and verify the patch.
Proposed tool call
run_shell(command="rm -rf /tmp/build-cache/*")The trace links captured model turns, file edits, a failed test, and the proposed shell command.
The enabled policy records this rule match as would-block. The call remains allowed.
The same rule match under an enabled Enforce policy blocks this supported proposal before tool execution.
Now replaying
Reading the request
Trace spans
Selected span
{
"request": "Fix the pricing tests and verify the patch.",
"environment": "production"
}Choose one integration. Continue to its setup after sign-in.
Trace Chat Completions. Audit or block configured tool proposals.
$ pip install "staso[openai]"
import staso as st
from openai import OpenAI
st.init(agent_name="support")
client = OpenAI()
@st.agent
def support_agent(question: str):
return client.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": question}],
tools=[{"type": "function", "function": {
"name": "delete_customer",
"parameters": {"type": "object"},
}}],
)Loading pricing…
Choose an integration and open your first queryable trace. No card required.