Stay logged in (desktop keyring; remembered name and server in the browser) #53

Closed
opened 2026-10-17 17:29:51 +00:00 by littlefox · 2 comments
Owner

Protocol A has no login tokens, so staying logged in means keeping the password somewhere.

What:

  • Desktop: an opt-in "Remember me" that stores the password in the system keyring (Secret Service on Linux; Keychain/Credential Manager when we have those builds). Never in a plain file.
  • Browser: remember the name and server only, never the password (localStorage is readable by any script on the page).
  • Log out forgets the stored password.
  • With the keyring unavailable, say so and don't offer the option.

Done when:

  • The desktop smoke test logs in with "Remember me", restarts the app and lands logged in (with a test keyring under dbus-run-session).
  • An e2e spec checks that the browser pre-fills name and server and never writes the password to storage.
  • DESIGN.md documents where secrets live.

From docs/ROADMAP.md, 0.2 "Feels like an app".

Protocol A has no login tokens, so staying logged in means keeping the password somewhere. What: - Desktop: an opt-in "Remember me" that stores the password in the system keyring (Secret Service on Linux; Keychain/Credential Manager when we have those builds). Never in a plain file. - Browser: remember the name and server only, never the password (localStorage is readable by any script on the page). - Log out forgets the stored password. - With the keyring unavailable, say so and don't offer the option. Done when: - The desktop smoke test logs in with "Remember me", restarts the app and lands logged in (with a test keyring under dbus-run-session). - An e2e spec checks that the browser pre-fills name and server and never writes the password to storage. - DESIGN.md documents where secrets live. From docs/ROADMAP.md, 0.2 "Feels like an app".
Author
Owner

Decided (D-032): "Staying logged in is good, but only where secure. Do as you suggested". So: desktop stores the password only in the system keyring, opt-in; the browser remembers name and server but never the password; no keyring, no option.

Decided (D-032): "Staying logged in is good, but only where secure. Do as you suggested". So: desktop stores the password only in the system keyring, opt-in; the browser remembers name and server but never the password; no keyring, no option.
Author
Owner

Merged in #88 (CI run #154 green). Desktop: 'Håll mig inloggad' stores the password only in the system keyring (keyring 3.6, pure-Rust Secret Service, calls on their own thread), logs in by itself next start, removed on logout. Browser: 'Kom ihåg mig i den här webbläsaren' keeps server+name only. Desktop smoke test (gnome-keyring in its own D-Bus session): stored, auto-login after restart, removed on logout, no auto-login after. remember.spec.ts checks storage holds no password.

Merged in #88 (CI run #154 green). Desktop: 'Håll mig inloggad' stores the password only in the system keyring (keyring 3.6, pure-Rust Secret Service, calls on their own thread), logs in by itself next start, removed on logout. Browser: 'Kom ihåg mig i den här webbläsaren' keeps server+name only. Desktop smoke test (gnome-keyring in its own D-Bus session): stored, auto-login after restart, removed on logout, no auto-login after. remember.spec.ts checks storage holds no password.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#53
No description provided.