Ideas for discourse plugin for better anonymous accounts

I’m thinking about working on a plugin for improving anonymous account stuff. I think I read somewhere (on the discourse meta) that doing multiple anon accounts would be hard with the current architecture (or maybe just that it wasn’t going to be something that the devs cared to implement). With that in mind, I think there could be some good features that are easy to code if there’s interest:

  • anonymous account names: don’t label accounts sequentially. Instead append something random. If there’s somewhere on the forum that shows when anonymous accounts were created, that should be hidden.
  • anonymous account timeouts: instead of having a single timeout for when new anonymous accounts should be created, give users a button to generate a new anon account (probably under a new section in user settings and hidden for ppl who can’t enter anonymous mode).

Potentially harder features:

  • Switch anon accounts: (1) track which anon accounts have belonged to which ppl (I think this happens already). (2) I suspect that any user that has entered anon-mode before will have exactly 1 anon account associated with them. An easy way to implement switching anon accounts would be to let users select an anon account from (1) and set (2) with the appropriate anon user_id.

If ppl think these sort of features would be useful I might start work on a plugin.

Is a plugin with these features worth building?
  • Yes, these features would be good
  • I don’t care
  • No, anon accounts are fine
  • Other

0 voters

This sounds OK to me. Using words would probably be an improvement over numbers.

The other stuff sounds either unnecessary or potentially problematic.

E.g.:

You can just get that info from looking at the first post the account made though, unless someone creates an anon account and then waits a long time to ever post with it. So this one sounds unnecessary.

This is potentially problematic. Like, someone could create a hundred anon accounts in a day, and use them to sockpuppet or create a bunch of problematic threads or upvote things.

This one also seems potentially problematic. It is similar to above, only the person will also have longterm control over all the accounts they create & the ability to switch back & forth between them whenever they want.

I think the anonymous accounts are meant to be limited on purpose. It gives people the ability to post some things anonymously, but it is purposely limiting how much control you have over your anonymous accounts, how many you can have, etc.

1 Like

I had some reasons for the other stuff that I didn’t originally mention. I agree some bits would be problematic if they were abused.

If you have the acct creation time then it doesn’t matter if the usernames are sequential or not. Part of the reason that account creation times shouldn’t be shown is that they can correspond to when someone gains the ability to enter anon mode. Since we have a small number of ppl who can be anon users atm, it may be possible to de-anon ppl atm, and, once that starts, it will affect future anon accounts. First post time leaks less info.

I agree it’s problematic if done wrong. The main easy solns I can think are: a sensible rate-limit on creation[1], and the creation of various admin tools that could be used to identify problematic users[2].

The purpose of this sort of feature is to ensure there’s a way for ppl to stop using a particular anon account, like to get a new one. If they can’t do that, then all their anon posts are linked via one anon user, which might be problematic. A rudimentary way to do this is a ‘force new anon user’ type button (which would create a new anon account) but might mean the old anon account isn’t usable in future.

Yeah, that seems right (and I think it’s sensible). I think a little bit of additional freedom w/ anon accounts can go a long way to improving the quality of the anonymization, tho. Mb the crux of this thread is the q Are the problems with anon accounts worth installing a plugin to fix?

Also, I ended up implementing a big chunk of the plugin yesterday:


  1. this should be easy; discourse does this with lots of things already so there are many examples to learn from. ↩︎

  2. As it stands, there’s a DB table that tracks anon account ownership but it’s not exposed through the admin interface AFAIK. There’s something reassuring about it being less-straight-forward to look up the ‘master user’ for an anon user. Note: discourse code uses the terms master_user and shadow_user. ↩︎

I don’t want people to have control over more than one anonymous account at once. I would consider that, months from now, if we had experience with a significant problem it could solve.

I don’t think anon creation date is meaningful, given that post dates are available. If you think it matters, just don’t create an anon account until you’re ready to write a post with it.

I think people will out themselves far more by writing style and content than by details like creation date, and that you’re focusing on a side issue.

Having to wait to get a new anon account is a feature, not a bug. I’m open to adjusting the time window from 7 days, in the future, if we have experience with a problem. But lowering it has downsides because it makes it harder to keep access to an anon account.