Problem
The self-hosted dashboard passes its auth token as a URL query parameter (?token=). This leaks the token to browser history, server access logs, referrer headers, and proxy/CDN logs.
Fix
Replace query-param auth with a cookie-based session:
- POST the token to a
/login endpoint
- Server sets a
HttpOnly; Secure; SameSite=Strict session cookie
- All dashboard routes check the cookie, not the query param
Affected files
Problem
The self-hosted dashboard passes its auth token as a URL query parameter (
?token=). This leaks the token to browser history, server access logs, referrer headers, and proxy/CDN logs.Fix
Replace query-param auth with a cookie-based session:
/loginendpointHttpOnly; Secure; SameSite=Strictsession cookieAffected files
internal/serve/serve.go