I am using Keepass as my password manager. I am using a keyfile for securing access to my database. However when I want to do the same on my android phone I have to store the keyfile in my phone storage. This is of course bad since technically losing my phone means that someone who finds it can have access to the keyfile and the database. So they only need to guess my master password to get all my passwords.

I am looking for a way to securely store the keyfile. Secured with a password or a fingerprint. Optionally restricting access to the keepass app only. I can encrypt and decrypt the file manually before each unlocking of the database but it is cumbersome to traverse the file system each and every time.

When choosing a file to open from any app there is the option to choose which app to use. Is there any software out there which could show in this dialog as well? In the app I could choose the file I want which would be temporarily decrypted after authentication. The temporary file would then be passed to keepass and used.

Is there any app out there I could use for this sole purpose?

  • Keepass2Android allows to import the key file into app-private data directory. Without root the file is are there. Of course you can still use the key file from there hence the key generation iterations have to be high and I recommend to use the Argon algorithm.
    – Robert
    Commented Apr 1, 2020 at 15:48
  • I am actually using Keepass2Android but couldn't find the option to import the key once and for all. It needs to be there in the file system every time I am unlocking the database. What am I missing?
    – patvax
    Commented Apr 1, 2020 at 16:11
  • The key file on my system is of type "local file" and is located inside `/data/data/keepass2android.keepass2android/...
    – Robert
    Commented Apr 1, 2020 at 19:15


You must log in to answer this question.