HomeBlogHow the unlock actually works
How the unlock actually works
A fresh random challenge, an HMAC-SHA256 response, and why a recording of yesterday's unlock is worth nothing.
EngineeringPublished 7 min read
The obvious way to build a proximity key is to have it shout a fixed identifier and let the phone listen. It is also the wrong way, and understanding why explains the whole design.
Why a static broadcast fails
A constant identifier can be recorded once and replayed forever. Free apps on any phone will happily impersonate a beacon you sniffed this morning. Against a remote attacker that might be acceptable. Against your own future self — who has physical access, unlimited patience, and a strong motive — it is no protection at all. It would let you keep the key in the drawer and unlock from the couch anyway, which defeats the point.
Challenge and response
Instead, every unlock is a fresh conversation. The phone generates a new random number — a nonce — and sends it to the key. The key signs that specific nonce with a secret only it and your phone share, and sends the signature back. The phone verifies it.
phone → key nonce = random(16 bytes) key → phone sig = HMAC-SHA256(secret, nonce ‖ tid) phone verify(sig) → unlock
Because the nonce is different every single time, a recording of a previous exchange is useless. Replaying yesterday's signature against today's challenge fails verification. Producing a valid response requires the secret, and the secret never leaves the key.
What this does not claim
This is proximity proof, not tamper-proofing. Someone willing to open the hardware and extract the secret can clone a key. We are not defending against a laboratory — we are defending against a moment of weakness, and that is a much lower bar that a physical key clears easily.
Where an operating system makes true enforcement impossible, we say so plainly rather than pretending otherwise. Honesty about limits is part of the product.
In more detailWhat the key stores, what never leaves your phone, what someone with a cloned key would and would not gain, and the parts of the phone we genuinely cannot lock.
Read thisThe rest of the argument
Each post stands alone. If you would rather have instructions than opinions, the guides are the maintained layer.
Locking should be free. Unlocking should cost you.
Most blockers treat locking and unlocking as the same action with opposite signs. That symmetry is exactly why they fail.
6 min readProduct · 17 Jun 2026Why a physical key beats one more app
Software can always be argued with. A key in another room cannot be argued with — it can only be walked to.
5 min readPut the unlock in another room.
Locking is one tap, free, and works with Bluetooth off. Unlocking needs the key physically in range — which is the whole difference between deciding to stop and having to stand up. The app is free; the key is the one-time buy.