Owner access and sessions

One owner account, protected cookies, CSRF checks, and a deliberate recovery path.

Bootstrap and sign in

Portal has one owner account. During first setup, establish the owner email and password; the production installer asks for the initial password. Later sign-in uses the stored owner email and a password hash in SQLite. Existing installer-password configuration supports first bootstrap only.

Session protections

Sessions persist for seven days using a hashed server-side identifier. In host mode the cookie is Secure, HttpOnly, and SameSite=Lax; every state-changing browser request also requires the session’s CSRF token. Failed logins are rate limited per source address.

Change or reset the password

In Settings, provide the current password and a new password of at least twelve characters with upper/lowercase letters, a number, and a symbol. Changing it invalidates other sessions and creates a new current session. If it is lost, use sudo dashboard-portal --reset-pwd over SSH.

Not a team identity system

There are no team accounts, API-persona roles, SSO, or tenant isolation. Give Portal access only to the server owner or operate it behind an owner-controlled access layer.

Last audited: 2026-08-25
Portal source of truth