Currently, we run our XF as a private community. We don't accept registrations, members are invited and pay to join.
Currently I have 4 member groups, guest, member, staff and admin. We sign each new member up manually (we can't do it through XF as it doesn't yet support custom fields and we take a lot of info) and they get added to the "Guest" group. We use the user upgrades system inside XF to put the member into an additional user group upon payment. Currently it all works fine but it's not exactly how I want it.
I want the forum to be truly private, i.e. you can't see anything unless you're a member and logged in.
If I set the View/View Node group permission to "never" then no-one can get on the forum as pretty much everyone's primary user group is "Guest". If I set this permission to "Not Set (No)" then none of the guests prior to their user upgrade can see the forum.
As the forum is private I don't want anyone to see any element of it, i.e. member lists, help sections, nothing, just a message that says "sorry you need to be a member".