San Francisco

Runtime authorization for AI agents

Agents that act, safely.

Put agents in production without losing control. Salus checks policy, evidence, and intent at runtime, returns exact fixes to the agent, and stops wrong actions before they become real.

See a real action caught, corrected, and completed.

01 · Attempt

The agent relies on old information.

It proposes a booking using the $299 itinerary saved earlier in the conversation.

Proposed actionbook_reservation$299
02 · Hold

Salus stops the action.

The booking never reaches the airline. Live availability and the current total were never verified.

Stopped at runtimeAirline untouchedMissing live evidence
03 · Repair

The agent fixes the problem.

Salus returns the exact missing step. The agent searches live inventory and discovers the new $375 price.

Exact correctionSearch live inventory$299 $375
04 · Execute

The corrected action executes.

The customer confirms the new price. Salus verifies the evidence, the booking runs, and a receipt is created.

Executed after correctionReservation HATHATReceipt created
The problem

Authorized does not mean correct.

Agents can have valid credentials, valid permissions, and perfectly formed tool calls and still take the wrong action. Salus controls the final step between intent and execution.

What Salus does

Prevent. Repair. Prove.

01 · Prevent

Stop the wrong action before it reaches the provider.

Salus holds unsupported writes before your backend performs them.

Execution status Provider not called provider_called: false
02 · Repair

Give the agent the exact correction it needs.

Fixable actions return with the missing evidence and the next step.

Structured recovery Search live inventory missing: live_available_itinerary
03 · Prove

Prove every decision.

See the policy, evidence, timing, verdict, and execution result.

Decision receipt Allowed · HATHAT provider_called: true
Integration

Works with the stack you already use.

Python · Tool executor
from salus import Salus

salus = Salus()

# do_refund is your existing tool implementation.
issue_refund = salus.protect(
    "issue_refund",
    do_refund,
    side_effect=True,
    risk="high",
)

Protect the tool that performs the write. Keep your model, agent loop, framework, and backend unchanged.

Works with

OpenAI · Anthropic · LangChain · LangGraph · CrewAI · AutoGen · Vapi · Retell · MCP

Measured results

Safer actions. Better outcomes.

−70.6%Fewer policy failuresτ²-bench
+40.4%More compliant completionsτ²-bench
−20.5%Lower agent-model spend per successful taskCarBench
Get started

Trust your agents with real work.

Start with one action that matters. Salus stops wrong actions, tells the agent exactly how to fix them, and sends only real judgment calls to your team.

Get started
founders@usesalus.ai