Damus
⚡️ᗪㄖ匚⚡️ profile picture
⚡️ᗪㄖ匚⚡️
@doc
Took some time off from Nostr and when I came back was surprised that there were still no great options for iOS signers 😞 Android’s had Amber forever. iOS users are stuck raw dogging their nsec or using throwaways, and you never get the full PWA experience because NIP-07 doesn’t work in PWA mode. With all the vibe coding going on, iOS users are not getting the full experience.

The reason why a signer doesn’t exist for iOS is that iOS kills backgrounded apps fast, so the usual “signer stays connected” approach doesn’t work. Workarounds like silent audio tracks keep the app alive but are fragile and will probably get flagged by App Store review eventually.

I’ve been working on a native iOS signer called Clave to fix this. APNs push wakes a Notification Service Extension for ~30s, which signs with the nsec in the Keychain and goes back to sleep. Key never leaves the device. Push proxy is content-free — can’t read requests, can’t sign anything.
What works:
• bunker:// and nostrconnect:// pairing (tested on some clients, works great with @YakiHonne and @Nostur
• Per-client trust levels with per-kind overrides
• Full NIP-46 method set (sign_event, nip04/44 encrypt/decrypt, etc)

Heads up: push IS the signer, so notifications can’t be turned off — but I’ve routed them quietly to notification center, no banner spam for every auth.

I’m looking for some help at this point.

Testers. Use it, break it, tell me what’s confusing and which clients it chokes on.

Security review. Custom NIP-44 v2 on CryptoKit + swift-secp256k1. Worth being upfront: I’m not a cryptographer. I used Claude to implement to spec and tested against known vectors, but I want real eyes on it before people trust this with real keys. If you know NIP-44, NIP-46, or iOS Keychain/NSE — please look at Shared/LightCrypto.swift, LightSigner.swift, and the proxy registration flow.

Contributors. MIT. Known gaps: multi-relay bunker (proxy only subs to one relay, so bunker clients are pinned to relay.powr.build), self-hosting docs, more client testing.

Use a throwaway nsec only for now. Don’t be a hero.

https://github.com/DocNR/clave

Reply or DM if you’re interested in helping for a TestFlight invite — keeping it tight for now so I can make sure the proxy can scale appropriately. Drop in, poke at it, break things, fix them.




4822❤️30💜3❤️2🔥2🤙2👍1
Bitcoin Nora · 4d
Raw dogging their nsec 😂😂
Shadrach · 4d
Hook me up. Part time iOS “for the children” but this issue seriously limits my app testing and project validation.
Marina · 4d
Nice, I sent you a DM for TestFlight :)
ChadF and 33 others · 4d
I'll give it a shot.
τέχνη · 4d
I have Aegis but yeah the issue of disconnecting makes it 100% useless. Very sad.
Technical Debt · 4d
Sign me up 🔝
Kate Brennan · 4d
iOS signer limitations are frustrating, but Apple’s walled garden makes workarounds tough—this is why PWA struggles persist. Meanwhile, the Middle East’s crypto hype faces similar friction between promise and reality, per a recent read. Regulatory and technical roadblocks aren’t unique to No...
Derek Ross · 4d
Hell yeah man. Great work. I believe the only signers that are working on iOS are Primal and Aegis, but I haven't used either of them personally. It's great to have another well executed app in the space.
ThatWhichisNotSeen · 4d
Ive decided to raw dog itfrom here on out, just easier 🤷‍♂
northranger · 4d
Did you make sure to run: ‘hey Claude make sure that NSEC isn’t leaked anywhere’ ? 😂
frphank · 4d
> Took some time off from Nostr and when I came back was surprised that there were still no great options for iOS signers 😞 Just use Android?
SATSMAN · 4d
💜
OneBigLife · 4d
I don't get it. Why is everyone in the US so obsessed by iOS? You're in a digital cage. This is one area the rest of the world is way ahead.
The Daniel 🖖 · 4d
Me: Raw-dogging my nsec successfully since December 2022, but this would be a nice upgrade if it works as advertised. Will take one for the team let you know how it goes! https://image.nostr.build/2c2ce885f840330a761372f60ff60fce11322ec2532d36251f4da4280d30f36c.gif
DanWedge · 4d
I like to break things Doc. Would love to compare it to my current setup
BTCBaggins · 4d
Interesting.... follow on Nostr is a signable event? Once I approved on Clave it worked. Extra friction? Or me being 80IQ?
node · 4d
Sign me up for the testing brother! Great work! We need more signers on iOS. There’s also Aegis if you want to check it out. nostr:npub179e5zckwq9vqsenc8ha9qv7p9vxwq20cq526ac67prts8kc4khmqu50zj8 has been one man armying it
tigs · 4d
Happy as a pig in shit to see something like this. Please TestFlight me!
Bfgreen · 4d
Ready to test too. If invites still available.
youngMoney · 4d
Im on iOS and im fine. I have no idea what the issue you’re bringing up is
Antihumano · 3d
Me pasa lo mismo, pero por ahora uso keychat donde tengo más variedad de apps
CR45H 0V3RR1D3 · 3d
In my experience, it only closes background services that you wouldn’t want running in the background in the first place. Why would someone want a signer to be constantly running? Genuine question because you’re not the first person I have heard complain about it, yet I have yet to come across...
Gigi · 3d
Aegis doesn't work for you? https://github.com/ZharlieW/Aegis https://testflight.apple.com/join/DUzVMDMK
Bruno SlingshotVPN · 2d
Get in GrapheneOS already.