Nostr discovery: anyone can take someone else’s event from one relay and put it onto another relay. There’s no authentication, it’s how the protocol works. We trust that a pubkey said something, not whether they wanted you to see it.
Therefore if you get into a private relay, you could take an event from that private relay and simply insert it onto a public relay. Wacky!
To mitigate this, a user can delete a message. And you could also take the deletion event and put it onto another relay, and most well-behaved relays will stop showing the event and never show it again. But interesting this can happen in the firs place.
The lesson is that private events HAVE to be encrypted if you want them to be private. This makes private groups about as hard to implement as they would be on the Fediverse. You’d likely do some libsignal thing which becomes painful to scale after there are about 100 participants in the group.
(Public groups could be done in a weekend, and there are already public group chats on Nostr)