Kunzisoft / KeePassDX

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
https://www.keepassdx.com/
GNU General Public License v3.0
4.49k stars 266 forks source link

Marking databases as read-only permanently #1065

Closed brainplot closed 3 years ago

brainplot commented 3 years ago

Hi, I use my Android phone mainly as a read-only device for my KeePass database. I don't think it's ever happened so far that I've modified my database from my phone.

I like the fact KeePassDX allows you to toggle the Modifiable state of the database you're about to unlock. However, I dislike that I have to remember to toggle it each time if I want to be sure I won't accidentally modify my database. This is especially annoying since I use the fingerprint unlock and the fingerprint prompt immediately pops up when I select which database I want to open. That means that, in order to access the toggle, I have to first dismiss the fingerprint prompt, then toggle off the modifiable state and reactivate the fingerprint prompt by tapping on the fingerprint icon.

Describe the solution you'd like I don't know what the ideal solution would be but I would personally consider either making it a general setting (something like "Open databases as read-only by default") or simply remembering what the last choice was for each file in the Recent Files list, with regards to the Modifiable toggle.

Thank you for KeePassDX. It's an amazing app!

gabeweb commented 3 years ago

I can't re-open my databases, only at the first time.

I thought it was an Android permission problem (I have had my databases stored in the internal memory of the phone), but even moving them to the SD memory the error persists.

java.lang SecurityException: Permission Denial

java.lang SecurityException: Permission Denial

My phone: HONOR 10 Lite running Android 10 (EMUI 10.0).

J-Jamet commented 3 years ago

@brainplot Have you tried simply enabling the option in the settings? Enable -> Settings / App settings / Write-protected Disable -> Settings / Advanced unlocking / Auto-open prompt

J-Jamet commented 3 years ago

@gabeweb Can you tell us what file manager you use? Now KeePassDX rechecks the permissions granted by the file manager to see if the permissions are granted. If the file manager does not give them, it displays the error.

What do you mean by "only the first time"?

gabeweb commented 3 years ago

@gabeweb Can you tell us what file manager you use? Now KeePassDX rechecks the permissions granted by the file manager to see if the permissions are granted. If the file manager does not give them, it displays the error.

I'm using the default Android's file manager.

What do you mean by "only the first time"?

When I open the database the first time in the app. But I've realized this: having the database and key file registered, I have to re-associate the key file without having to re-enter the database password, every time I have to open the database.

brainplot commented 3 years ago

@brainplot Have you tried simply enabling the option in the settings? Enable -> Settings / App settings / Write-protected Disable -> Settings / Advanced unlocking / Auto-open prompt

Shoot! I totally missed the option. I'm sorry! :cold_sweat:

You can close this for me and again, I'm sorry.

J-Jamet commented 3 years ago

@brainplot No worries

@gabeweb Ok thanks, it is possible that the problem comes from the check that is not correctly done on the key file. I will try to improve this behavior.

I open the problem in a different issue.