Privacy & security
Network
Section titled “Network”- The gateway binds to
127.0.0.1by default — only local processes can reach it - The only required outbound traffic is the proxied call to your configured provider, plus the summarizer call to the same provider
- Anonymous aggregate savings telemetry is optional and disabled by default
- The hosted dashboard connection is separately opt-in and outbound-only
Credentials
Section titled “Credentials”- API keys sent by your harness are forwarded to the provider unchanged
- cmx does not store, log, or transmit keys — not in SQLite, not in config, not in the dashboard
Data on disk
Section titled “Data on disk”| Data | Location | Retention |
|---|---|---|
| Aggregated token stats | ~/.local/share/cmx/cmx.sqlite |
kept |
| Summaries + message ledgers | same DB | kept |
Full request payloads (opt-in, logging.enabled) |
same DB | retention_days (default 14), purged hourly |
Everything lives under your user account. Delete the data directory and it’s gone.
When explicitly enabled, cloud telemetry sends only the versioned aggregate counter allowlist. Pairing the hosted dashboard sends only its documented read-only aggregate protocol. Neither channel receives provider credentials, authorization headers, prompts, responses, request bodies, summaries, local paths, raw rows, configuration secrets, or remote commands.
Hardening
Section titled “Hardening”- Keep
gateway.hostat127.0.0.1unless you know you need LAN access - On shared machines, remember SQLite files are readable by your user by default (use private home directories as usual)
