A lot depends on your goal. For a group/community, is it about having a private conversation with a group of people that you know or is it about keeping the conversation on a subject, so your feed isn't full of subjects that don't interest you at the moment or at all. Limiting the subject matter would likely be done completely differently because you are happy for new people to join in the conversation. If you want only your desired group to talk, regardless of the subject, it would need to work much differently. If you needed it to be perfectly secure, then it gets way more complex.
It would be nice to have all 3 group/community levels
-- subject matter community (open to new members)
-- friend group (only invited members, but not necessarily needing encryption)
-- secure group (private and encrypted)
The secure group probably would require a private relay. The others could be public.
Yes!! You could even make some parts private (chat) and others open (library and articles). That would help you find new members.
You could even have multliple chat channels with different privacy levels. Like on Slack.