Opt-in to show user profile instead of opt-out

In Discourse, user profiles are enabled by default and users can opt-out through their user preferences when this setting is enabled:

allow users to hide profile

What would it take to enable the possibility for admins to offer an opt-in preference instead of opt-out? That is, user profiles being hidden by default and users can choose to show them. Is there a way to achieve this already in the backend?

This feature could be similar to the notification preferences for categories, where admins can set i.e. Muted by default for all users and optionally apply this setting retroactively to all users.

The reasoning behind this request is that most new users aren’t aware of the information shown in their profiles, the potential risks of misuse of this information by third parties, and the fact that they can hide their profiles in their user preferences. We can write disclaimers and documentation explaining all this, but as we know, chances are that most users will just bypass this during account creation and their first steps in a new platform.

An opt-in policy would make it easier for users to enable their profiles when they have an interest to share them and when they have a better understanding of the implications.

Read all this in a context where user stalking, government or private surveillance, and human rights violations represent a real risk. Some communities are more exposed than others to these risks (i.e. political activism and civil rights), and some users in some communities are even more exposed to abuse based on gender, country of residence, and so on.


It would require a site setting. Something like the default other external links in new tab or default topics automatic unpin site settings. Both of those settings set the default value of user preferences that are found here:

Some kind of default hide profiles and presence setting could be added. When enabled, the “Hide my public profile and presence features” user option would be enabled by default.

There have been a few requests for adding this feature in the past.


Has there been any progress on this?

I need to be able to set the default before the end of the year. Ideally there would be an in-built setting that just toggles the default. If this isn’t planned for the next few months then I’ll need to make a python script(or learn ruby). I’m not against doing that, but would rather know in advance if this is planned so I don’t spend time doing something which is already in the pipeline.

1 Like

These are site settings “hide_user_profiles_from_public”

1 Like

The PR is ready. Now it is possible with a site setting.