Hi y'all! Sorry for asking so much on this sub! Y'all have been so helpful!
This time, I'm thinking of transitioning from 1Password to a self-hosted option.
Of course I know about Bitwarden, and I'm looking into it now, but are there any other recommendations y'all have? Have y'all heard of and used Passbolt? It seems nice, but it looks like it only does passwords and not other categories like 1Password does.
A few things of note: I'd like it to have different categories, a la 1Password. (Logins, SSN, ID, member card #, etc) Maybe multi-user so I can have an account for my wife. Password generator of course, and I'm not sure if y'all are familiar too much with 1password, but it allows you to customize the fields in each entry. So it starts with the basics (username, password, url), but it allows you to add sections and entries too! I could add a "security" and add my 2FA code on there, my backup codes, etc.
Honestly, that last one is a biggie, so I think I might be talking myself out of moving over now, but I'm sure that AgileBits or whatever the company is called will abandon, if it hasn't already, 1Password 7 with local vaults, in favor of 1Password 8 that only uses 1password subscription accounts.
Sorry for the rant and wall of text. Thank y'all in advance.
Update on July 21, 2023
I decided to self-host Vaultwarden as it was designed to be a lightweight (on resources) version of Bitwarden. For Android, I'm using the "Keyguard" app to access my instance, and the official Bitwarden browser extension on my wife's MacBook. 1password fucked me over, and I had to manually copy every password 1 by 1, luckily I only had ~500 entries.
I'm still doing some research into the best app for android (the official Bitwarden is ugly, and Keyguard is pretty, but I'm still looking around.)
Thank each and every one of you for taking time to answer my question!
My big problem with VaultWarden/Bitwarden is there are some things (making new passwords) that can only be done while connected. This means exposing your server to the internet and making it highly available. Also, since it's a single point of failure, you need good backups. If your server goes down, you're read only until you create a new instance, which might take a while.
I've been using KeepassXC for about 6 years, synchronized with Syncthing. The database is synced to all my devices and my wife's, and a few satellite devices my friends own in encrypted Syncthing folders. It's easy to merge conflicts if we both make entries at the same time. My database will likely outlive me at this point. I even got my Luddite in-laws using it (alas, synced through Google Drive). Highly recommended.
+1 for KeePass/KeePassXC. Love that you just get a password database file and it's up to you to secure it. I also sync through drive for easy access and use KeePassDX for Android which makes the transition between devices a breeze. Having fingerprint unlock for my passwords on my phone is pretty cash. On my desktop I set up KeePassXC to auto-type my credentials into almost everything I use so I can use a hotkey to log in. Works with any program that you can match a window title to (or URL for websites) which is basically everything. I even have mine set up to enter SSH credentials after I connect in windows terminal using "SSH user@server".
I am most impressed with how much it just works. Make duplicate passwords? Just works. Share with multiple users? Duplicate key entries? Just works. Want to store or reorganize your DB, change encryption or share with someone else? Just works. Want to use it from your phone, your laptop, your server CLI? There's probably an app, and it probably just works too.
It's such a precious thing, a good DB design paired with good apps (KeepassXC is amazing). Not a lot of tools like that around.
KeePassXC/KeeWeb + WebDAV is a kick-ass combo that covers every device while also being as simple as possible.
I mean, every client caches your vault. Even if I only had 75% uptime I doubt I'd run into many issues.
The problem I had when I tried it out last (2 years ago?) was you could only generate passwords when connected to the server. Internet in my region is spotty, so I can't reliably always have access to the server.
Other thing, not mentioned here, is how easy it is to share passwords. They also didnt at the time have a great user story for a common use case: 2-4 people who share all their passwords (me, my wife, and her parents). Setting up an org and multiple users was a bit of a pain, but that was a couple years ago, maybe it's better now!
There are frontends to pass [1] for different systems, including mobile ones ;) and probably the official list is not complete.
edit: For CLI I prefer gopass [2]
[1] https://www.passwordstore.org/#other
[2] https://github.com/gopasspw/gopass
I just wonder how easy it would be to sync between clients, KeePass style, because you also have to send your GPG keystore around to all your clients too, right?
If you already have gpg set up it's quite easy to just sync it with git. Then your server only needs to be online when you want to sync.
You can (probably should) use different keys per device, and works wonderfully with Yubikey or other gpg hardware keys if you want extra safety.
I highly recommend pass.
It's very easy to just use git to sync, and easy to set up with several different keys, and can be used as a password sharing database in a small devops team.
Since I'm using git to sync, I can easily tell when I've last changed any password and optionally keep a history of passwords I've used.
It fits well with my life in the terminal, and I use browserpass for Firefox integration.
Great advice.
Only thing I would add is that it is possible to avoid exposing the Vaultwarden server to the Internet. And, you could use Wireguard for that.
The issue I found with this approach is that the other big reason to use VaultWarden is for multi-user support. However, then each of your users need the same VPN setup, which can be hard to manage if you support a non-techie or Luddite.
Exposing it to the internet isnt safe, but it's more accessible then setting up VPNs for everyone with proper routing and stuff. The actual Bitwarden service isn't that expensive last time I checked, and I think it's probably the best, simplest solution if you need to support multiple technophobes.