Your Discourse can be completely private, login required to see anything. Set login required
in your site settings to true.
You can make new account signup “by approval only” – anyone can sign up, but staff members have to approve them. Set must approve users
in your site settings to true.
You can make new account creation “by invite only” – only people who are invited are allowed to create accounts. Set invite only
in your site settings to true.
You can make certain categories private, by editing the category security settings. Visit the category page and press the edit button at upper right to access category settings.
In the above example, only users with accounts can access this category. Anonymous users cannot access this category.
Similarly, you can make certain categories readable or writeable to only certain groups of users. Those groups can be public groups, or private groups.
Related: Sign up flow when "must approve users" is configured