HomeGet Started

Self-host your own governance control plane

Free to deploy. You own the data. Run doctor, connect your first agent, and verify the first decision record in under 10 minutes.

Expected proof after deploy

npm run doctor or dashclaw doctor exits 0 or names the blocker. Your first governed action appears in /decisions, held work appears in /approvals, and /api/setup/live-proof can capture setup evidence without exposing secrets.

Cloud (recommended)

Vercel + Neon free tiers. Zero cost, accessible from any device, auto-HTTPS. Takes ~10 minutes.

Local

Docker + localhost. Good for development or if you want everything on your machine.

Verify

Confirm your deployment is healthy

Doctor diagnoses database, configuration, auth, deployment, SDK reachability, governance staleness, data hygiene, shape drift, and write-path health (live canary writes that prove heartbeats, action records, and guard audit rows actually land: synthetic, isolated, self-cleaning). It reports by default; pass --fix to apply safe repairs. Run it as the first thing after your instance comes up.

The live host canary covers the outside-in half: an hourly GitHub Actions cron probes your deployed hosts as a real unauthenticated client (pages render, trial mint stays fail-closed, OAuth discovery and the MCP handshake answer their contracts) and files its verdict to your instance; failures render on /setup#live-canary and raise a posture finding.

Operator (on the host)

npm run doctor

Filesystem-level fixes. Can write missing env vars to .env (always backed up first), run pending DB migrations, generate NEXTAUTH_SECRET/ENCRYPTION_KEY, fix CORS, and seed a default policy.

npm run doctor
Anyone with an API key

dashclaw doctor

Same engine, invoked via GET /api/doctor + POST /api/doctor/fix. No filesystem access. Add --json for CI, --no-fix to diagnose only.

npm install -g @dashclaw/cli
dashclaw doctor

Exit codes: 0 healthy, 1 warnings, failures, or unreachable.

Approve from anywhere

Resolve pending actions without opening the dashboard

Every instance exposes four approval surfaces against the same /api/approvals/:id endpoint. Pick whichever your on-call workflow prefers. waitForApproval unblocks the agent within about a second regardless of which surface resolved the action.

Mobile PWA

/approve

Phone-first approval surface. Add to your home screen and incoming approvals appear with the triggering policy, risk score, and one-tap Allow / Deny.

https://<your-instance>/approve
Telegram bot (optional)

Inline Approve / Reject

Pending actions push to an admin chat with inline buttons. If Telegram is unreachable, DashClaw warn-logs and approvals stay available via the other surfaces; it is purely additive.

dashclaw install telegram

Dashboard (/approvals) and CLI (dashclaw approve) are always on. Mobile PWA ships by default; Telegram is opt-in via TELEGRAM_BOT_TOKEN.

What you just deployed

Your DashClaw instance ships with the full governance API surface. Every feature works out of the box -- no LLM API key required.

Governance

  • Decision audit trail with full action traces
  • Behavior guard -- no-code policy decisions (mechanically enforced on hook and capability surfaces)
  • Policy pack gallery on /policies/packs -- 18 curated packs (spend, outbound comms, unattended runs, infra, fleets, and more), each previewable against your own action history before a one-click install
  • Human-in-the-loop approval gates with expiry (a lapsed approval can never release work)
  • Preflight plan authorization -- an agent submits its plan, you review one card with per-step verdicts, approved steps become single-use act-bound grants
  • Plan deviation events -- every governed action is diffed against the live approved plan; departures (substituted payloads, scope escapes, off-plan actions) are always recorded, and consequence is your explicit per-kind policy choice
  • Scoped delegation constraints -- cap a spawned subagent's risk, action types, paths, and depth; attenuation only tightens
  • Role constraints -- a named authority bundle per agent role (allowed action types, risk ceiling, path scope); anything outside the role escalates to your inbox
  • Containment verdicts -- a file-scoped edit can proceed reversibly instead of freezing: staged in an isolated worktree, you promote or discard the diff on your own time
  • Approval flood guard with bulk resolution
  • Plain-English approvals -- every pending item leads with one sentence for what the command actually does, flags what cannot be undone, and shows the exact command underneath
  • One judgment queue on /policies -- tuning, tightening, loosening, and calibration proposals with ratify/dismiss/undo in one click
  • Calibrated interruption controller on /calibration -- set a target false-interruption rate, hold it with a distribution-free bound; shadow first, then relief mode stops it asking about the things you keep approving (never past your own riskiest approval, and one deny takes the band back)
  • External decision provider -- plug one outside decision engine into the guard; its verdict joins stricter-wins (its deny is absolute, its allow never loosens), with an explicit fail-closed posture when it is unreachable and an optional action-type scope for domain-specific providers
  • Guard degradation observability (deadline fallbacks surfaced, never silent)
  • Prompt injection scanning

Observability

  • Real-time SSE event stream
  • Token usage and per-action cost recorded on every decision
  • Risk signal monitoring (autonomy spikes, repeated failures, assumption drift, stale actions)
  • Coverage truth -- record-vs-recorded tool-use coverage with an explicit "no evidence" state, plus close_source outcome provenance
  • Fleet attribution -- multi-agent fan-outs joined from persisted lineage evidence
  • Risk composition ledger -- every guard score itemized (risk_breakdown)
  • Session retros -- evidence-based end-of-session defensibility review

Audit & Evidence

  • Signed, replayable audit trail (Ed25519 receipts, JWKS export)
  • Evidence packaging (guard decisions + action records)
  • Tamper-evident proof of what was blocked, approved, and by whom

Security

  • Verified agent identity (JWKS / JWT verification)
  • Per-harness composed identities (parent:sub) with fleet grouping
  • agent_defense rollup -- the agent's advocate on every action detail
  • Automatic secret redaction
  • Assumption tracking with one-click invalidation and drift reports
  • Content scanning for sensitive data

Platform

  • Multi-tenant org isolation
  • HMAC-signed webhooks
  • Full activity audit log
  • Docker + Vercel + any Node.js host

All features are free, self-hosted, and work without any external AI provider. The governance core (guard, policies, approvals, and action recording) is pure runtime logic with no LLM dependency.

Alternative: Local Setup

Run locally with Docker

The installer generates secrets, writes .env.local, installs dependencies, and prints the API key your agents should use.

Windows (PowerShell)
./install-windows.bat
Mac / Linux (bash)
bash ./install-mac.sh

When it finishes, open http://localhost:3000.

6

Optional: enable verified agents

For cryptographic identity binding, set ENFORCE_AGENT_SIGNATURES=true on the dashboard host. The Python SDK's create_pairing_from_private_jwk() helper generates a keypair and registers the public key via POST /api/pairings; an admin then approves the pairing in the dashboard before the agent's signed actions are accepted.