KeePassXC
* [Pro] Excellent desktop app. Fast, easy, polished, powerful (TOTP available by default).
* [Pro] Great data ownership philosophy and data storage flexibility.
* [Con] Poor cross-platform app experience, especially on mobile (iOS in particular).
* [Con] Tinkering required to sync data. This isn't a big deal for many of us on here, but presented a large barrier to entry for my non-tech-savvy friends & family.
Bitwarden
* [Pro] Excellent cross-platform experience.
* [Pro] Low barrier to entry via SaaS, making it a good option for less-than-tech-savvy folks. This is ignoring the nice option to self-host.
* [Pro] Sharing features (haven't actually used them).
* [Pro] Web vault is accessible via web browser (accessibility).
* [Con] Web vault is accessible via web browser (increased attack surface).
* [Con] App is a tad slow (electron), but this is an acceptable price to pay for the good cross-platform experience.
I've got a sequence that gets me logged into to a mainframe and navigates all the way to the main menu and given how often I hit it I bet it has saved me from an RSI by now.
Also, I think the Android client is quite a bit better than Keepass2Android.
Ultimately though it was the browser extensions, combined with the self-hosting option, that sold me on BW. None of the Keepass plugins I tried over the years worked that well. BW has extensions for both Firefox on Android and Vivaldi on desktop that are as solid as anything I've tried.
In bitwarden this is seamless because it always saves to the cloud. With keepass you have to manually set up the file sharing with syncthing/dropbox/etc. One problem I had is that sometimes the file sync I set up wouldn't work properly and I'd add new passwords on the phone before it received the latest file version from the computer. When that happens you end up with some passwords that are only on the computer and some that are only on the phone, which is something that syncthing can't fix by itself.
Currently I’m using regular KeePass 2 and Keepass2Android and both offer to sync the changes in case I edit both at the same time… I would’ve thought KeePassXC does the same.
My experiences are my own; KeePassXC allows a much higher level of security than anything that's cloud-based but it's also not as convenient to use. For me, that makes Bitwarden the "right" choice. I only used one computer all the time then I would use KeePassXC without a doubt.
I use Syncthing on my devices to keep the database in sync, and I let it deal with the file versioning just in case something happens.
The con is that it doesn't always feel as polished as other password managers, but that's mostly a personal taste thing. I use KeeWeb on my desktop/laptop, and KeePass2Android on my smartphone.
For my case I installed Bitwarden-rs on my Synology box at home in a container. I realize most people don't want to do that, but for me it was relatively easy.
I only allow access to it from inside my home-network.
- Keepass db, stored in google drive with a memorized master passphrase - this brings password sync out-of-the-box
- G-Drive pulled down on all my PCs/laptops, with KeepassX used as the client
- Keepass2Android's G-Drive integration used on my phone - now made even more convenient with their "Quick Unlock" feature.
I've gone so far as to keep a separate db for payment info, though that one has a keyfile that I manage offline with a randomly-generated password, the password being stored in my password db.
I have found this setup very convenient over the years, and it offers peace of mind in knowing I'm not beholden to any online third parties to store this sensitive info.