Portarium
Open-source policy control plane for autonomous agents (OpenClaw and beyond) across software and robots.
Architecture
Portarium sits between people and execution systems:
- Top: agents, automations, OpenClaw, physical robots
- Middle: Portarium control plane (policy, approvals, orchestration, evidence)
- Bottom: services, software, APIs, and tools
Core promise: agents can think and propose actions, but policy and approvals decide what executes.
Feature Showcase
Approvals UX v2 (Cockpit)
The approvals v2 flow in Cockpit demonstrates fast triage with policy context, decision rationale capture, and evidence-linked run governance.
Tinder-Style AI Approvals (OpenClaw, iPhone)
Portarium acts as the control-plane for autonomous agents: OpenClaw can propose actions, but execution is gated by policy and manual approvals. The mobile triage flow is Tinder-style card review: policy determines what is auto-approved, what needs a swipe decision, and what is blocked.
- MP4 showcase: openclaw-tinder-approvals-iphone.mp4
- Generation command:
npm run cockpit:demo:openclaw:iphone - Desktop OpenClaw clips:
npm run cockpit:demo:openclaw:clips
OpenClaw Governance Clips (Desktop)
- Heartbeat Watchtower: openclaw-heartbeat-watchtower-desktop.mp4
- Destructive action blocked: openclaw-destructive-blocked-desktop.mp4
- Cron and sub-agent governance: openclaw-cron-subagent-desktop.mp4
Why Portarium
- Governed execution tiers:
Auto,Assisted,Human-approve,Manual-only - Explicit approvals and workspace-scoped operations
- Evidence-first operation history for audit and review
- Ports/Adapters model for integrating existing systems of record
Discoverability Topics
Use these repository topics/tags for GitHub discoverability:
control-planeai-governanceagent-safetyhuman-in-the-looppolicy-engineapproval-workflowsopenclawrobotics-governanceenterprise-securityrisk-controls
Agent Traffic Controller
Portarium acts as the agent traffic controller: agents submit intended actions to the control plane, Portarium evaluates policy and approvals, executes via connectors, and returns evidence-backed results.
Quickstart
Prerequisites: Node.js >=22, Docker + Docker Compose, npm
npm ci
# Start infrastructure (choose the profiles you need):
# baseline — Postgres only (unit tests + migrations)
# runtime — + Temporal + MinIO evidence store
# auth — + HashiCorp Vault
# tools — + OTel Collector + Tempo + Grafana
COMPOSE_PROFILES=baseline,runtime,auth docker compose up -d
PORTARIUM_USE_POSTGRES_STORES=true PORTARIUM_DATABASE_URL=postgresql://portarium:portarium@localhost:5432/portarium \
npx tsx src/presentation/runtime/control-plane.ts
Store configuration required. The control plane will refuse to start unless either:
PORTARIUM_USE_POSTGRES_STORES=true+PORTARIUM_DATABASE_URLis set (real Postgres), orDEV_STUB_STORES=true+NODE_ENV=developmentortest(in-memory stubs for local iteration only — data does not persist).Setting neither will produce a FATAL startup error. This prevents silently deploying a non-functional system.
In another terminal:
PORTARIUM_ENABLE_TEMPORAL_WORKER=true npx tsx src/presentation/runtime/worker.ts
Health checks:
curl -s http://localhost:8080/healthz
curl -s http://localhost:8081/healthz
Docs
- If you only read one page next:
docs/index.md - Evaluate in 15-30 min:
docs/getting-started/hello-portarium.md - Run the local stack:
docs/getting-started/local-dev.md - Understand the architecture:
docs/explanation/architecture.md - Agent traffic controller model:
docs/explanation/agent-traffic-controller.md - API contract (OpenAPI):
docs/spec/openapi/portarium-control-plane.v1.yaml - HTTP API reference:
docs/reference/http-api.md - Integration model:
docs/explanation/ports-and-adapters.md - Contribution flow:
CONTRIBUTING.md
Cockpit Showcase

See scripted demo specs and capture docs at docs/internal/ui/cockpit/demo-machine/README.md.
Status
Early and actively built. Runtime and contract foundations are in place; some integration and persistence paths are still scaffold-stage.
License
Released under the MIT License. See LICENSE.
No comments yet.