{"slug": "show-hn-conduct-open-source-guardrails-for-llm-and-mcp-tool-calls", "title": "Show HN: Conduct, open-source guardrails for LLM and MCP tool calls", "summary": "Conduct, an open-source runtime governance tool for AI agents, enforces a single policy across LLM and MCP tool calls before execution, with signed configuration and a SHA-256 hash-chained audit log. The project, available on GitHub, includes Conduct Guard (policy engine) and Conduct Router (LLM proxy), supporting providers like Anthropic, OpenAI, and Perplexity, and ships with 20+ compliance packs (OWASP, SOC 2, HIPAA, PCI DSS, EU AI Act) and 22 pre-built playbooks.", "body_md": "**Runtime governance for AI agents — one policy enforces across every LLM call, every shell tool, every teammate's AI session.**\n\nTwo product surfaces, one repo, one policy:\n\n**Conduct Guard**— the policy engine. Decides`block / warn / audit / inject`\n\nfor every AI action**before** it executes, backed by signed configuration and a hash-chained audit log.**Conduct Router**— the LLM proxy. Point any provider SDK (Anthropic, OpenAI, Perplexity) at Router and every request runs through Guard on the way to the upstream provider.\n\nRuntime firewalls like [Straiker](https://www.straiker.ai/) and [Lakera](https://www.lakera.ai/) tell you what an agent **did**. Guard controls what an agent **can do** — with cryptographic proof.\n\n| Runtime firewalls | Conduct Guard | |\n|---|---|---|\n| Timing | After the action | Before the action |\n| Config integrity | Trust the pack | Workspace-signed |\n| Audit | Log stream | SHA-256 hash chain |\n| Coverage | LLM calls only | LLM and shell / MCP |\n| Failure mode | Fail-open (soft) | Fail-closed by default |\n\n**The three-pillar moat:**\n\n**Signed configuration**— every workspace signs its active policy set. Every Guard check verifies the signature before enforcing. A tampered pack — pushed by anyone, at any layer — is rejected before it can decide anything.**Hash-chained audit**— every decision appends to a SHA-256 chain rooted at workspace genesis. Any missing or altered entry breaks the chain and is caught on one-click verification. Evidence you can hand to an auditor.**Policy-first, not detection-first**— rules decide before the action executes, with structured reasons. Not anomaly detection after the fact.\n\nNew here? Start with **Discovery mode**: read-only visibility into every AI action your team takes for 14 days. No policy to author, nothing to install upstream, no cost. When you're ready to enforce, promote a rule from what Discovery already saw.\n\n```\ngit clone https://github.com/sseshachala/conductai\ncd conductai\ndocker compose up\n```\n\n- API on\n`http://localhost:8000`\n\n(Guard + Router live at`/guard/*`\n\nand`/proxy/*`\n\n) - Canvas UI on\n`http://localhost:3000`\n\n- Redis worker + Postgres come up in the same stack\n\nPoint any provider SDK at Router:\n\n```\ncurl https://api.conductai.ai/proxy/anthropic/v1/messages \\\n  -H \"Authorization: Bearer cond_agt_...\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\":\"claude-sonnet-4-6\",\"max_tokens\":1024,\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}'\n```\n\nOr wrap your CLI hooks with Guard:\n\n```\npip install conduct-cli\nconduct login\nconduct sync        # installs hook + MCP, pulls policies\n```\n\nNow every Claude Code, Cursor, Copilot, ChatGPT, or Codex session on that machine is governed by the same active packs.\n\n| Component | Path |\n|---|---|\nGuard runtime |\n`apps/api/app/modules/guard/` |\nRouter (proxy) |\n`apps/api/app/modules/guard/routers/proxy.py` |\nCompliance packs |\n`apps/api/app/modules/guard/skill_packs/` |\nCanvas UI |\n`apps/web/` |\nPlaybook DSL loader |\n`apps/api/app/dsl/` |\nPlaybook library |\n`apps/api/playbooks/` (22 pre-built) |\nCLI |\n`packages/conduct-cli/` |\n\n**20+ compliance packs ship 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, and framework-specific packs for Python, Node, and Terraform.\n\n**22 pre-built playbooks:** Issue → PR, code review, incident response, prod deploy gate, CI/CD triage, security scanner triage, Slack digest, and more. Each is one YAML file; edit-and-run.\n\n```\n   Developer / agent                     Guard control plane\n   ─────────────────                     ───────────────────\n   Claude Code   ──┐                     ┌── Canvas UI (Next.js)\n   Cursor        ──┤   CLI hook  ────►   ├── FastAPI + policy engine\n   Copilot       ──┤   (cond_cli)        ├── Postgres (state, audit)\n   Codex         ──┘                     ├── Redis (workers, queues)\n                     ┌──── MCP  ────►    └── Hash chain (SHA-256)\n   Any SDK       ────┤\n   (Anthropic,       └── Router ────►    Upstream provider (Anthropic,\n    OpenAI,             /proxy/*         OpenAI, Perplexity, ...)\n    Perplexity)\n```\n\nGuard checks fire at three chokepoints:\n\n**CLI hook**— every Claude Code / Cursor / Copilot / Codex tool call.** MCP layer**— every MCP tool invocation.** Router**— every LLM call by any SDK.\n\nOne policy, three enforcement surfaces.\n\n**Self-host with docker compose**— the command above. Runs everything locally.** Self-host on Kubernetes**— deployment templates ship in[issue #1149](https://github.com/sseshachala/conductai/issues/1149).** Hosted**—[conductai.ai](https://conductai.ai). Free tier includes Discovery; paid tiers unlock enforcement + Router + hash-chain verification API.\n\n[SECURITY.md](/sseshachala/conductai/blob/main/SECURITY.md)— vulnerability reporting policy, scope, coordinated disclosure, and safe harbor.[Threat model](/sseshachala/conductai/blob/main/docs/threat-model.md)— system context, trust boundaries, attacker goals, mitigations, and residual risks.[Policy decision contract](/sseshachala/conductai/blob/main/docs/policy-decision-contract.md)—`guard_check`\n\ndecision semantics and fail-mode behavior.[Audit log verification](/sseshachala/conductai/blob/main/docs/audit-log-verification.md)— independent`prev_hash`\n\n/`entry_hash`\n\nchain verification procedure and example script.[API versioning](/sseshachala/conductai/blob/main/docs/api-versioning.md)— proxy/MCP compatibility, deprecation windows, and OpenAPI publication guidance.\n\n** Apache License 2.0** — the entire repository, including the CLI, Guard, Router, Agent Booster, playbooks, and packs.\n\n- Free for commercial and non-commercial use, modification, and redistribution.\n- Includes an explicit patent grant from all contributors (Apache 2.0 §3).\n- Trademark rights are not granted; see\n[NOTICE](/sseshachala/conductai/blob/main/NOTICE)— \"Conduct\", \"Conduct AI\", and \"Conduct Guard\" remain trademarks of Conduct AI. - Redistribution must preserve the\n`LICENSE`\n\nand`NOTICE`\n\nfiles.\n\nThe hosted control plane at [conductai.ai](https://conductai.ai) (canvas UI, team RBAC, marketplace, managed Guard) is a commercial offering built on top of this repository.\n\nFor enterprise support, indemnification, or licensing questions, email ** hello@conductai.ai**.\n\nWe accept bug reports, docs fixes, new playbooks, new packs, tests, and code. Read [CONTRIBUTING.md](/sseshachala/conductai/blob/main/CONTRIBUTING.md) first.\n\n- Everyone participating agrees to the\n[Code of Conduct](/sseshachala/conductai/blob/main/CODE_OF_CONDUCT.md). - Security vulnerabilities: don't open a public issue. See\n[SECURITY.md](/sseshachala/conductai/blob/main/SECURITY.md). - Anything else:\n[GitHub Discussions](https://github.com/sseshachala/conductai/discussions)or[SUPPORT.md](/sseshachala/conductai/blob/main/SUPPORT.md).\n\n**Product:**[conductai.ai](https://conductai.ai)** Guard landing:**[conductai.ai/guard](https://conductai.ai/guard)** Router landing:**[conductai.ai/router](https://conductai.ai/router)** Docs:**[conductai.ai/docs](https://conductai.ai/docs)** Discussions:**[github.com/sseshachala/conductai/discussions](https://github.com/sseshachala/conductai/discussions)** Changelog:**[CHANGELOG.md](/sseshachala/conductai/blob/main/CHANGELOG.md)+[Releases](https://github.com/sseshachala/conductai/releases)**Book a demo:**[cal.com/sudhi-seshachala-pks7pd](https://cal.com/sudhi-seshachala-pks7pd)\n\n⭐ If Conduct saves your team time,[star it]— it helps other teams find it.", "url": "https://wpnews.pro/news/show-hn-conduct-open-source-guardrails-for-llm-and-mcp-tool-calls", "canonical_source": "https://github.com/sseshachala/conductai", "published_at": "2026-08-28 19:29:20+00:00", "updated_at": "2026-08-28 19:48:59.383822+00:00", "lang": "en", "topics": ["ai-safety", "ai-policy", "ai-tools", "ai-agents", "developer-tools"], "entities": ["Conduct", "Conduct Guard", "Conduct Router", "Anthropic", "OpenAI", "Perplexity", "Straiker", "Lakera"], "alternates": {"html": "https://wpnews.pro/news/show-hn-conduct-open-source-guardrails-for-llm-and-mcp-tool-calls", "markdown": "https://wpnews.pro/news/show-hn-conduct-open-source-guardrails-for-llm-and-mcp-tool-calls.md", "text": "https://wpnews.pro/news/show-hn-conduct-open-source-guardrails-for-llm-and-mcp-tool-calls.txt", "jsonld": "https://wpnews.pro/news/show-hn-conduct-open-source-guardrails-for-llm-and-mcp-tool-calls.jsonld"}}