Plugin for Post/Reply-Level Anonymization

Providing anonymization capabilities more similar to Piazza or CampusWire has been discussed previously (here, elsewhere). I’m wondering if anyone has made any progress on this, or would like to work on a plugin together to provide this functionality.

As a brief summary of the desired feature: other course forums frequently provide several other anonymous posting modalities that Discourse currently lacks. Probably the most important and what I’d propose supporting is the ability to mark a particular post or reply as anonymous to other students but still have identities visible to course staff. There’s at least the perception that this allows students to ask questions more freely on a public forum, and I think supporting this would help improve usage of Discourse in academic settings.

Currently Discourse allows users to enter an anonymous mode, but this has several usability problems compared with the proposed feature. In many ways, anonymous mode is too strong a form of anonymity. Not only are anonymous users identities completely hidden—even from course staff, who often need to or at least benefit strongly from knowing who a student is—but while in anonymous mode even things like direct messaging don’t reveal the user’s original identity. Switching in and out of anonymous mode is also more cumbersome than a simple toggle button on a reply. Don’t get me wrong: All of this is working as intended, and overall it’s a great implementation of strong forum anonymity. It’s just not really appropriate for this use case.

Does a plugin already implement this feature? If so, great! Please let me know and you have your next user :slight_smile:.

If not, here’s my best guess on how something like this would work. Each topic/reply would need a new piece of metadata describing whether the topic/reply’s posting mode: either non-anonymous or pseudoanonymous. A button or toggle would be required to expose this setting in the new topic/reply UI—maybe just a separate “Create/Reply Anonymously” button.

When topic/reply contents were retrieved, that flag combined with the user’s trust level would be used to determine whether or not to return the normal user information (name, forum ID) or a pseudonym (“Another Forum User” or whatever). Some extra UI might also be useful to highlight content posted anonymously, to try and avoid staff accidentally revealing a student identity in a post, either by tagging them or mentioning their name. (I acknowledge this as a definite weakness of this approach, but consider preventing it entirely out of scope.)

Sounds easy. (Famous last words.) But does anyone know if there’s a similar plugin that I could use as a template, just to help me find the various places I’d need to make changes?

The Always Anonymous Categories plugin does one half of what you’re trying to accomplish.

This plugin lets you choose individual categories for “always-anonymous” behavior, where all posts and replies automatically use the anonymous pseudonym for the user instead of their actual identity. The user doesn’t have to opt-in, and more importantly, doesn’t need to remember to opt-out when they are done posting.

The other half should be doable in a second plugin, but AFAIK that does not exist yet.