loading…
Search for a command to run...
loading…
The Control Plane for Autonomous AI Enforce policy before execution, require human approvals where risk demands it, and keep a full audit trail — from first act
The Control Plane for Autonomous AI Enforce policy before execution, require human approvals where risk demands it, and keep a full audit trail — from first action to final result.
Know What Your AI Agents Are Doing. Before They Do It.
The Source-Available Agent Control Plane for Governance, Safety, and Trust.
Discord · Discussions · Docs
One command stands up the full stack — API gateway, scheduler, safety kernel, workflow engine, context engine, dashboard, NATS, and TLS-secured Redis — with auto-generated secrets, auto-provisioned certificates, and a post-deploy smoke test that exercises a real approval workflow:
git clone https://github.com/cordum-io/cordum.git
cd cordum
./tools/scripts/quickstart.sh
Prerequisites: Docker Desktop v4+ (or Engine v20.10+ with Compose v2,
≥ 4 GB RAM allocated), Go 1.24+ (for first-run cert generation), and
curl. On Windows use MSYS2 / Git Bash / WSL.
What you get at the end:
CORDUM_API_KEY in
.env../certs/.platform_smoke.sh run.Full walkthrough, platform notes, and troubleshooting: docs/quickstart.md.
Once the stack is up, install the demo-quickstart pack and run the
governance demo:
cordumctl pack install ./demo/quickstart/pack
cordumctl demo run quickstart
A single hello, operator! workflow fans out to three topics and
exercises every safety-kernel decision class in under 30 seconds:
+--------------------+--------------------------+--------------------+---------
| Step | Topic | Verdict | Reason
+--------------------+--------------------------+--------------------+---------
| greet | job.demo-quickstart.greet | ALLOW | Safe…
| attempt_delete | job.demo-quickstart.delete-all | DENY | Block…
| escalate_admin | job.demo-quickstart.admin | REQUIRE_APPROVAL | Sign…
+--------------------+--------------------------+--------------------+---------
Full walkthrough, rule-by-rule explanation, and extension recipe: demo/quickstart/README.md.
Enterprises are rushing to deploy Autonomous AI Agents, but they're hitting a wall of risk. According to Gartner, 74% of enterprises see AI agents as a new attack vector, and over 40% of agentic AI projects will be canceled due to inadequate risk controls.
The current landscape leaves teams with a choice:
Without a dedicated governance layer, you're flying blind:
Cordum is an Agent Control Plane that provides a deterministic governance layer for probabilistic AI minds. It allows you to define, enforce, and audit the behavior of your Autonomous AI Agents across any framework or model.
graph TB
subgraph CP [AGENT CONTROL PLANE]
direction LR
G[API Gateway] --- S[Scheduler] --- SK[Safety Kernel]
S --- WE[Workflow Engine]
end
subgraph AGENTS [AUTONOMOUS AGENT POOLS]
direction LR
A1[Financial Ops]
A2[Data Science]
A3[Customer Service]
end
CP -->|Governed Jobs| AGENTS
AGENTS -->|Audit Trail| CP
Cordum's Before/During/Across framework provides exhaustive control over your agent operations:
graph LR
subgraph BEFORE [1. BEFORE - Governance]
P[Policy Evaluation] --> S[Safety Gating]
S --> H[Human Approval]
end
subgraph DURING [2. DURING - Safety]
M[Real-time Monitoring] --> C[Circuit Breakers]
C --> A[Live Approvals]
end
subgraph ACROSS [3. ACROSS - Observability]
F[Fleet Health] --> T[Audit Trail]
T --> O[Optimization]
end
BEFORE --> DURING
DURING --> ACROSS
| Goal | Path |
|---|---|
| Just want to try it? | ./tools/scripts/quickstart.sh — one-command install from source (guide) |
| Run the full stack from pre-built images? | docker compose pull && docker compose up -d (below) — once release images ship to ghcr.io |
| Developing Cordum? | See Development |
git clone https://github.com/cordum-io/cordum.git
cd cordum
export CORDUM_API_KEY=$(openssl rand -hex 32)
export REDIS_PASSWORD=$(openssl rand -hex 16)
docker compose pull # pulls every Cordum service from ghcr.io
docker compose up -d # starts the stack — no source build needed
Dashboard: http://localhost:8082
Login: admin / admin123 (change in .env → CORDUM_ADMIN_PASSWORD)
Pin a specific release by exporting CORDUM_VERSION=1.2.3 before
docker compose pull. Defaults to :latest, which only moves on stable
release tags (pre-release suffixes such as -rc.1 never promote
:latest).
Every release-tag image is signed with cosign keyless OIDC. Verify before deploying to production:
cosign verify ghcr.io/cordum-io/cordum/api-gateway:1.2.3 \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp 'https://github\.com/cordum-io/cordum/\.github/workflows/docker\.yml@refs/tags/v.*'
See docs/deployment/images.md for the full image catalogue, multi-arch pull instructions, and tag policy.
cp .env.example .env
# Edit .env: set CORDUM_API_KEY (or generate: openssl rand -hex 32)
export CORDUM_API_KEY="your-key-here"
go run ./cmd/cordumctl up
open http://localhost:8082
helm install cordum oci://ghcr.io/cordum-io/cordum/charts/cordum \
--namespace cordum --create-namespace \
--set secrets.apiKey=$(openssl rand -hex 32) \
--set redis.auth.password=$(openssl rand -hex 32) \
--set ingress.enabled=true \
--set ingress.className=nginx \
--set ingress.api.host=api.cordum.example.com \
--set ingress.dashboard.host=cordum.example.com
See cordum-helm/ for the full Helm chart reference. Chart also available on Artifact Hub.
Container images (multi-arch: linux/amd64 + linux/arm64):
| Image | GHCR | Docker Hub |
|---|---|---|
api-gateway |
ghcr.io/cordum-io/cordum/api-gateway | cordum/api-gateway |
scheduler |
ghcr.io/cordum-io/cordum/scheduler |
cordum/scheduler |
safety-kernel |
ghcr.io/cordum-io/cordum/safety-kernel |
cordum/safety-kernel |
workflow-engine |
ghcr.io/cordum-io/cordum/workflow-engine |
cordum/workflow-engine |
context-engine |
ghcr.io/cordum-io/cordum/context-engine |
cordum/context-engine |
mcp |
ghcr.io/cordum-io/cordum/mcp |
cordum/mcp |
dashboard |
ghcr.io/cordum-io/cordum/dashboard |
cordum/dashboard |
Full catalogue, tag policy, cosign verification recipe, and multi-arch notes: docs/deployment/images.md.
| Port | Service |
|---|---|
| 8082 | Dashboard |
| 8081 | API Gateway (HTTPS) |
| 9080 | gRPC Gateway |
| 4222 | NATS |
| 6379 | Redis |
| 9092 | Gateway Metrics |
| 9093 | Workflow Engine Health |
| 50051 | Safety Kernel (gRPC) |
| 50400 | Context Engine (gRPC) |
Port conflicts? If any port is already in use, either stop the conflicting service or override ports in your
.envfile before starting the stack.
# Submit a test job
curl -sS --cacert ./certs/ca/ca.crt \
-X POST https://localhost:8081/api/v1/jobs \
-H "X-API-Key: $CORDUM_API_KEY" -H "X-Tenant-ID: default" \
-H "Content-Type: application/json" \
-d '{"topic":"job.default","context":{"prompt":"hello"}}'
# Stop the stack
docker compose down
# View logs
docker compose logs -f api-gateway
| Issue | Fix |
|---|---|
| Port already in use | docker compose down then retry, or check lsof -i :8082 |
| Docker out of memory | Allocate at least 4 GB RAM to Docker Desktop |
| Can't login to dashboard | Default credentials: admin / admin123 |
| TLS/SSL cert errors | Remove ./certs/ and re-run — certs auto-regenerate |
openssl not found |
Not needed — quickstart.sh auto-generates keys without it |
| Go build fails | Requires Go 1.24+ — check with go version |
| Stale config after changes | redis-cli DEL cfg:system:default then restart |
For detailed troubleshooting, see docs/troubleshooting.md.
The published-images path above pulls Cordum binaries from ghcr.io.
Contributors who need to rebuild from source use the development override
file:
make dev-up # docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
make dev-logs # tail compose logs
make dev-down # docker compose down
docker-compose.dev.yml re-pins every Cordum service to a local
cordum/<name>:dev tag and forces the build: context, so source
changes are reflected on the next --build. Upstream images (NATS,
Redis) are untouched. See Makefile and docker-compose.dev.yml for
full details.
Other useful contributor commands:
| Command | Purpose |
|---|---|
make build |
Build every service binary into bin/ (wraps make proto first). |
make build SERVICE=cordumctl |
Build a single service. |
make test |
Run the full Go test suite. |
make smoke |
Quick post-deploy smoke against a running stack. |
| Governance Feature | Why It Matters for Enterprise |
|---|---|
| Safety Gating | Prevents agents from executing destructive or unauthorized actions before they occur. |
| Output Quarantine | Automatically blocks PII leaks, secrets, or hallucinated results from reaching the client. |
| Human-in-the-Loop | Mandates human oversight for high-risk operations (e.g., financial transfers, prod access). |
| Pool Segmentation | Ensures sensitive data only reaches agents in trusted environments. |
| Deterministic Audit | Prove exactly why a decision was made with a full chain-of-thought audit trail. |
| Governance Policies | Declarative YAML-based rules that map enterprise risk to agent behavior. |
| Policy Simulator | Test your governance rules against historical data before rolling them out to production. |
cordum/
├── cmd/ # Service entrypoints + CLI
│ ├── cordum-api-gateway/ # API gateway (HTTP/WS + gRPC)
│ ├── cordum-scheduler/ # Scheduler + safety gating
│ ├── cordum-safety-kernel/ # Policy evaluation
│ ├── cordum-workflow-engine/ # Workflow orchestration
│ ├── cordum-context-engine/ # Optional context/memory service
│ └── cordumctl/ # CLI
├── core/ # Core libraries
│ ├── controlplane/ # Gateway, scheduler, safety kernel
│ ├── context/ # Context engine implementation
│ ├── infra/ # Config, storage, bus, metrics
│ ├── protocol/ # API protos + CAP aliases
│ └── workflow/ # Workflow engine
├── dashboard/ # React UI
├── sdk/ # SDK + worker runtime
├── cordum-helm/ # Helm chart
├── deploy/k8s/ # Kubernetes manifests
└── docs/ # Documentation
| Doc | Description |
|---|---|
| System Overview | Architecture and data flow |
| Core Reference | Deep technical details |
| Docker Guide | Running with Compose |
| Agent Protocol | CAP bus + pointer semantics |
| MCP Server | MCP stdio + HTTP/SSE integration |
| Pack Format | How to package agent capabilities |
| Local E2E | Full local walkthrough |
| Production Guide | TLS, HA, backups, incident runbooks |
Cordum implements CAP (Cordum Agent Protocol), an open protocol specifically designed for distributed AI agent governance. CAP provides a unified interface for defining agent capabilities, submitting jobs, and enforcing safety policies across heterogeneous agent pools.
While both are essential, they solve different parts of the agent stack:
| Protocol | Focus | Level | Responsibility |
|---|---|---|---|
| MCP (Model Context Protocol) | Tool Calling | Local | How a model interacts with a tool. |
| CAP (Cordum Agent Protocol) | Governance | Network | How an agent is governed within an enterprise. |
Use CAP for high-level orchestration and safety gating, and MCP inside your agents for fine-grained tool integration.
Read the full deep dive: MCP vs CAP: Why Your AI Agents Need Both Protocols
Cordum includes an MCP server framework with:
cmd/cordum-mcp (for Claude Desktop/Code local integration)/mcp/message and /mcp/sse (when mcp.enabled=true)See docs/mcp-server.md for setup, auth headers, and client configuration examples.
The Go SDK makes it easy to build CAP-compatible workers:
import (
"log"
"github.com/cordum/cordum/sdk/runtime"
)
type Input struct {
Prompt string `json:"prompt"`
}
type Output struct {
Summary string `json:"summary"`
}
func main() {
agent := &runtime.Agent{Retries: 2}
runtime.Register(agent, "job.summarize", func(ctx runtime.Context, input Input) (Output, error) {
// Your agent logic here
return Output{Summary: input.Prompt}, nil
})
if err := agent.Start(); err != nil {
log.Fatal(err)
}
select {}
}
SDKs: Go (stable) | Python | Node
Extend Cordum with 30+ integration packs for Slack, GitHub, AWS, Jira, Terraform, Datadog, PagerDuty, and more. Each pack is a CAP-native worker with policy-gated workflows.
| Pack | Category | Description |
|---|---|---|
| Slack | Communication | Approval notifications and agent alerts |
| GitHub | DevOps | Govern agent actions on repositories |
| AWS | Cloud | Policy-gated cloud operations |
| Kubernetes | DevOps | Governed incident remediation |
| Terraform | DevOps | Pre-apply governance for IaC |
| Datadog | Monitoring | Alert-triggered governed workflows |
| LangChain | AI Framework | Governance for LangChain tool calls |
| MCP Bridge | AI Framework | Gateway governance for MCP tools |
Cordum Enterprise features (shipped in core, unlocked by license entitlement):
See docs/enterprise.md for the full entitlement matrix.
The formerly separate cordum-enterprise repo was retired 2026-04-23.
Cordum follows a transparent governance model with a protocol stability pledge, maintainer structure, and clear decision-making process. See GOVERNANCE.md for details including:
See ROADMAP.md for the full feature roadmap, completed milestones, and planned work.
See CHANGELOG.md for a detailed log of all changes by version.
| Feature | Cordum | Guardrails AI | NeMo Guardrails | Custom Middleware |
|---|---|---|---|---|
| Pre-execution policy engine | ✅ Safety Kernel | ❌ Post-generation | ⚠️ Dialog rails only | ⚠️ Manual |
| Human-in-the-loop approvals | ✅ Built-in | ❌ | ❌ | ⚠️ DIY |
| Multi-agent fleet governance | ✅ | ❌ Single model | ❌ Single model | ❌ |
| Deterministic audit trail | ✅ | ❌ | ❌ | ⚠️ Manual |
| Framework agnostic | ✅ Any via CAP | ❌ Python only | ❌ NVIDIA stack | ❌ |
| MCP governance | ✅ Bridge + Gateway | ❌ | ❌ | ❌ |
We welcome contributions! See CONTRIBUTING.md for guidelines. Check out our good first issues to get started.
Licensed under Business Source License 1.1 (BUSL-1.1).
See LICENSE for full terms.
Ready to govern your AI agents?
CAP Protocol · Integrations · Discord
If Cordum helps you deploy agents safely, give it a ⭐
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"cordum-io": {
"command": "npx",
"args": []
}
}
}