external-controller is a runtime control API that can read policy groups, connections, and logs. If it is available over a network, set a secret and restrict access. Bind it to 127.0.0.1 for local-only use. LAN access also requires a strong secret and firewall allowlist; a public entry point additionally requires HTTPS and separate authentication.
Reduce the listening scope first
Inspect the external-controller listening address and port, then use a private window to test whether the Dashboard can read connections and policies without a secret.
- Is the listening address 127.0.0.1, 0.0.0.0, or a LAN IP?
- Is the secret empty or too short?
- Is the Dashboard exposed publicly over plain text?
- Does the reverse proxy provide separate authentication?
Create a minimum secure configuration
- Prefer listening on 127.0.0.1 for local use
- Set a strong secret when LAN access is required(See External Controller)
- Add access control and HTTPS before the reverse proxy
- Do not expose a real secret in screenshots or configuration examples
