sseshachala/conductai

Runtime governance for AI agents. Allow, warn, or block every model and tool call before it commits. Hash-chained audit for every decision. Compliance packs for SOC 2, HIPAA, PCI DSS, EU AI Act, SR 11-7, and FDA CSA. Apache 2.0.

32

stars

3,950

commits

Python

primary language

Sep 7, 2026

updated

conductai.ai
ai-agents
claude
fastapi
llm
nextjs
yaml

README

Try Conduct — conductai.ai Star on GitHub License Apache 2.0 PyPI

Conduct

Governance for AI agents. Ship in 60 seconds.

pip install conduct-cli
conduct login
conduct sync

Every Claude Code, Cursor, Copilot, and Codex session on that machine is now governed. Blocks, warnings, and a hash-chained audit trail show up at conductai.ai.

Prefer to self-host?

git clone https://github.com/sseshachala/conductai && cd conductai && docker compose up
# API: localhost:8000  ·  Canvas UI: localhost:3000

Conduct dashboard — live run trace of an issue-to-PR agent


What Conduct is

A control plane for AI agents. One policy decides block / warn / audit / inject for every LLM call, every shell tool, every MCP invocation, before the action runs. Same policy applies to a scheduled agent, a developer running Cursor, and a chat session on the platform.

Three surfaces, one policy:

SurfaceWhat it does
GuardPolicy engine. Signed config, hash-chained audit, fail-closed.
RouterLLM proxy. Any SDK (Anthropic, OpenAI, Perplexity) points at it.
LensChat surface. Ask your workspace anything, every tool call runs through Guard.

Ask Lens

Lens chat — "how many guard blocks today", grounded in real audit data

Lens is the chat surface for the whole platform. One input covers Guard activity, workflow state, compliance status, agent spend. Answers come from your workspace data, not a general model. Ask "who got blocked today" and get a table with per-row drilldown links. Lens itself runs through Guard, so the assistant is bound by the same rules as the agents it reports on.


Governance, not observability

Runtime firewalls like Straiker and Lakera tell you what an agent did. Conduct decides what it can do.

Runtime firewallsConduct Guard
TimingAfter the actionBefore the action
Config integrityTrust the packWorkspace-signed
AuditLog streamSHA-256 hash chain
CoverageLLM calls onlyLLM, shell, MCP
Failure modeFail-openFail-closed

Three properties make the audit trail hold up in a room with an auditor:

  1. Signed config. Every workspace signs its active policy set. Every Guard check verifies the signature before enforcing. A tampered pack is rejected before it can decide anything.
  2. Hash-chained audit. Every decision appends to a SHA-256 chain rooted at workspace genesis. Missing or altered entries break the chain. Verifiable in one click.
  3. Policy-first, not detection-first. Rules decide before the action runs, with structured reasons. Not anomaly scoring after the fact.

Start free with Discovery

Discovery mode is read-only visibility into every AI action your team takes for 14 days. No policy to author, no upstream install, no cost. When you see something worth blocking, promote a rule from what Discovery already saw.

conductai.ai/sign-up


Router — one endpoint for any SDK

curl https://api.conductai.ai/proxy/anthropic/v1/messages \
  -H "Authorization: Bearer cond_agt_..." \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'

Every request runs through Guard (policy, budget, audit) before it reaches the upstream provider. Works with any SDK that speaks the provider's HTTP API.


What ships in this repo

ComponentPath
Guard runtimeapps/api/app/modules/guard/
Router (proxy)apps/api/app/modules/guard/routers/proxy.py
Compliance packsapps/api/app/modules/guard/skill_packs/
Canvas UIapps/web/
Playbook DSL loaderapps/api/app/dsl/
Playbook libraryapps/api/playbooks/ (22 pre-built)
CLIpackages/conduct-cli/

20+ compliance packs out of the box: OWASP, SOC 2 CC7.3, HIPAA §164.312, PCI DSS 4.0, EU AI Act Art. 15/16, NIST AI RMF, ISO 42001, plus Python, Node, and Terraform.

22 pre-built playbooks: issue-to-PR, code review, incident response, prod deploy gate, CI/CD triage, security scanner triage, Slack digest. One YAML file each. Edit and run.


