The approval and accountability layer for agentic AI
Identity. Policy. Approval. Trace.
Website · Documentation · Live Demo · SDK on npm · SDK on PyPI
Your AI agents are acting without oversight. SidClaw adds the missing governance layer — policy evaluation, human approval with rich context, and tamper-proof audit trails — without changing your agent code.
What makes SidClaw different: Everyone else does Identity + Policy + Audit. SidClaw adds the Approval primitive — where a human sees exactly what an agent wants to do, why it was flagged, the agent's reasoning, and the risk level — then approves or denies with one click. That's what FINRA 2026 mandates, what the EU AI Act requires, and what no one else has shipped.
Try it right now — no signup needed:
| Financial Services Demo | DevOps Demo | Healthcare Demo |
|---|---|---|
| AI sends customer email → approval required | AI scales production → approval required | AI orders labs → physician approves |
SidClaw integrates with 18+ frameworks and platforms — including OpenClaw (329K+ users), LangChain, OpenAI, MCP, Claude Agent SDK, Google ADK, NemoClaw, Copilot Studio, GitHub Copilot, and more. Add governance in one line of code. See all integrations →
An AI agent wants to send a customer email. Policy flags it for review. The reviewer sees full context — who, what, why — and approves with one click. Every step is traced.
An AI agent wants to scale production services. High-risk deployments require human approval. Read-only monitoring is allowed instantly.
An AI assistant recommends lab orders. The physician reviews the clinical context and approves. Medication prescribing is blocked by policy — only physicians can prescribe.
Agent wants to act → SidClaw evaluates → Policy decides → Human approves (if needed) → Action executes → Trace recorded
Four primitives govern every agent action:
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Identity │ → │ Policy │ → │ Approval │ → │ Trace │
│ │ │ │ │ │ │ │
│ Every │ │ Every │ │ High-risk│ │ Every │
│ agent │ │ action │ │ actions │ │ decision │
│ has an │ │ evaluated│ │ get human│ │ creates │
│ owner & │ │ against │ │ review │ │ tamper- │
│ scoped │ │ explicit │ │ with rich│ │ proof │
│ perms │ │ rules │ │ context │ │ audit │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
- allow → action executes immediately, trace recorded
- approval_required → human sees context card, approves/denies, trace recorded
- deny → blocked before execution, no data accessed, trace recorded
npx create-sidclaw-app my-agent
cd my-agent
npm startThe CLI:
- Signs you up (opens the dashboard if needed)
- Creates a governed agent with 3 demo policies
- Scaffolds a project with the SDK pre-configured
Run npm start to see all three governance outcomes:
search_docs-- allowed (matches allow policy)send_email-- requires approval (go to the dashboard to approve)export_data-- denied (blocked by policy)
Add to Existing Project (TypeScript) — use this if you already have an agent and want to add governance
See the quickstart guide for step-by-step instructions covering SDK installation, agent registration, policy creation, and wrapping your tools with governance.
npm install @sidclaw/sdkimport { AgentIdentityClient, withGovernance } from '@sidclaw/sdk';
const client = new AgentIdentityClient({
apiKey: process.env.SIDCLAW_API_KEY,
apiUrl: 'https://api.sidclaw.com',
agentId: process.env.SIDCLAW_AGENT_ID,
});
const sendEmail = withGovernance(client, {
operation: 'send_email',
target_integration: 'email_service',
resource_scope: 'customer_emails',
data_classification: 'confidential',
}, async (to, subject, body) => {
await emailService.send({ to, subject, body });
});
await sendEmail('customer@example.com', 'Follow-up', 'Hello...');
// Policy says "allow"? → executes immediately
// Policy says "approval_required"? → waits for human approval
// Policy says "deny"? → throws ActionDeniedError, no email sentAdd to Existing Project (Python) — use this if you already have a Python agent
See the quickstart guide for full setup instructions.
pip install sidclawimport os
from sidclaw import SidClaw
from sidclaw.middleware.generic import with_governance, GovernanceConfig
client = SidClaw(
api_key=os.environ["SIDCLAW_API_KEY"],
agent_id=os.environ["SIDCLAW_AGENT_ID"],
)
@with_governance(client, GovernanceConfig(
operation="send_email",
target_integration="email_service",
data_classification="confidential",
))
def send_email(to, subject, body):
email_service.send(to=to, subject=subject, body=body)SidClaw wraps your existing agent tools — no changes to your agent logic.
| TypeScript | Python | |
|---|---|---|
| Core client | @sidclaw/sdk |
sidclaw |
| MCP proxy | @sidclaw/sdk/mcp |
sidclaw.mcp |
| LangChain | @sidclaw/sdk/langchain |
sidclaw.middleware.langchain |
| OpenAI Agents | @sidclaw/sdk/openai-agents |
sidclaw.middleware.openai_agents |
| CrewAI | @sidclaw/sdk/crewai |
sidclaw.middleware.crewai |
| Vercel AI | @sidclaw/sdk/vercel-ai |
— |
| Pydantic AI | — | sidclaw.middleware.pydantic_ai |
| Claude Agent SDK | @sidclaw/sdk/claude-agent-sdk |
sidclaw.middleware.claude_agent_sdk |
| Google ADK | @sidclaw/sdk/google-adk |
sidclaw.middleware.google_adk |
| LlamaIndex | @sidclaw/sdk/llamaindex |
sidclaw.middleware.llamaindex |
| Composio | @sidclaw/sdk/composio |
sidclaw.middleware.composio |
| NemoClaw | @sidclaw/sdk/nemoclaw |
sidclaw.middleware.nemoclaw |
| Webhooks | @sidclaw/sdk/webhooks |
sidclaw.webhooks |
| Integration | Description |
|---|---|
| OpenClaw | Governance proxy for OpenClaw skills. Published as sidclaw-governance on ClawHub. Guide → |
| MCP | Governance proxy for any MCP server. CLI binary (sidclaw-mcp-proxy) + programmatic API. Supports stdio and Streamable HTTP. Guide → |
| NemoClaw | Govern NVIDIA NemoClaw sandbox tools with MCP-compatible proxy generation. Guide → |
| Copilot Studio | Governance for Microsoft Copilot Studio skills via OpenAPI action. Guide → |
| GitHub Copilot | Governance for GitHub Copilot agents via HTTP transport. Guide → |
| GitHub Action | sidclawhq/governance-action@v1 — reusable CI governance step. Guide → |
Approval requests are delivered to your team's preferred channels. Reviewers can approve or deny directly from chat.
| Channel | Features |
|---|---|
| Slack | Block Kit messages with interactive Approve/Deny buttons. Messages update in-place after decision. |
| Microsoft Teams | Adaptive Card notifications with Approve/Deny buttons (Bot Framework) or dashboard links (webhook). |
| Telegram | HTML messages with inline keyboard. Callback updates remove buttons and add reply. |
| Resend | Email notifications for approval requests via transactional email. |
AI agents are being deployed in production, but the governance layer is missing:
- 73% of CISOs fear AI agent risks, but only 30% are ready (NeuralTrust 2026)
- 79% of enterprises have blind spots where agents act without oversight
- FINRA 2026 explicitly requires "documented human checkpoints" for AI agent actions in financial services
- EU AI Act (August 2026) mandates human oversight, automatic logging, and risk management for high-risk AI systems
- OpenClaw has 329K+ stars and 13,700+ skills — but 1,184 malicious skills were found in the ClawHavoc campaign. There's no policy layer governing what skills can do.
The big vendors (Okta, SailPoint, WorkOS) handle identity and authorization. But none of them ship the approval step — the part where a human sees rich context and makes an informed decision before an agent acts.
- 60-second setup —
npx create-sidclaw-appscaffolds a working governed agent - <50ms evaluation overhead — the governance layer is invisible to your users
- 5-minute integration — wrap existing tools, no code changes
- MCP-native — governance proxy for any MCP server
- Framework-agnostic — LangChain, Vercel AI, OpenAI, CrewAI, Pydantic AI, Composio, Claude Agent SDK, Google ADK, LlamaIndex, NemoClaw, or plain functions
- Typed SDKs — TypeScript (npm) + Python (PyPI)
- Policy engine — allow / approval_required / deny with priority ordering and classification hierarchy
- Approval workflow — context-rich cards with agent reasoning, risk classification, and separation of duties
- Audit trails — correlated traces with integrity hash chains (tamper-proof)
- SIEM export — JSON and CSV, continuous webhook delivery
- Compliance mapping — FINRA 2026, EU AI Act, NIST AI RMF
- RBAC — admin, reviewer, viewer roles with enforced permissions
- Tenant isolation — automatic tenant scoping on every query
- API key management — scoped keys with rotation
- Rate limiting — per-tenant, per-endpoint-category
- Webhooks — real-time notifications for approvals, traces, lifecycle events
- Chat integrations — approve/deny from Slack, Teams, or Telegram without opening the dashboard
- Self-serve signup — GitHub, Google, email/password
┌─────────────┐ ┌──────────────┐ ┌──────────────────┐
│ Your Agent │ │ SidClaw SDK │ │ SidClaw API │
│ │ ──► │ │ ──► │ │
│ LangChain │ │ evaluate() │ │ Policy Engine │
│ MCP Server │ │ withGovern() │ │ Approval Service │
│ OpenAI SDK │ │ governTools()│ │ Trace Store │
│ Any tool │ │ │ │ Webhook Delivery │
└─────────────┘ └──────────────┘ └──────────────────┘
│
┌────────┴────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Dashboard │ │ Notifications│
│ │ │ │
│ Agents │ │ Slack │
│ Policies │ │ Teams │
│ Approvals │ │ Telegram │
│ Traces │ │ Email │
│ Settings │ │ Webhooks │
└──────────────┘ └──────────────┘
Deploy from the GitHub repo to Railway. Add a PostgreSQL database, configure environment variables, and you're live.
Deploy the dashboard to Vercel (requires a separately hosted API).
curl -sSL https://raw.githubusercontent.com/sidclawhq/platform/main/deploy/self-host/setup.sh | bashOr manually:
git clone https://github.com/sidclawhq/platform.git
cd platform
cp deployment/env.example .env # edit with your values
docker compose -f docker-compose.production.yml up -dDevelopment credentials:
- Email:
admin@example.com/ Password:admin - Or click "Sign in with SSO" on the login page to auto-login without a password
No infrastructure to manage. Start free at app.sidclaw.com
See deployment documentation for production configuration, environment variables, and upgrade guides.
- Quick Start — 2 minutes to first governed action
- SDK Reference — every method documented
- Integrations — MCP, OpenClaw, NemoClaw, LangChain, OpenAI, Claude Agent SDK, Google ADK, Copilot Studio, GitHub Copilot, and more
- Policy Guide — authoring, versioning, testing
- Compliance — FINRA, EU AI Act, NIST AI RMF
- API Reference — every endpoint
We welcome contributions! See CONTRIBUTING.md for guidelines.
The SDK (packages/sdk/) is Apache 2.0. The platform (apps/) is FSL 1.1.
- SDK (
packages/sdk/,packages/shared/): Apache License 2.0 — use freely for any purpose - Platform (
apps/api/,apps/dashboard/,apps/docs/,apps/landing/,apps/demo*/): Functional Source License 1.1 — source-available. Cannot offer as a competing hosted service. Converts to Apache 2.0 after 2 years (March 2028).



