Prerequisites
- Python 3.9 or newer
- A writable Sakshi instance you can reach: your own deployment, or a
sandbox, a private synthetic-data instance
with no install. The public demo at
https://demo.rotavision.comis read-only, so it cannot register or witness. - An ingest API key. In a sandbox or your own deployment, mint one in the console under Admin → API keys. See Authentication.
1. Install the SDK
sakshi-sdk; the import is sakshi.
2. Initialize the client
Capture is fail-open by default: if the platform is unreachable, your
agent keeps running and records are dropped with a warning. Governance must
never take production down. Pass
fail_open=False for batch jobs where losing
evidence is worse than stopping.3. Register the agent
An agent must not run unregistered.register is idempotent by name, so it is
safe to call on every startup.
4. Witness a decision
Open a witness session as a context manager. Record the steps as they happen; the decision record is written to the chain when the block exits. Identifiers you pass are tokenized at ingest, so raw PII never lands on the chain.5. Bound the autonomy (optional)
Before an agent acts, route the intended action through its envelope. Enforcement fails closed: if Sakshi is unreachable it raises rather than letting an ungoverned action through.6. Verify the chain
Anyone can recompute the chain. No trust in Rotavision required.valid becomes false, and the
chain says exactly where it broke.
Next steps
Add it with one line
Wrap an existing OpenAI, Anthropic, LangGraph, Google ADK, CrewAI, or AWS
Strands agent with a middleware instead of hand-instrumenting.
Bound autonomy
Publish an autonomy envelope, arm circuit breakers, and drill the kill
switch.
Generate an evidence pack
Map your live records to RBI, DPDP, SEBI, or IRDAI obligations and export a
signed bundle.
Full SDK reference
Every client method, the witness session, and the exception model.