Architecture at a glance

   Developer / agent                     Guard control plane
   ─────────────────                     ───────────────────
   Claude Code   ──┐                     ┌── Canvas UI (Next.js)
   Cursor        ──┤   CLI hook  ────►   ├── FastAPI + policy engine
   Copilot       ──┤   (cond_cli)        ├── Postgres (state, audit)
   Codex         ──┘                     ├── Redis (workers, queues)
                     ┌──── MCP  ────►    └── Hash chain (SHA-256)
   Any SDK       ────┤
   (Anthropic,       └── Router ────►    Upstream provider (Anthropic,
    OpenAI,             /proxy/*         OpenAI, Perplexity, ...)
    Perplexity)

Guard checks fire at three chokepoints:

  • CLI hook — every Claude Code / Cursor / Copilot / Codex tool call.
  • MCP layer — every MCP tool invocation.
  • Router — every LLM call by any SDK.

One policy, three enforcement surfaces.


Deployment

  • Self-host with docker compose — the command above. Runs everything locally.
  • Self-host on Kubernetes — deployment templates ship in issue #1149.
  • Hostedconductai.ai. Free tier includes Discovery; paid tiers unlock enforcement + Router + hash-chain verification API.

Security & Trust

  • SECURITY.md — vulnerability reporting policy, scope, coordinated disclosure, and safe harbor.
  • Threat model — system context, trust boundaries, attacker goals, mitigations, and residual risks.
  • Policy decision contractguard_check decision semantics and fail-mode behavior.
  • Audit log verification — independent prev_hash/entry_hash chain verification procedure and example script.
  • API versioning — proxy/MCP compatibility, deprecation windows, and OpenAPI publication guidance.

License

Apache License 2.0 — the entire repository, including the CLI, Guard, Router, Agent Booster, playbooks, and packs.

  • Free for commercial and non-commercial use, modification, and redistribution.
  • Includes an explicit patent grant from all contributors (Apache 2.0 §3).
  • Trademark rights are not granted; see NOTICE — "Conduct", "Conduct AI", and "Conduct Guard" remain trademarks of Conduct AI.
  • Redistribution must preserve the LICENSE and NOTICE files.

The hosted control plane at conductai.ai (canvas UI, team RBAC, marketplace, managed Guard) is a commercial offering built on top of this repository.

For enterprise support, indemnification, or licensing questions, email hello@conductai.ai.


Contributing

We accept bug reports, docs fixes, new playbooks, new packs, tests, and code. Read CONTRIBUTING.md first.

⭐ If Conduct saves your team time, star it — it helps other teams find it.

Contributors

sseshachala

3,926 commits

dependabot[bot]

24 commits

sseshachala/conductai

Runtime governance for AI agents. Allow, warn, or block every model and tool call before it commits. Hash-chained audit for every decision. Compliance packs for SOC 2, HIPAA, PCI DSS, EU AI Act, SR 11-7, and FDA CSA. Apache 2.0.

32

stars

3,950

commits

Python

primary language

Sep 7, 2026

updated

conductai.ai
ai-agents
claude
fastapi
llm
nextjs
yaml

README

Try Conduct — conductai.ai Star on GitHub License Apache 2.0 PyPI

Conduct

Governance for AI agents. Ship in 60 seconds.

pip install conduct-cli
conduct login
conduct sync

Every Claude Code, Cursor, Copilot, and Codex session on that machine is now governed. Blocks, warnings, and a hash-chained audit trail show up at conductai.ai.

Prefer to self-host?

git clone https://github.com/sseshachala/conductai && cd conductai && docker compose up
# API: localhost:8000  ·  Canvas UI: localhost:3000

Conduct dashboard — live run trace of an issue-to-PR agent


What Conduct is

A control plane for AI agents. One policy decides block / warn / audit / inject for every LLM call, every shell tool, every MCP invocation, before the action runs. Same policy applies to a scheduled agent, a developer running Cursor, and a chat session on the platform.

Three surfaces, one policy:

SurfaceWhat it does
GuardPolicy engine. Signed config, hash-chained audit, fail-closed.
RouterLLM proxy. Any SDK (Anthropic, OpenAI, Perplexity) points at it.
LensChat surface. Ask your workspace anything, every tool call runs through Guard.

Ask Lens

Lens chat — "how many guard blocks today", grounded in real audit data

Lens is the chat surface for the whole platform. One input covers Guard activity, workflow state, compliance status, agent spend. Answers come from your workspace data, not a general model. Ask "who got blocked today" and get a table with per-row drilldown links. Lens itself runs through Guard, so the assistant is bound by the same rules as the agents it reports on.


Governance, not observability

Runtime firewalls like Straiker and Lakera tell you what an agent did. Conduct decides what it can do.

Runtime firewallsConduct Guard
TimingAfter the actionBefore the action
Config integrityTrust the packWorkspace-signed
AuditLog streamSHA-256 hash chain
CoverageLLM calls onlyLLM, shell, MCP
Failure modeFail-openFail-closed

Three properties make the audit trail hold up in a room with an auditor:

  1. Signed config. Every workspace signs its active policy set. Every Guard check verifies the signature before enforcing. A tampered pack is rejected before it can decide anything.
  2. Hash-chained audit. Every decision appends to a SHA-256 chain rooted at workspace genesis. Missing or altered entries break the chain. Verifiable in one click.
  3. Policy-first, not detection-first. Rules decide before the action runs, with structured reasons. Not anomaly scoring after the fact.

Start free with Discovery

Discovery mode is read-only visibility into every AI action your team takes for 14 days. No policy to author, no upstream install, no cost. When you see something worth blocking, promote a rule from what Discovery already saw.

conductai.ai/sign-up


Router — one endpoint for any SDK

curl https://api.conductai.ai/proxy/anthropic/v1/messages \
  -H "Authorization: Bearer cond_agt_..." \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'

Every request runs through Guard (policy, budget, audit) before it reaches the upstream provider. Works with any SDK that speaks the provider's HTTP API.


What ships in this repo

ComponentPath
Guard runtimeapps/api/app/modules/guard/
Router (proxy)apps/api/app/modules/guard/routers/proxy.py
Compliance packsapps/api/app/modules/guard/skill_packs/
Canvas UIapps/web/
Playbook DSL loaderapps/api/app/dsl/
Playbook libraryapps/api/playbooks/ (22 pre-built)
CLIpackages/conduct-cli/

20+ compliance packs out of the box: OWASP, SOC 2 CC7.3, HIPAA §164.312, PCI DSS 4.0, EU AI Act Art. 15/16, NIST AI RMF, ISO 42001, plus Python, Node, and Terraform.

22 pre-built playbooks: issue-to-PR, code review, incident response, prod deploy gate, CI/CD triage, security scanner triage, Slack digest. One YAML file each. Edit and run.


Architecture at a glance

   Developer / agent                     Guard control plane
   ─────────────────                     ───────────────────
   Claude Code   ──┐                     ┌── Canvas UI (Next.js)
   Cursor        ──┤   CLI hook  ────►   ├── FastAPI + policy engine
   Copilot       ──┤   (cond_cli)        ├── Postgres (state, audit)
   Codex         ──┘                     ├── Redis (workers, queues)
                     ┌──── MCP  ────►    └── Hash chain (SHA-256)
   Any SDK       ────┤
   (Anthropic,       └── Router ────►    Upstream provider (Anthropic,
    OpenAI,             /proxy/*         OpenAI, Perplexity, ...)
    Perplexity)

Guard checks fire at three chokepoints:

  • CLI hook — every Claude Code / Cursor / Copilot / Codex tool call.
  • MCP layer — every MCP tool invocation.
  • Router — every LLM call by any SDK.

One policy, three enforcement surfaces.


Deployment

  • Self-host with docker compose — the command above. Runs everything locally.
  • Self-host on Kubernetes — deployment templates ship in issue #1149.
  • Hostedconductai.ai. Free tier includes Discovery; paid tiers unlock enforcement + Router + hash-chain verification API.

Security & Trust

  • SECURITY.md — vulnerability reporting policy, scope, coordinated disclosure, and safe harbor.
  • Threat model — system context, trust boundaries, attacker goals, mitigations, and residual risks.
  • Policy decision contractguard_check decision semantics and fail-mode behavior.
  • Audit log verification — independent prev_hash/entry_hash chain verification procedure and example script.
  • API versioning — proxy/MCP compatibility, deprecation windows, and OpenAPI publication guidance.

License

Apache License 2.0 — the entire repository, including the CLI, Guard, Router, Agent Booster, playbooks, and packs.

  • Free for commercial and non-commercial use, modification, and redistribution.
  • Includes an explicit patent grant from all contributors (Apache 2.0 §3).
  • Trademark rights are not granted; see NOTICE — "Conduct", "Conduct AI", and "Conduct Guard" remain trademarks of Conduct AI.
  • Redistribution must preserve the LICENSE and NOTICE files.

The hosted control plane at conductai.ai (canvas UI, team RBAC, marketplace, managed Guard) is a commercial offering built on top of this repository.

For enterprise support, indemnification, or licensing questions, email hello@conductai.ai.


Contributing

We accept bug reports, docs fixes, new playbooks, new packs, tests, and code. Read CONTRIBUTING.md first.

⭐ If Conduct saves your team time, star it — it helps other teams find it.

Contributors

sseshachala

3,926 commits

dependabot[bot]

24 commits

Languages

Python

57.0%

TypeScript

37.7%

HTML

3.9%