PRODUCT

See the run. Test the rule. Block the call.

Staso gives small AI teams one path from an instrumented agent run to a reviewed Guard decision. Start in audit mode. Turn on enforcement only when the matches reflect your intent.

Python SDK: OpenAI Chat Completions, Anthropic Messages, and direct LiteLLM calls on the tested OpenAI route. CLI: Claude Code and Codex. Guard needs a configured policy.

Using LiteLLM in Python?

Trace direct completion calls and check supported tool proposals.

See LiteLLM support
01 · OBSERVE

See the path you chose to instrument.

@st.agent creates the explicit root for a Python run. Supported provider calls inherit that trace. @st.tool records the duration, status, errors, and enabled fields for the function that actually ran.

01

Explicit roots

Group the supported model and tool spans that belong to one run.

02

Actual execution

A decorated tool span describes the function that ran. A model proposal alone does not.

03

Honest usage data

Tokens appear when the provider supplies supported usage. Cost appears only for an exact known provider and model price. Missing data stays Unknown or Partial.

04

CLI sessions

Claude Code and Codex sessions connect through local hooks installed by one setup command.

02 · RULES & POLICIES

Choose a check. Give it a place to run.

A rule says what to check. An enabled policy selects the rule, scopes it to agents, environments, and tools, and sets Audit or Enforce mode. Built-in templates are inactive until you attach them to an enabled policy.

Set up a Guard policy

Static check

Checks explicit facts such as malformed arguments or a mismatch with the tool schema. Missing or suppressed evidence is skipped.

LLM judge

Reviews the proposed action against a written instruction using available evidence. It can abstain when the evidence is insufficient.

Python rule

Runs your own condition on the proposed tool call. Execution depends on runner availability and your Python-run allowance.

Start in Audit to review would-block findings while calls remain allowed. Enforce can block matching supported proposals before dispatch. Unavailable checks follow the configured fail-open or fail-closed behavior and are not rule matches.

03 · AUDIT

Test a policy without changing the current action.

A rule template is inactive until you attach it to an enabled policy. In audit mode, a matching tool proposal records a would-block finding while the current action remains allowed.

Policy mode
Audit
Rule result
Would block
Effective action
Allow
Configure an audit policy
04 · ENFORCE

Block the matches your team has reviewed.

Move a policy to enforce when its audit findings match your intent. A configured blocking policy can stop a supported provider proposal before your normal dispatch loop receives it.

Policy mode
Enforce
Rule result
Block
Effective action
Block before dispatch

Choose your first integration.

Start with one supported path, create a queryable trace, then test one policy in audit mode.