Is anonymous posting possible?

I have been reading about anonymous posting for Discourse and I want to have anonymous posting on a per-category basis.

Here is what I am looking for:

  • Anonymous posting would be enabled by administrators for specific categories
  • User registration would be required for all posting
  • Anonymous posting would only be possible under the defined categories
  • Anonymous posting would be required in anonymous categories
  • Moderators would post anonymously as usual but would have the ability to make their posts non anonymous.

Is this possible? Is there any other anonymous system that is built in?

Requiring registration and allowing moderators to see the names of anonymous posts would be a good way of controlling how civilized users are. Fully anonymous discussions like image board scripts make it easy to troll and post low-effort content because there is no effort needed to register and moderators don’t see a name with each post. This means that they can’t track the reputation of a user and decide to take action based on a pattern of behavior even if no single post would necessitate action.


At the moment anonymous posting is possible, yes, but not within the parameters that you’re outlining.

Currently (if enabled) it is available at a per member level (across the entire forum) and a user has to be logged in.

A new account is created each time someone goes into anon mode so admins/mods don’t have visibility of who it is (outside of assumptions that can be made around who else was online at the time etc).

Edit to add: I think more work could be done to make this more ‘usable’ but at the moment it does offer a solution for members that would otherwise not feel comfortable engaging or asking a question – esp in professional communities.

It is open for abuse, but some of that comes down to how you manage behaviour within your community. I’d suggest that it’s not appropriate to even enable the option in many communities.


Actually, last time I tried, which was quite a while ago, Admins can determine the relationships of anonymous posters accounts with their member accounts by running a query in Data Explorer

1 Like

Admins have access to everything at the lowest possible levels by definition, this is not a useful observation.

1 Like

You’re right – this query of yours will do that:

SELECT users.username
 , user_custom_fields.value
FROM users
JOIN user_custom_fields
ON = user_custom_fields.user_id
OR = CAST( user_custom_fields.value AS int )
WHERE LIKE 'shadow_id'
ORDER BY user_custom_fields.value

There is no obvious way through the UI though.


It would be ideal to be able to track this on the web page in the thread. Allowing moderators to see who each anonymous user is would help determine if action should be taken because they can see if the same user is posting low effort or repetitive content that might pass as acceptable in moderation. It would show if users are posting links to their own sites and trying to make it look like someone else is posting them.

I know I’m not thinking of all possible use cases where a forum would actually want to allow anonymous posting, but here’s one.

A “support” forum, say for example, abuse survivors. Some members would not feel comfortable enough to openly share information that might be connected to them. Some might not even like that the Admin could do some digging to find out, but if it was easily discoverable by Moderators much more faith would be needed for some members to feel comfortable enough to post personal information.


This is a good case where anonymity would be necessary. Admins will always be able to get additional information on users of their sites when they have access to anything on the server. In a really sensitive site like this moderators would need to be heavily trusted anyway. Users need to have some level of trust in the moderators and if they don’t they should always take extra steps in choosing their username or what email address they use.

I want to offer anonymous discussion and other sites should be able to offer it because it’s important. If users have an account as normal and moderators can see a username on each post then it will very likely avoid the problems that anonymous posting sites have.

1 Like

I was actual positively surprised when I read that

I think that if the transparency you’re asking for ever becomes available as a site setting, it should be clear to users that their anonymous ID is only anonymous for non-staff.

Going in the other direction, I wonder if discourse is already maxed out in terms of how far it can technically go towards real anonymous posts, i.e. where not even admins can find out who posted something. I know that corporate clients require this from group support systems like meetingsphere in order to guarantee employees (or whoever participates in a session) absolute anonymity. Meetingsphere achieves this by deleting a temporary ID as well as IP addresses after the user has logged out. The result is that it is not only impossible to tell who posted what but also which two contributions come from the same individual.

While this is obviously a special use case, especially in brainstorming exercises, it could be interesting for discourse to support it, but I’m not sure if it’s even possible, given how discourse is built.


Having posts be anonymous from administrators would create a system that could easily be abused. Setting up anonymous posting to be even harder for admins to identify users then normal would be extremely unwise. Administrators at some level need to be able to identify user access to prevent trolling and abuse.

It should hopefully be obvious to any users that administrators will have some way of identifying them. It would be a good idea to post this anyway so that everyone knows that administrators can see their usernames. I might not extend this to moderators though.

Anonymous discussion is something that’s very important, but it’s also very easy to abuse.

1 Like

I’m coming at it from the other direction to some of the posters here - I’m looking to use discourse for a q&a-style support forum as part of a large college class (400+ students). Currently we’re using Piazza, but I’d love to replace it with Discourse.

Piazza allows students to post anonymously to each other, but the lecturers and TAs can see the names. We’ve found that this helps balance student’s being willilng to ask “dumb questions” with the need to promote abuse.

Is this possible with the anonymity settings in Discourse, or through a plugin?

No, I don’t think so (though you can do almost anything with a plugin, so it could probably be done).

Why is it important that teachers can see the names?

Why is it important that teachers can see the names?

We’ve found that it makes students (especially those who feel like “outsiders”) more comfortable asking questions, but avoids some of the toxic death spirals that fully anonymous communities are vulnerable to.

I guess this is why it’s a built-in option in Piazza (which is explicitly designed for this scenario), although I’m not sure if they’ve got any specific research/reasons for setting it up that way.

1 Like

How does the fact that teachers see student’s names make students more comfortable with asking questions (as compared to them being completely anonymous)?

I think it’s the students not seeing student names part that’s supposed to make them comfortable.

@benswift The above conversation is outdated, staff can go to the /admin/users page of an anonymous user and click on “Show Email” to see which account created that anon.


Yes, that part makes sense. But Ben’s question was whether it is possible with discourse that teachers can see student’s names in anonymous mode and I was curious to understand why that is important.

Really? It’s not very anonymous then… Not sure why, but it was my understanding that only admins can de-anonymize anons and only via database queries.

Edit: here is why I thought so:

So this is no longer true?

@riking yep, that’s correct. Students show up using their name (or email, doesn’t matter) to teachers, but as anonymous to each other. There’s no click-to-uncover workflow, it’s just displayed differently depending on whether you’re a student or a teacher.

In Piazza, this can be done on a per-post level (there’s a “post anonymously to other students” checkbox in the create post UI).

I’ll look into whether it’s possible with a plugin - because ideally it’s just displayed inline (as mentioned above).

Thanks for your help - I appreciate it. I really like the potential of using Discourse as a Piazza replacement, but I’m just in the process of evaluating whether it has the features I (and my colleagues) require.

1 Like

@benswift did you ever find or develop a solution for per-post level anonymous posting in Discourse? This is a necessary feature for my community and I’m currently looking to see if this has been implemented anywhere.

Not yet—we ended up settling for the built-in anonymous mode for now.

However, I do have a student lined up to work on it, so I’m hopeful we’ll be able to get it done in the future. I’ll post back here if it happens.


@benswift did anything happen with this? I too am interested in the teaching use case of anonymous posting.

My model is that a group represents a class, and a per class forum is a category which only the group has access to. Within this I would like students to be able to post anonymously so that they feel emboldened to step up.

My current understanding is that students can choose to post anonymously but its the same “linked” anonymous user across the entire discourse. Did you guys make any progress on the plugin to approximate the piazza behavior?