/dashboard

Where your security team actually operates.

17 pages, 32 API routes, real-time WebSocket risk feed, Monaco-powered policy editor with hot reload, custom rules DSL, agent registry with scoped credentials, kill switch, audit trail with PII tokenisation, RBAC, OIDC SSO. Hosted at app.clampd.dev or self-hosted in your VPC.

Stack: Next.js 16 ยท React 19 ยท Fastify 5 ยท Drizzle ยท Postgres Routes: 17 dashboard pages ยท 32 API endpoints Live: WebSocket risk feed ยท WS-driven kill propagation

What dashboard is for (and isn't)

Dashboard is the operational surface: kill an agent right now, suspend one, edit a policy, approve a tool descriptor, change a threshold, manage members. Real-time, action-oriented, used during incidents and during normal ops by SecOps and SREs.

Two adjacent surfaces are being split into separate products. Clampd is open-core (gateway and guard source-available under BSL-1.1; control plane proprietary) with a Free tier (Design Partner) and an Enterprise tier; the raw audit data lives in your own ClickHouse / Postgres on every tier and is queryable directly. The maintained workflows on top are Enterprise.

You can rebuild any of the Enterprise workflows yourself from the raw event data. The paid tier exists so you don't have to maintain those templates as regulations change. There's no encryption-with-vendor-key gating; your data is yours either way.

Operational data flow

data in ag-gateway events ag-intent decisions ag-policy verdicts ag-risk live scores ag-kill cascade state Dashboard backend (ag-control) WS + HTTP, live state, audit emit on every mutation operator actions out Kill agent to ag-kill Suspend to ag-control Edit policy to ag-policy Approve descriptor to registry Change threshold to ag-risk Dashboard UI in browser Next.js, WebSocket subscriber live state operator intent Dashboard never writes to Redis directly. Every mutation goes through ag-control, audited.

Every operator action goes through ag-control. The dashboard is a thin UI on top of an audited control plane.

The 17 management pages

Overview /

Live operational view. Active agents, recent denials, top matched rules, current EMA risk distribution, throughput.

Agents /agents

Agent registry with scoped credentials. Per-agent state (active / suspended / killed), boundary config, recent calls.

Kill /kill

Emergency kill switch. Per-agent kill, descendant cascade option, per-layer cascade results, idempotent.

Policies /policies

Cedar policy editor with Monaco, syntax highlighting, validation, hot-reload across the fleet within seconds.

Rules /rules

Custom rules DSL. Browse the 287 built-ins by category, OWASP LLM tag, or regulation. Add / disable / score-tune.

Tool descriptors /tool-descriptors

Discovered tools awaiting category assignment. SHA-256 descriptor hashes for rug-pull detection. Approve/deny.

Audit trail /audit-trail

SQL-queryable ClickHouse audit. Filter by tool, agent, denial reason, time. PII automatically tokenised.

Delegation /delegation

Agent-to-agent delegation graph. Approved peer relationships, depth limits, cycle detection.

Delegation analytics /delegation-analytics

Per-pair call counts, cross-agent risk patterns, escalation chains over time.

Thresholds /thresholds

Per-org tuning of risk thresholds (block, flag, auto-suspend EMA), gray-zone bounds for LLM judge.

Scope exemptions /scope-exemptions

Every built-in rule is tagged exemptable or never-exemptable across the 287-rule set. Granted scopes per agent, expiry, full audit on every approve.

Workflows /workflows

Approval workflows for high-risk actions. Slack approval, multi-step gates, expiry.

Protected entities /protected-entities

Tag specific resources (DBs, repos, customers) as protected; policies fire when an agent touches them.

Keywords /keywords

Custom keyword dictionaries, your industry's PII patterns, internal product names, competitor mentions.

API keys /api-keys

Org-scoped API keys with permissions (read / write / kill). Rotation, last-used timestamps.

Bundles /bundles

Pre-built rule packs (industry-specific, OWASP-aligned, compliance-driven). Install with one click.

Settings /settings

Org config, OIDC SSO (Okta / Azure AD / Keycloak), members + RBAC, billing, webhooks, Slack/PagerDuty.

Architecture

The dashboard is a read and command surface only; it never writes to runtime state directly.

Web: Next.js 16.1 + React 19.2 (App Router) API: Fastify 5 ORM: Drizzle DB: PostgreSQL 16 Audit: ClickHouse 24 Live feed: WebSocket โ†’ ag-risk Auth: JWT (HS256) + OIDC SSO Billing: Stripe
Architectural rule we don't break

The dashboard never writes directly to Redis. Every runtime state mutation (kill, suspend, scope grant, policy update) goes through ag-control over WebSocket / HTTP, which validates and emits the audit event. This means a compromised dashboard can't bypass the audit trail or skip cascade layers, every operator action is reproducible from logs.

Compliance + governance features

Hosted or self-hosted

Both options run identical code. The hosted version (app.clampd.dev) is appropriate for teams that want zero infrastructure. The self-hosted version is for regulated industries, air-gapped environments, or teams that already have Kubernetes / Docker Compose practice. Stack, schema, and feature parity are the same.

Sign in or self-host

Hosted at app.clampd.dev, JWT auth, free tier under 25 agents, no credit card. Self-hosted via Docker Compose with full feature parity.

Sign In to Hosted โ†’ Self-Host