How to sync a KeePass database across multiple devices and platforms
Since I first published this in 2017 a lot has changed, so I updated and simplified this post a bit, with the focus on the software that is needed to sync a KeePass database across multiple devices and platforms.
Ensuring security of the database and secrets
When creating your keepass database, make sure you set a strong master password and increase the number of key transformation rounds to protect the database against dictionary attacks (more information here). Keep in mind that browser integration can be a security risk if your system is compromised, as an attacker could intercept communications between the KeePass HTTP server and the browser extension. Good to know: the content of the clipboard is accessible for any app that is running. Make sure the KeePass client of your choice clears the clipboard automatically!
Cloud Storage Providers
Self Hosted (Installation instructions)
- Seafile Pro (my choice)
- Nextcloud
Free Cloud Storage Services
macOS
- KeePassXC, or
- MacPass (my choice)
- MacPassHTTP plugin
Linux
iOS/iPadOS
Android
- KeePassDX (APK / F-Droid / Play) (my choice)
- KeePassDroid (APK / F-Droid / Play)
- KeePass2Android (APK / Play)
Tip: enable the app’s keyboard to fill passwords, if available
Desktop Browser extensions (not recommended)
Don’t want to manage and sync passwords yourself? I moved away from KeePass a while ago and have been a very happy Padloc user. The code is open source, clients are available for all platforms and self-hosting a Padloc server is possible - although currently this means compiling each app for your custom server.