Private users in Discourse

Is it possible for members of a Discourse site to opt-out of being displayed in the member directory?

I’m not aware of any way to do this.

You could deactivate the enable user directory site setting, but that would turn off the directory altogether. You could also enable hide user profiles from public which at least prevents non-users from seeing anyone’s info.


We are trying to use Discourse as a private support forum. It has basically everything we need and is great for just sharing information while allowing simple workflows (tags) and assignments.

The scenario for a project is:

  1. Create a group only members can see and allow our customer’s users to join
  2. Create a category for the project
  3. Create subcategories for tasks, meeting minutes etc.

We disabled creating free tags as these could be visible to anyone. But private tasks groups for each project/category will do.

We also did exactly what was posted here: Disabled user directory and hide profiles.

The ONLY thing that looks bad is that any user can actually mention any other customer or worse, send them private messages (private messages can be disabled though so that is probably fine). But I would not like to disable mentions. They are too valuable.

Is there any solution for this?

The users are in completely different groups who do not share any categories with each other so I supposed they would also not share the common user directory. But I can get why this is not the case. But having a possibility to create really private user groups that are completely separated from the rest of the groups, would be nice.

A setting Allow mentions only to category members would be really great. So you could not mention anyone (even staff members couldn’t by mistake) outside of the category.

EDIT: Users also leak in the Badges page. So had to disable badge system in order to hide another “user directory”.

As you’re talking about customers, I would assume there is money available, which means having options. I think you need to seriously consider whether you have a community or a collection of communities - and when you have decided that, ask yourself what makes sense in that context.

If you want each group to be truly segregated, a single Discourse install is not the way to go.

If I might comment on some specific points;


Is this a regular occurrence? It sounds like a hypothetical concern to me - I’m not sure why your customer’s users would be mentioning or messaging random strangers. I’m also surprised at users being notified of mentions if they don’t have access to the category in which it happened. That sounds like a bug, if you can confirm that it has indeed happened.


I do not wish to be unkind, but this is not a reasonable assumption.

You created a forum which has a community and members of that community are naturally discovering each other. I’m not sure this is the best possible implementation for your use-case, at least as far as I understand it. But you simply cannot expect the software to account for your atypical setup of an almost Reddit-like community of communities and radically adjust itself to accommodate your desire to hide this from people. You have a forum and it is acting as a forum.

If you want multiple forums (fora?) with distinct communities, then you can spin up additional installs of Discourse to fit your situation. I genuinely think this would be your best option in the long-term.


You might be able to find someone in #marketplace who can create a custom plugin to this for you. Please be aware that these people will be expecting to get paid for their work.


Would using display: none on certain elements not be sufficient here?

It’s not making the usernames completely impossible to discover, but we aren’t talking about the likes of people’s private health information. When users can already discover usernames by manually tagging people and seeing auto-complete suggestions, I would this would be sufficient…

1 Like

Don’t worry, I am not expecting that someone will automatically make Discourse exactly as I wish :slight_smile: We have been using Discourse for a public forum since 2014. I can say I am a moderately experienced admin.

I just decided to also use it as an internal tool for other projects that are not really a community. And since I see and know from other mentions here on meta, that Discourse team is also going this use case direction (as for example Discourse for Teams is), I am just trying to give a little bit of a feedback here.

Neither of that. It’s just using Discourse as a support portal as it perfectly does everything we would expect out of it. The only real thing that makes me uncomfortable is that our different partners and customers could see others. First of all some projects are really not public and second it can just be confusing.

I tested it and seems that the user mentioned in a category to which they have no access does not get a notification :+1:

So by disabling all the different pieces described earlier made it quite good, the only thing remaining is that those users are still appearing when you start mentioning someone. But you cannot message them and you do not see a full name. It’s acceptable but the setting I described would make it perfect :slight_smile:

1 Like