OpenAIAnthropicGoogle GeminiAWS BedrockLangChainLangGraphGoogle ADKCrewAIAWS StrandsAutoGenMCP
Product names and marks are trademarks of their respective owners, shown to indicate compatibility, not endorsement.
The integration doctrine
There are three ways in, and every one lands on the same chain.SDK
A few lines. You open a witness session and record the steps of a decision
yourself. Full control over what becomes evidence.
Middleware
One line. Wrap the provider client once and every model call inside a witness
session is recorded automatically, with no rewrite of the agent.
MCP
Govern any agent that speaks the Model Context Protocol, including agents you
cannot instrument, through a client session wrapper or a proxy.
Supported providers
OpenAI and OpenAI-compatible
The OpenAI client, plus Ollama, vLLM, TGI, and LM Studio through a base URL.
The sovereign, self-hosted path.
Anthropic
The Anthropic Messages API shape.
Google Gemini
The google-genai SDK shape.
AWS Bedrock
The bedrock-runtime Converse API. Residency-compliant in AWS Mumbai.
LangChain
The same provider middlewares underneath, plus the LangGraph path for graph
apps.
LangGraph
Bracket a compiled graph and witness individual nodes.
Google ADK
Register one plugin on the Runner to witness the whole agent tree, and
optionally enforce in the tool path.
CrewAI
Register one event listener to witness a crew’s model and tool calls.
AWS Strands
One hook provider to witness tool and model calls, and cancel a tool through
the envelope.
AutoGen
Govern at the tool boundary and the model client. The honest paths that work.
Every function lives in
sakshi.middleware:
The shared shape
Every integration follows the same four steps: point the SDK at your deployment, register the agent, wrap the provider client once, then make calls inside a witness session.witness when a middleware is in play. The
middleware fills the served model identity from the provider’s response, so the
record reflects what actually answered, not what you intended to call.
Evidence belongs to decisions. A model call made outside a witness session
passes through untouched and is not recorded. Recording is also fail-open: a
problem writing evidence never breaks or delays the host agent’s call.
Where to go next
Python SDK
The client, the witness session, enforcement, and the exception model.
MCP governance
The MCP server and the interception proxy for zero-code governance.
The decision chain
How steps become a tamper-evident record anyone can recompute.
Quickstart
Register, witness, and verify the chain in a few minutes.

