-
-
Notifications
You must be signed in to change notification settings - Fork 205
Security and Remote Access
CCAM stores prompts, paths, tool activity, transcripts, and operational metadata. Treat it as access to the underlying development environment.
The server binds to 127.0.0.1 by default. For a local-only instance, loopback is the primary boundary. Do not change the bind address just to simplify access from another device.
Use all of these controls together:
- TLS at the edge;
-
DASHBOARD_HOSTset intentionally; -
DASHBOARD_TOKENorDASHBOARD_TOKEN_FILE; - a narrow
DASHBOARD_ALLOWED_HOSTSlist; - firewall or network-policy restrictions;
- authenticated WebSocket proxying;
- logs that redact authorization values.
Use separate secrets for dashboard clients, hook ingestion, and MCP. Separation limits the effect of one leaked credential.
| Surface | Typical consumer | Recommended exposure |
|---|---|---|
| UI, REST, WebSocket | Trusted users and CLI | TLS + dashboard token |
/api/hooks/* |
Provider hosts | TLS + independent hook token; only when needed |
/api/metrics |
Prometheus | Private network + dashboard token |
| MCP HTTP/SSE | Trusted MCP clients | Private or TLS edge + MCP transport token |
| Health probe | Load balancer/orchestrator | Minimal response, no sensitive payload |
The full Compose Nginx policy blocks hooks, metrics, and MCP by default. Enable only the specific snippets required.
- Prefer file-backed secrets in containers and Kubernetes.
- Generate long random values and set restrictive filesystem permissions.
- Never put production tokens in Helm values, Terraform state, shell history, screenshots, or tickets.
- Rotate one credential class at a time and test its consumer.
- Backups inherit the same sensitivity as the live database.
Restrict access based on transcript content, not merely dashboard configuration. Tool results may contain source code, file paths, environment details, or accidental secrets. Redact exports before sharing and avoid exposing CCAM to an untrusted LAN.
If a token may be exposed: remove public access if possible, rotate the affected token, restart consumers, verify rejected access with the old token, and inspect edge/server logs. If transcript data may have leaked, follow your repository and secret-rotation incident process.
Canonical guidance: Security policy and Deployment reference.
Start Here · Localized product Wiki · Repository · Releases · Security · Report an issue
Guidance tracks the current master branch. For a deployed release, consult the repository documentation at that release tag before changing configuration.
CCAM Handbook
Use CCAM
- Read the dashboard
- Sessions and agents
- Kanban and tasks
- Tokens and costs
- Run agents
- Personal settings
Operate CCAM
- Deployment guide
- Hook health
- Security
- Backups and retention
- Prometheus and Grafana
- Remote machines
- Upgrades and rollback
- Incident runbooks
Automate and extend
- CLI patterns
- MCP workflows
- Alerts and webhooks
- Dynamic workflows
- Skills and plugins
- Safe config explorer
- Integration patterns
Help