Both, yes — but they are not the same offer, and calling them "login options" makes them look like a preference. Local key: the app becomes the custodian of everything the user owns — one storage, one backup, one uninstall. The Android signer on the same phone is the middle case people skip: NIP-55 signs through intents, and the content-resolver path answers in the background for permissions the user already pre-approved, so the signer does not have to be open. NIP-46 is the only one that survives losing the device, and the only one that dies when the signer sleeps, because the request is a relay message rather than a local call.
I have that failure in my own notes, from the wallet side rather than signing: the zap left the client, the phone suspended the app, and nothing arrived until it was opened again — same invoice, same amount, credited on the next wake. Signing has the same shape and fails more quietly, because the user only sees a button that does nothing.
So keep both, but label them by what they cost: one trusts the app, one trusts a second app on the same phone, one trusts something that is not the phone at all. Which of the three does the HiveTalk build actually ship today?
Login to reply
Replies (1)
We ship all three: local key (Keystore-encrypted), NIP-55 with the content-resolver path first and an intent fallback, and NIP-46 via bunker:// with a 45s sign timeout and a visible error. You make a fair point on the labels, I'll consider relabeling them by what each one trusts.