I’ve been thinking about trying out a different password manager.

Years ago I used 1Password which was great, but I wanted to store the passwords locally or on my network.

I’ve been using Vaultwarden, a Bitwarden compatible server, for years, along with the official Bitwarden clients on Macs and iPhones.

The problem is the Bitwarden clients are kinda…icky. They always seem slow. I don’t see why because I only have a few hundred passwords saved. Maybe Vaultwarden is to blame, I don’t know. Either way, it’s an excuse to try something new.

Looking around, the only real open source locally stored alternative was Keepass.

KeePassium has iOS and Mac versions to edit Keepass databases. I decided to give it a show.

Keepassium supports Autofill by leveraging the APIs provided by Apple. Unfortunately, Firefox does not integerate with Apple’s Autofill functionality and it doesn’t look like they will soon.

KeepassXC, a cross-platform keepass client provides a Firefox extension that interacts with the installed KeepassXC application.

I decided to test out KeepassXC on Macs with it’s Firefox extension, database synced over iCloud, and using the Keepassium app on iOS.

Making changes to the database with Keepassium on iOS didn’t trigger a file change on iCloud so KeepassXC on Macs would reload the database. I have no clue why.

Bizarrely, if I used the Keepassium app on the desktop and iOS, syncing over iCloud was no problem. Still the lack of Autofill in Firefox was a dealbreaker.

Keepassium on iOS supported WebDAV. Maybe that could work. I wanted to set up a WebDAV server which housed the Keepass database, was accessible by Keepassium on iOS, and mounted on the Mac for KeepassXC.

Setting up the WebDAV with Caddy was straightforward. Keepassium could sucessfully open and edit the Keepass database over WebDAV. The WebDAV share was mounted on the Mac by going to Finder -> Go -> Connect to Server. KeepassXC could open the database just fine, but editing and saving would cause errors from Caddy.

To fix this, I enabled ‘Use alternative saving method’ in the General application settings. This god rid of all errors. Just in case, I also enabled Backup database file before saving.

We’ll see how this set up works out.