What's the simplest way to design a Nostr private message (kind 4) type of event where the receiver can autorize other keys to decrypt?
Discussion
You should define what your threat model actually is, and what specifically is the use case. Eg delegated decryption for email is very different than group chat.
How does Signal app do this?
signal uses double rachet
Similar to disk enceyption? Encrypt the message text with a master key, encrypt the master key with each user key, and include the ID:encKey pairs in the event.
The big downside is an interested party could track which user IDs were participating in the group chat. Probably better to start fresh with a new NIP type.
It'd be similar to authorizing other keys to send messages on your behalf. The sender would have to encrypt the same message for each of the authorized keys. Otherwise, it'd be a similar problem as private groups, which could involve a reusable shared key itself encrypted to each authorized key.
User resends/forwards the message to the new recipient encrypted to their key?
#[0]