Rocky inside a protected local dashboard perimeter with credential, session, and gateway panels
Treat the dashboard as an administrative control plane because it can manage credentials, sessions, gateways, and automation.

Secure and Operate the Hermes Web Dashboard

The Hermes web dashboard provides a browser interface for configuration, credentials, sessions, logs, analytics, cron jobs, skills, MCP servers, channels, pairing, and gateway operations. That convenience also makes it a high-authority surface: anyone who controls it may be able to change how the agent authenticates and what it can access.

Official documentation: https://hermes-agent.nousresearch.com/docs/user-guide/features/web-dashboard

Start local and narrow

Launch with hermes dashboard. The safe baseline binds to 127.0.0.1, limiting access to the same machine. Use --no-open on a headless host and choose a custom port only when it simplifies a documented deployment.

A non-loopback bind changes the threat model. Current Hermes releases engage the dashboard authentication gate for remote binds when a provider is configured, but operators should still verify the gate directly. Do not expose the service through a public IP, tunnel, or reverse proxy until authentication, transport encryption, and network policy have been tested from an unauthenticated client.

Administrative checklist

  • Install the documented web extras.
  • Start on loopback and confirm the status page loads.
  • Verify the active profile before changing configuration.
  • Treat the API Keys and Pairing pages as sensitive administration.
  • Configure a supported authentication provider before remote access.
  • Set a stable signing secret so authenticated sessions survive restarts when appropriate.
  • Put TLS and network restrictions in front of any remote deployment.
  • Review the dashboard audit log after administrative changes.
  • Restart the gateway or start a new agent session when a setting requires it.

Profile and runtime boundaries

The machine dashboard can switch among profiles, but each profile retains its own config, memory, skills, credentials, and session store. Confirm the profile indicator before editing. A successful dashboard save does not prove a long-lived gateway reloaded the setting; some changes apply only to future sessions or after a gateway restart.

The Chat tab may require optional PTY support in addition to the web stack. Failure of embedded chat does not necessarily mean the configuration pages or gateway are broken.

Common pitfalls

  • Binding to 0.0.0.0 for convenience before testing authentication.
  • Assuming a VPN or private LAN makes credentials harmless.
  • Editing the wrong profile from the profile switcher.
  • Expecting .env edits to affect a running session without reload or restart.
  • Treating the dashboard’s successful HTTP response as end-to-end agent proof.
  • Publishing dashboard screenshots that reveal user IDs, provider names, or secret metadata.

Verification steps

  1. Confirm the dashboard is listening only on the intended interface and port.
  2. Request /api/status from an unauthenticated remote client and verify the expected gate.
  3. Sign in with the intended provider and inspect the active profile.
  4. Make one harmless display change and verify it in a fresh session.
  5. Review the audit entry and gateway status.
  6. Test logout and confirm protected API requests no longer succeed.