# NousResearch/hermes-agent · Dashboard auth bypass when reverse proxy declared

## Open now

- Nothing open on GitHub.

These items address a scenario where dashboards bound to loopback addresses remain unauthenticated when a public URL is declared, because the auth check does not account for the operator-configured public URL. The members propose or discuss engaging the authentication gate in that case.

## TL;DR

- 5 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 3 merged PR(s), 1 PR(s) closed without merging.
- A fix was merged to main in PR #93456. Verify it addresses your case.
- **Recommended:** read PR #93456 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `resolved` · deciding PR(s): `pr-93456`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.40`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #93026: should_require_auth() ignores the operator-declared public_url, leaving loopback-bound dashboards behind a reverse proxy unauthenticated

## Prior & competing PRs

- **#93394: Short sessions no longer permanently disable auto-compaction (#93022, salvage #93093)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `agent/context_compressor.py`, `contributors/emails/[redacted:email]`, `tests/agent/test_compaction_anti_thrash.py`, `tests/agent/test_compression_anti_thrash_persistence.py`, `tests/agent/test_context_compressor_structural_backoff.py`, `tests/agent/test_context_compressor_summary_continuity.py`, `tests/run_agent/test_infinite_compaction_loop.py`
- **#93398: install.ps1 no longer crashes at line 367 under StrictMode (#93017, salvage #93020)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `scripts/install.ps1`, `tests/test_install_ps1_resolver_strictmode.py`
- **#93456: Loopback dashboards behind a declared reverse proxy are no longer unauthenticated (#93026, salvage #72127)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `contributors/emails/e-macgregor@users.noreply.github.com`, `hermes_cli/config_defaults.py`, `hermes_cli/main.py`, `hermes_cli/web_server.py`, `tests/hermes_cli/test_dashboard_auth_gate.py`, `tests/hermes_cli/test_dashboard_unified_launch.py`, `tests/hermes_cli/test_web_server_host_header.py`, `website/docs/reference/environment-variables.md`, `website/docs/user-guide/features/web-dashboard.md`
- **#93097: fix(dashboard): engage the auth gate when a public URL is declared on a loopback bind**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `fdff700dc`, `#72127`, `#93026`, `#93456`, `#93394`, `#93395`, `#93398`

## Fix status

- Merged to main in PR #93456 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-08-24`.
