Build with the local Soterias SDK. Get started with Python and TypeScript.
SoteriasDocsBuild
Getting started

All SDK features

Begin with ordinary workflow integration. Each feature page explains when to use it and teaches a complete Python/TypeScript program in language tabs, followed by its real MCP composition.

Feature When to use it
Integrate an existing workflow Wrap a function you already have. Soterias returns its original value and records local timing; repeated writes still execute.
Measure local runs Inspect counts, errors, cancellations and duration distributions. Token usage and costs stay unmeasured until you explicitly supply evidence for them.
Compare two implementations Compare paired runs of the same inputs and scorer. A returned value alone is insufficient: the example independently checks the invoice total before recording quality evidence.
Export local observations Write JSON, CSV or opt-in local OTLP JSON for analysis. Exporting creates bytes; it does not start a telemetry sender or upload your data.
Record and reopen an encrypted session Retain explicit boundary bytes and event references, export a redacted trace, and reopen the session using the exact checkpoint you retained. Observation records what your application saw; it does not grant permission.
Cache a pure calculation Reuse a versioned JSON calculation only after an independent verifier accepts its result. Keep reads, writes, tool calls and approvals outside the cached function.
Encode canonical documents Turn JSON bytes into one stable Rust-produced encoding, then validate typed host documents. A canonical digest identifies bytes; it does not authenticate their author or authorize an effect.
Verify a receipt offline Check the original signature, the host-pinned issuer policy and time. Match the expected operation binding when your application knows it. An authentic historical assertion is not current execution authority.
Verify an ordered receipt chain Detect missing, changed or reordered links against an independently retained checkpoint. Chain integrity and individual receipt-signature verification are separate checks.
Activate a reviewed tool Activate a complete signed review, retain its new registry checkpoint, and inspect the exact reviewed argument/resource mapping. A descriptor is data, not permission to dispatch the tool.
Issue bounded root authority Issue a root warrant from provisioned identity and intent. Rust checks scope and issuer state, refuses a repeated warrant identity and rejects an old issuer checkpoint.
Delegate a smaller scope Give an enrolled child a restricted part of existing authority. Rust checks lineage, reservations and shared quotas; a child cannot widen its parent scope.
Review one exact operation Prepare an operation, show the original request and review selection to a separate reviewer, then submit its signed, expiring approval. Approval for one operation cannot authorize another.
Execute a protected SQLite operation Send a request to Rust's fixed SQLite route. Policy, warrant, permit and broker checks run before the effect. Inspect the returned status and receipt evidence instead of treating every return as success.
Inspect protected execution timings Separate native policy/broker timing from application timing. Keep rejected and unknown outcomes visible; a cancellation does not establish that no effect occurred.
Bind execution to a transport credential Issue and verify an audience/recipient-bound credential, then execute through authenticated native admission. A bearer value is not an agent-selected identity or a replacement for operation approval.
Replay a historical policy decision Evaluate captured historical inputs against independently retained pins without running the original effect. Replay answers what that historical policy says, not whether a new operation is currently allowed.
Use the local daemon Connect with an operator-issued execution credential and inspect metrics, policy, authority and receipt snapshots. The approval client is a different, privileged interface.
Expose protected work through MCP Use a host-selected MCP tool catalog backed by the same Rust executor. Authenticated clients submit proposals; signed review stays outside the agent tools.
Connect a framework to protected tools Keep your orchestrator, model and agent state in your framework. Route effects through the connected MCP client so Rust still decides policy and broker admission.
Flush and close a runtime Wait for queued recordings before exporting or exiting, and inspect cleanup diagnostics separately from your application's original error. Async cancellation stops waiting; it does not prove native rollback.
Install and maintain the SDK Install the language package that contains the wrapper and matching native runtime. Lifecycle tooling is a separate companion; the SDK does not install or remove itself.
Verify cited facts against reviewed rules Capture sources, cite exact text and promote a candidate only when Rust verifies it against a host-pinned typed rule and the complete reviewed evidence set. RC5 adds this semantic-fact verification; a model assertion alone cannot promote a fact.

Search guides, examples and API reference.