Safe for Work Mode - No Images

A few of the users on have asked if it’s possible to have the option to set the site in a safe for work mode. A lot of them are concerned about NSFW images appearing whilst they’re accessing the site.

Was thinking it must be simple enough to either hide or maybe spoiler blur all images for a user who toggles this setting on?

Apologies if this is 1) already possible 2) has already been discussed (I did check the thread archive first)


I think that it shouldn’t be too hard to modify the spoiler plugin to optionally hide images, but then, my trivial plugin is broken. :cry:

Afaik this has not been discussed before, not against some sort of plugin here, but… What about using a browser extension for this?


Looks like there are plenty.

1 Like

That is close to my initial thought.

AFAIK most browsers in an easier or slightly more “power user” capacity allow for selective disabling of “usual” browser behavior.

IMHO this seems to be more in the realm of browser settings than site settings.

The target group for this plugin probably overlaps heavily with the group of users that cannot modify their browser settings and/or install plugins…


This sounds like more of a site plugin than a Discourse Core feature to me.

Unless I am missing something this is an extreme edge case.

eg, toggle a selector like img { display: none; }


I[quote=“RGJ, post:6, topic:49965”]
The target group for this plugin probably overlaps heavily with the group of users that cannot modify their browser settings and/or install plugins…

Exactly this. It’s work places that often leave their staff with old versions of IE too and no real options that they can set.

Am hoping the mobile friendliness of the forums means that our community will use their phone whilst at work rather than this be a big issue but am surprised if this is easy to do as a browser option, it isn’t easier to do as an option for user accounts. It’d just be hiding anything that isn’t plain text.

One of the reasons our existing forums (which are full of annoying bugs since a Ruby upgrade) have been popular over the past 16 years and weathered the emergence of different social networks is because they’re workplace friendly whereas Facebook is often blocked by IT dept.

The general expectation in Discourse is that new users may be limited from posting images, which you can control in your site settings. You can also use site settings to force the first (X) posts by new users to be held for moderation.

I can’t think of many (any?) websites that do not allow any users to ever post images these days. What, may I ask, is to stop your users from posting nsfw text?

This is something you should prevent with our built in new user restrictions, public moderation policies, and flagging, which has worked fine to date on every other known Discourse site.

1 Like

I have a feeling the real issue has little to do with NSFW but more to do with “don’t let the boss notice I’m doing personal stuff on company time.”

That is, without images a page would look more “technical” and less “social”.

For example, why would the IT dept. block Facebook? AFAIK Facebook removes NSFW content as soon as it becomes known about.

My bet would be that the IT dept. has also blocked Solitaire on the company computers as well.

In other words, the IT dept. feels that any “down time” while on the clock should be spent on work related activities.

Again, I don’t feel that the Discourse Core code is the place for an optional “deception mode” feature.

But I would have no problem with a plugin being used for this if doing so was considered important.


I get it. You are fine with the images that are posted, but some users who do not have control over their browser need to be able to hide those images sometimes.

I think this is complicated…

Clearly in some places, if your boss walked in and saw this on your screen, which the boss is pretty much 100% guarenteed to notice, in some places the boss may get upset.

But … on the other hand … if you were browsing the DiS forum and this was on your screen it would result in a pat on your back. Great Job, said boss would say… excellent cat research.

Anyway, back to the original topic.

  • We have no plans of adding a “safe for work” option to the user profile where all images are hidden. This would have to be done in a plugin.

  • You can use spoiler tags on images, whether this is something that makes sense or not is up to your community.

  • On the DiS forum I strongly recommend moderating out images that are violations of what is considered safe in the community. (and assume this is already done)

  • I do not recommend getting a new job where you are free to goof off, I do not blame this on your job and have zero judgement over what you do at work. Just do not feel this feature belongs in Discourse core.


Thanks Sam. Seeing some examples gives the request some context I was incapable of imagining before.

I like the idea of using spoiler tags since having it “per post” is less of a “nuclear option”. But only if blurred is enough. eg.

<img src="//" width="336" height="210">

So perhaps a plugin that adds a way to toggle

div.topic-body img {
  display: none;

or something else would be better.

1 Like

Wouldn’t seeing a bunch of blurred images on someone’s screen be an even bigger warning flag? What are you browsing at work that needs to be blurred out?

So many landmines here, it is not an area that I feel we need to be working in… I’d rather see specific proof of a problem in practice, on a live site, with actual users, and @sam I don’t feel a mildly goofy video about a public figure is remotely representative of a “problem”…

There is another option

[details=There is another option]<img src="//" width="236" height="228"> [/details]


Thanks all. We’ll try to find a plug-in and recommend our users install it, I just thought that given how many customisable options there are something that preventing images appearing would be a simple addition to the options users have - can’t see how it’s that different coding wise to choosing whether images open in a new tab or not.