[feat][security] Proton Pass: Require password on launch option#509
Open
Themistoklis wants to merge 2 commits into
Open
[feat][security] Proton Pass: Require password on launch option#509Themistoklis wants to merge 2 commits into
Themistoklis wants to merge 2 commits into
Conversation
115579e to
b6fd253
Compare
… from the 'unlock with' feature. That enforces a password request on startup of your browser for the extension and startup of the pass desktop application
cf9cf41 to
6803d3f
Compare
25168a8 to
97c88ca
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
As a well-known quote says:
For a password manager, security needs to be strong enough to protect the user, but ergonomic enough that users do not work around it (UX / security tradeoff).
Current lock options use the same unlock method for launch and auto-lock. This creates an awkward tradeoff:
In practice, I wanted the app to always require my password after launching the desktop app or reopening the browser extension after closing the browser. The only available way to approximate that today is to enable password-based auto-lock. In my testing, that made normal usage disruptive: I had to type my password 7 times in the first 30 minutes of using the desktop app, and 3 times my PIN for the browser extension in the same timeframe.
Manual logout is another possible workaround, but it is easy to forget in normal usage. Most of the time, I would just close the browser or desktop app and assume the next launch would require my password (or turn off the computer with all apps still open). That makes the current behavior easy to misunderstand and creates a gap between the security users expect and the security they actually configured.
Users need a middle ground: strong protection when the app starts, without changing the normal auto-lock experience (if any) while they are actively using the app.
Feature
Add a checkbox in Security settings, below “Auto-lock after”:
✅ Require password on launch
When enabled:
Example:
When 'Require password on launch' is enabled, the session data is encrypted using a KDF based on that password, not a local key. This ensures no bypass is possible.
Note: A rollback attack on the session secure blob to an older version where this option is not enabled will bypass it.
Disclaimer
The code changes were prepared with AI assistance.
I provided the feature direction and security requirements, and checked the secure parts to the best of my knowledge.
The resulting PR is the implementation of my plan, not a reviewed security design.
Because this touches authentication and local unlock behavior, it should be reviewed as security-sensitive code. In particular, please review: