We should probably design a NIP for this to avoid sharing outside the relay. It could be really simple:

1. Main event with full text encrypted with a secret.

2. Each subscriber receives an encrypted event with the secret.

Clients put 1 and 2 together and open the content seamlessly.

1 and 2 can be rebroadcasted at will.

Reply to this note

Please Login to reply.

Discussion

Interesting. What if we wanted to offer historical access to a new subscriber? We would have to iterate over all of the creator content and then create #2 events for each #1 event? Also, how do we revoke access to the content once the subscription lapses if #2 has been rebroadcasted?

In either case it improves on today, just thinking…

Correct. You would create #2 events for the past content.

To revoke access, we can make the events replaceable so that at any point, you can rotate the secret. You will need to update #1 and all #2 events, though. Those who didn't get the update cannot decrypt the content anymore.

Totally worth doing in my mind.

I can’t think of any successful creator subscriptions/memberships, where the content is solely text.

There are two kinds of text focused that seem common - either early access/preview to a post for members, or pay to read below the fold. However, they largely depend on media too.

#[2]​ did you have ideas on restricting access to media (images/videos) in the same way, when they are referenced in those events? Would it likely mean additional N events are needed per file? And that’s likely still dependant on the file storage NIP.

I’m prototyping a CDN approach that’s more web/dns focused. If there’s a better approach, I’d likely change focus.