- Browser integration (a single key combo unlocking & filling in passwords)
- OTP support
- SSH agent and key storage
- Entry-level (rather than file-level) synchronization
- Google Drive synchronization
- Automatic history maintenance
- Storing arbitrary additional data
- Icons (makes identifying entries so much faster)
You can host your own server and there is at least one alternative server implementation.
Having not read the source code, or investigated the details, my understanding is the sync is entry based over file based. On multiple occasions I lost data to Keepass's insane lack of sync functionality, I've never once done the same with Bitwarden. Google drive sync is kind of moot as the sync happens on a server (which you can run yourself).
> Google drive sync is kind of moot as the sync happens on a server
Confused, so are you saying there is a server that does entry-based syncing? KeePass it's the KeePass client that resolves conflicts at the entry level with whatever is on Google Drive (which it connects to via plugins).
The sync is client side according to [0]. I can't find specifics in any documentation on whether it works at an entry or file level, however I wonder is that actually important? Just because you sync at a file granularity doesn't mean you can't resolve entries individually.
My experience with Keepass was that my changes would get stuck in a conflict file that Dropbox would generate if you happened to use Keepass in 2 places at once, as they don't support syncing and force you to manually go through [1] on every device.
[0]https://help.bitwarden.com/article/how-is-data-securely-tran...
[1]https://gist.github.com/cmcginty/07869f3c6c27ecb0fef84ca7900...
I can't figure out how the KeePass (or the plugin you use, or whatever it is) was handling your Dropbox syncing; it sounds like it was doing a dumb file-level merge, when in fact it's capable of doing much better than that. I use the Google Sync Plugin which has never failed me, even when I'd modified databases on two clients independently before syncing. It uses the ImportUtil.Synchronize() function which I think is what handles the dirty details. See the Technical Details section here: https://keepass.info/help/v2/sync.html
Sure! (sorry, have finally had my morning coffee). I believe that Bitwarden handles it correctly via "live sync" [0]. - albeit it's been a transparent process to me. I've generated logins on my mobile, and logged into them within 30s via the browser extensions on my desktop PC.
> I can't figure out how the KeePass (or the plugin you use, or whatever it is) was handling your Dropbox syncing;it sounds like it was doing a dumb file-level merge
It was, and it was excruciating. However, this is one of the issues I have with Keepass - it may be possible to do better, but the default behaviour is abhorrent.
From the link you gave, it explicitly calls out the issue in "advanced" synchronisation schemes under "Local <-> Master" [1]. If you don't correctly follow the setup steps you can end up with [2] which can (and does) result in data loss. The (as far as I can tell) official (as far as I can tell) forums seem to be happy to pass the buck [3] and say "Oh that's not our problem, that's the sync services problem".
> I use the Google Sync Plugin which has never failed me
I don't doubt that for a minute, but for someone migrating from LastPass/OnePass to Keepass, searching for "How to sync keepass across machines" will _never_ point you to the google sync plugin.
[0] https://blog.bitwarden.com/live-sync-bitwarden-apps-fb7a5456... [1] https://keepass.info/help/kb/trigger_examples.html#dbsync [2] https://sourceforge.net/p/keepass/discussion/329221/thread/2... [3] https://sourceforge.net/p/keepass/discussion/329221/thread/9...
That looks cool!
Re: your other comments though: you're not doing a fair comparison. Try letting Dropbox trash your %AppData%\Bitwarden folder and then let me know how well LiveSync handles syncing! That's what you're doing to KeePass.
> However, this is one of the issues I have with Keepass - it may be possible to do better, but the default behaviour is abhorrent.
This isn't the "default behavior" though. The default behavior is in fact to synchronize everything correctly... if you only give it a chance to do that. But if you insist on letting your Dropbox desktop sync pull the rug out from underneath KeePass and replace the whole database randomly, it's literally impossible for KeePass to know what the old entries were to be able to merge them -- it doesn't have them anymore. It needs an old copy of the database around so it can compare the two, and those instructions tell you to make a second copy so it can do its job. That seems pretty fair to me -- what more can you expect? You didn't even give it a chance to do its job, and instead let someone else just trash the place while it's gone, then blame it for not actively fighting your attempts to do that?
This is why KeePass has plugins like KeeAnywhere [1]. You're supposed to use those instead of syncing your database like a normal file. [2] So KeePass actually gets a chance to do its job... if you only let it!
[1] https://keepass.info/plugins.html#keeanywhere
[2] Well, KeePassX[C] folks will beg to differ and just tell you to keep doing what you were already doing and it'll work Just Fine (TM), and that what you were seeing happening in front of your eyes was supposed to be vanishingly unlikely. It's basically gaslighting as far as I can tell, but somehow they can pretend it doesn't affect them, so I dunno...
Pity we didn't have this discussion 18 months ago, I might not have left keepass
> and not mention that it can be resolved with a plug-in anywhere on the main site
Again, you're accusing them of something that's false! They very much do see this as core functionality and explicitly tell you how to synchronize right there in the synchronization section [1]:
If one of the files to be synchronized is stored in an online storage (like e.g. Amazon's S3, DigitalBucket, ...), you need an online storage provider plugin (e.g. KeeAnywhere, KeeCloud or KeePassSync).
> and are happy to tell people to take awful workarounds
The only bit I'll give you is that the workaround isn't user-friendly, and that they should probably leave a note mentioning the much-more-user-friendly plugins in the Trigger Examples [2]. But aside from that, if you actually follow their workaround, it should work just fine -- as I understood your problem was that you didn't follow their workaround, then you blamed them for the resulting file conflicts...
[1] https://keepass.info/help/v2/sync.html
[2] https://keepass.info/help/kb/trigger_examples.html#dbsync
Yes.
- OTP support
Yes.
- SSH agent and key storage
No.
- Entry-level (rather than file-level) synchronization
Yes.
- Google Drive synchronization
Nope, but because it's hosted (or self-hosted) that's inapplicable.
- Automatic history maintenance
Yes, if you're talking about password history.
- Storing arbitrary additional data
Yes, including files.
- Icons (makes identifying entries so much faster)
Yes.
Is there anything missing from Bitwarden that's in other paid apps?
So no particular reason other than not liking the subscription plan of 1Password.
No encrypted export/import.
The mobile apps can be slow if you have hundreds of entries and aren't using a flagship device. https://www.reddit.com/r/Bitwarden/comments/aic1ad/why_is_an...
When your vault is locked it won't offer to save or update passwords.
When your vault is locked it won't respond to the "fill login" shortcut. 1Password would have you enter your master password and then it would fill the login. Bitwarden just doesn't respond.
You can access your username/password from the main window but if your TOTP code expires before you log in you will have to go digging.
[Edit: OK it turns out to be an electron app, and a barely functional one at that]
But more generally, when trying new software I tend to exercise its functionality as a first QA pass. There's a 'select all' entry in the Edit menu, and a keyboard shortcut, so it seems reasonable to try it. The failure isn't in itself a show stopper, but it's a mark against the app for me.
I'll keep an eye on Bitwarden - I like the overall shape of the project, but it's not ready for me yet (had some problems with the firefox extension also).
(An aside: every time someone points out a golang repo I'm impressed by the code readability, given I'm only passingly familiar with the language)