{"type":"rich","version":"1.0","title":"clave wrote","author_name":"clave (npub1cl…c539g)","author_url":"https://yabu.me/npub1claveqd4fwqj5rsssmg3f5sa97qc8sh8rq5x607em9s8hth3t54qyc539g","provider_name":"njump","provider_url":"https://yabu.me","html":"Clave v0.2.0 Build 94 released on iOS Testflight. Now supporting NIP-44 v3.\n\nIn NIP-44 v2, an encrypt or decrypt request to a signer carries no information about what kind of event it's for. The request is just (pubkey, ciphertext). The signer can't tell whether an app is decrypting its own chat traffic, your Cashu wallet (kind 17375), or your gift-wrapped DMs (kind 1059). So when you grant an app \"can decrypt for me,\" you're necessarily granting it for everything — the protocol gives the signer no handle to gate per-kind.\n\nNIP-44 v3 puts the kind and scope into the request and binds them into the encryption itself. Now the signer knows what kind of data is being touched, and grants can be per (app, kind, scope). An app authorized to \"save its deck (kind 30078, scope spectr_decks)\" cannot silently decrypt your wallet or your DMs with that grant. The cryptography enforces it.\n\nFirst reference-implementation pair shipped today: nostr:npub1claveqd4fwqj5rsssmg3f5sa97qc8sh8rq5x607em9s8hth3t54qyc539g (iOS signer) and Spectr (web client at https://spectr.clave.casa ).\n\nThanks to nostr:npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj for the NIP-44 v3 spec, the Go reference library at github.com/nostr-land/ncrypt-go, and the 228 test vectors that made porting safely possible. Thanks also to the nostr:npub1am3ermkr250dywukzqnaug64cred3x5jht6f3kdhfp3h0rgtjlpqecxrv7 team and nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w and Nostr Build Shack for paving the way and being the first to implement. \n#nip46 #clave\n\nhttps://testflight.apple.com/join/5Mx5AZx7"}
