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. |