Never rely on any cloud service! A good cloud based password manager is end to end encrypted meaning the password manager provider cannot access your passwords and they are secured from the provider and any compromise of the provider. But you do not only need confidentiality but also reliability. The cloud is just someone else's computer that you store your data on. They can cease their service or stop providing you access to it at any time. Always have a local backup of anything important saved in a cloud.
With Bitwarden for example you can export your vault as unencrypted json and csv format. Those are widely compatible and allow you to easily access and import your passwords.
Do not save your exported passwords unencrypted. I strongly recommend creating a dedicated VeraCrypt or LUKS container or similar and saving the export directly into that without saving it to disk unencrypted in the first place.
Note that shared organizations are not included in the standard vault export and need to be exported separately.
Edit: Someone mentioned that Bitwarden's export feature does not export attachments. So export them manually if you need to.
A good cloud based password manager is end to end encrypted
Presumably end-to-end encrypted. Do not trust any of them. There is no good cloud-based password manager.
My personal recommendations:
KeePass (and its numerous alternative clients). The password database is one single file which would never have to leave your local network (or even: computer).
Gopass (pass with modern addins). The password database is a folder of files which can optionally be version-controlled in a Git or Fossil repository. The default encryption is GnuPG, but it also supports age.
You can't prove that their server is running the exact same code. A self-hosted Bitwarden server might be reasonably secure, but as far as I can tell, Bitwarden('s server component) is not designed for single users.
Even though you don’t know what code is running on their server, the bitwarden client used to communicate with their server is open source & auditable. End-to-end encryption only requires that the client code is trustworthy.
You can’t prove that their server is running the exact same code
Which is the whole point between e2ee, assuming the server ended up being malicious, as long as the client code is doing its job properly, its fine. All the apps are open source.
Bitwarden('s server component) is not designed for single users.
vaultwarden's good if you're selfhosting, incredibly lightweight and compatible with bitwarden clients
I don't have to trust the server, if I trust the client in an e2ee model. Their server could only be a security issue, if the encryption wouldn't be e2e. And then the whole application would suck.
I understand your concerns but for my threat model bitwarden is safe enough. I trust an audited open source manager more than I trust my own ability to keep my passwords safe.
If you can't keep attackers from compromising your computer, it doesn't matter which password manager you use; it will be compromised regardless. Someone who compromises your computer can do just about anything that you can do—including read the passwords you've stored in your password manager.
Vaultwarden is a good Bitwarden API compatible self hosted server that individuals can reasonably self host, with way fewer system requirements than the actual Bitwarden project's server.
Honestly, i applaud age for being very simple to use and less likely to screw up as a result, but i wouldn't rely on it for files as sensitive as a password database, its relatively new and hasn't been audited.