Permissions & privacy
Your kubeconfig, your RBAC, a per-cluster read-only guard, redacted Secrets — and a precise account of what's stored where.
Moonway connects with your kubeconfig and can never exceed your RBAC —
there is no agent in the cluster and no service account of its own. It
observes with watch and list; write verbs run only when you click an
action (scale, restart, cordon, delete), and each one confirms first.
The read-only guard
Settings → Cluster safety arms a per-cluster guard that disables
mutations entirely — the daemon refuses write RPCs for that cluster no matter
what the UI asks, destructive actions vanish from menus, the Shell tab
disappears, and the cluster picker badges the context ro. Arm it on
production and browse with the same confidence you bring to staging.
It's enforced in the daemon, not the buttons: a guard you could bypass by clicking harder wouldn't be one.
Secrets stay dark
Secret values are redacted as they enter the cache — the daemon holds metadata, not payloads. Revealing a value is an explicit, deliberate act in the YAML view, served fresh from the cluster only when you ask; the in-cluster daemon refuses reveals outright.
Nothing leaves your machine
Cluster data stays local. There is no telemetry backend, no SaaS ingesting your events, no analytics in the app. The only outbound connection the product ever makes is to the AI provider you configure — and only if you configure one. License keys verify offline; the app phones home for nothing.
Where state lives
Everything Moonway keeps sits in a handful of user-owned paths:
| What | macOS | Linux | Windows |
|---|---|---|---|
| App data & journal | ~/Library/Application Support/Moonway | ~/.config/Moonway | %APPDATA%\Moonway |
| Daemon token & channel | ~/.moonway | ~/.moonway | %USERPROFILE%\.moonway |
| Login-daemon log | ~/Library/Logs/moonwayd.log | ~/.local/state/moonway/moonwayd.log | %LOCALAPPDATA%\Moonway\moonwayd.log |
The daemon's API binds 127.0.0.1 and every request carries a random
per-session token — other machines can't reach it, and other users' processes
can't speak to it without the token. Uninstalling is
deleting the paths above; your clusters hold nothing of Moonway's.