Why I built LockMemo
I lost a chunk of my digital life to a password manager once. Not to a hacker — to the product itself.
I’d done everything “right.” I used a well-known cloud password manager, the kind that’s recommended everywhere. My logins, my notes, years of accumulated accounts — all neatly synced to their servers. Then one day, through a mix of a botched sync, an account issue, and a recovery flow that didn’t recover anything, a bunch of it was simply gone. No undo. No human to call. Just a cheerful empty vault and a support queue.
That was the moment it clicked: I had handed the single most sensitive collection of data I own to a company whose servers I couldn’t see, whose decisions I couldn’t audit, and whose failure modes I couldn’t control. And when it broke, the data wasn’t mine to recover — it was theirs to lose.
What I actually wanted
After the dust settled, I went looking for a replacement. My requirements turned out to be surprisingly hard to satisfy all at once:
- Offline-first. The app should work fully with the network turned off. The cloud should be optional, not load-bearing.
- No account. I didn’t want to be a row in someone’s user database. No email, no signup, no “forgot password” email that’s really a backdoor.
- Zero-knowledge, for real. Encryption keys derived on my device from a passphrase only I know — so that even a full breach of wherever my data is stored reveals nothing but ciphertext.
- Backups I control. If I want a copy off-device, it should go somewhere I own and can inspect — not a black-box vendor cloud.
- A one-time purchase. Not a subscription that holds my own passwords hostage if I stop paying.
Plenty of tools nailed two or three of these. Almost none nailed all of them. The ones that were truly local made you give up sync and backup entirely. The ones with great sync made you trust their cloud and their account system — exactly the thing that had burned me.
The idea: your vault, backed up to your Git
The unlock was realizing I already trusted a place to hold encrypted bytes I control: a Git remote. GitHub, GitLab, a self-hosted server — whatever. Git is great at versioned, syncable, portable files. And if the files are already encrypted before they ever leave the device, the Git host is just dumb storage. It can’t read a thing.
So that became the shape of LockMemo:
- Everything you save is encrypted on your device with AES-256-GCM, using a key derived from your master passphrase via Argon2id. Your passphrase is never written to disk — it lives in memory only while the vault is unlocked.
- Even the filenames on disk are HMAC hashes, so raw storage access tells an attacker nothing.
- Backup and sync are optional, and when you turn them on, the vault is pushed — still encrypted — to a Git remote you choose. The host sees ciphertext and hashed names. Nothing else.
- No account. No analytics. No ad SDKs. No crash-reporting service phoning home.
If you forget your master passphrase, nobody can recover your vault — not even me. That’s not a limitation I’m apologizing for. That’s the entire point. The data is mathematically yours alone.
Building it in the open
I’m a solo developer, and LockMemo is the first app I’m shipping under Buko Labs. I’m writing these posts as I go — the design decisions, the trade-offs, the things I got wrong and had to redo. Not a polished case study after the fact, but the actual journey.
Some of what’s coming up that I want to write about:
- Why I chose a directory of encrypted files plus a search index, instead of one big encrypted blob.
- The surprisingly deep rabbit hole of doing Git sync natively on a phone (it involves shipping a C library and talking to it over FFI).
- How I think about threat models for an app like this — what it protects against, and honestly, what it can’t.
LockMemo is on iOS now, with Android close behind. If the idea resonates — owning your own data instead of renting access to it — I’d love for you to follow along.
It started with losing data I thought was safe. It turned into the vault I wish I’d had all along.
— the maker, Buko Labs