Block or mute pods and tags?

My pod is a whopping 4 weeks old and already there’s a lot of crap on the public timeline that I have no interest in. Looking at my pod stats, porn pretty much dominates the top tags. As a podmin I want to block/mute tags and possibly entire pods that generally are the source of unwanted traffic.

What tools do I have as a podmin to mute or block tags and/or pods that I would like to exclude from my pod? I realise each and every individual user can make individual choices about what they want and don’t want to see. But as the administrator I’m trying to curate the environment on my pod. I would quite happily just delete public posts that come in with these tags, or at the very least suppress them from the public feed and only show them to users who explicitly subscribe to them.

50 most popular tags

  • Tag name: nsfw Count: 1146
  • Tag name: girls Count: 965
  • Tag name: sexy Count: 855
  • Tag name: boobs Count: 572
  • Tag name: culture Count: 215
  • Tag name: politics Count: 159
  • Tag name: girl Count: 156
  • Tag name: rss Count: 147
  • Tag name: bot Count: 146
  • Tag name: tech Count: 137
  • Tag name: entertainment Count: 126
  • Tag name: mashableshopping Count: 105
  • Tag name: webculture Count: 94
  • Tag name: redhead Count: 90
  • Tag name: nude Count: 89

Doesn’t that go against the concept of an open internet or more open Facebook alternative? i guess i’ll play the devil’s advocate here: if you started a pod and opened it up for the entire world to join, then why didn’t you expect people to post things that were counter to your practices? If you invite everyone in, everyone will come in!

Conversely, if you didn’t want this kind of stuff posted/hosted on your pod then:

  1. Did you post terms and conditions for all who joined?
  2. Were they aware they’d be edited, censored or possibly kicked off if they violated these terms?
  3. Did you think about only opening up the pod to users that you knew and vetted?

I’m confused by your approach.

1 Like

I am not seeing content on my pod that has been posted by users on my pod who are violating my community standards. In the public time line, while signed into my pod, my users and I see public posts on the public timeline simply because I’m part of the federation. So my users on my pod, if they click on the public timeline, see this stuff because it’s arriving from elsewhere. I’m just trying to mute it on the public timeline that appears on my pod. My users are not disobeying my community standards.

Other users, on other pods that have different standards, are posting public content that is not the kind of thing I want on my pod. That’s fine for them and there’s nothing I can do about it. No big deal. But I can (or should) be able to mute it or block entirely things that arrive on my pod from elsewhere in the federation. I am a capricious and arbitrary pod administrator who is running a pod according to his own whims. I want to moderate my pod so that I don’t blindly accept anything and everything that’s published publicly everywhere in the federation.

And of course I expect a pod that is open to the world will occasionally have to deal with people who do not obey the community standards that I set. That isn’t the issue in this case, but that question is also worth asking: what tools does the diaspora software give the pod’s administrator to enforce the community standards that are peculiar to his/her pod?

Any site that has open enrolment will eventually have to deal with people who deliberately, accidentally, or maliciously violate the community standards. In my mind, the entire point of running my own pod is to have a small corner of the world running according to the community standards that I set. Given that, I am asking what tools exist that enable me to identify and curate the content arriving via federation in a scalable way (e.g., muting tags). If the answer to that question is “freedom, man! Everyone can post everything everywhere!” that’s a terrible answer. I’ll go find a platform that lets administrators enforce community standards in a scalable way.

Even if I permit porn on my pod, I might—on my pod—want to mute porn posts from the public timeline. Just as a courtesy to users who might not like to see that. In fact, it would be a nice balance. I could say to users “go ahead and post porn, but on this pod we must tag it #porn or #nsfw or whatever”. And then I could mute those tags on the public timeline.

So it is a totally reasonable question: content will arrive at my pod from other pods or from my users. I want to curate it. I want to mute some, block some, etc. in a scalable way. Humans manually vetting users or scanning at content for standards is not scalable.


I’m no podmin nor a developer but I’m afraid at the moment the answer is: There ain’t such tools and they don’t have priority.

There are a few workarounds but I think they also don’t scale very well:

  • To block the content of single users from other pods: Go to your database, find that users profile and invalidate its public(?) key. Like… overwrite it with 000. That should avoid your pod receiving any content from that user.
  • To block/mute hashtags from the federation… hmm well maybe one could write a little script scanning posts for hashtags (or use the software to search for it) and then just delete them. This might run when fetching the data (so it would be a modification of the diaspora*-software itself) or as a cron job.
  • To block a whole remote pod sending you data you will need a filewall (like iptables) and block its ips/domains.

Well even facebook scans its content with human power. You can’t scan your data for community-standard-compliance in an automated way. Just because everyone might have other standards you dislike porn others dislike swastika and someone else dislikes hate speech or fake news. On many pods you ain’t allowed to discuss a computer worms code. And somewhere maybe is a podmin who prohibits religious content.
You cannot write an engine that is able to filter/scan/find content for your special behavior, it must be done by humans. But sure, those humans might use tools (search for hashtags for example).

A little word on “priority in diaspora* development”: It’s just… nothing has priority XD except: security issues. Those get fixed on sight. But everything else gets done if a developer or contibuter thinks it’s time and she is fancy doing this now.
There is an lable for realy important issues called blocking release those issues must be fixed with the next release but as you can see: At the moment there is no.


Having the same issue question, I don’t want to share porn on my pod and it just blows up the database extremly, after 5 days of working pod I got this:

nsfw 1083
girls 1064
sexy 1060
art 321
newhere 187
news 136

I am also completely against censorship, but there must be a option for just disabling the porn tags, it is complete useless, there are millions of porn websites.


IMO there are a few thing that must be considered:

  • There is freedom of speech, but no freedom to be heard
  • It’s your pod, so it’s your rules
  • diaspora is a federated system, so anything that is posted on other pods, is out of your control

This being said, you can ignore a user. See

But this is on account level, not pod level.

1 Like

Thanks for posting a lot of useless points that really didn’t further the discussion at all. Everyone clearly knows all these things. The complaint and topic is that the platform doesn’t give podmins any capability to enforce rules. Which, you confirm in your final sentence. So the point still stands. Yes it’s “our pods, our rules,” but good luck enforcing anything. A podmin’s choices right now are either:

  • Sit around watching your pod all the time and trying to manually remove things you don’t like.
  • Write some raw plsql or some ruby code.

It won’t take much for a bad actor to make a podmin so miserable that they just shut down their pod rather than deal with it. We simply haven’t seen any bad actors take enough interest to make anyone miserable.

The Wil Wheaton episode on Twitter and Mastodon is a cautionary tale. That will happen on Diaspora if it ever gains any popularity. There are no million-follower users, nor million-user pods at the moment. It won’t work at that scale.


Here is the reality:

  • There is no mechanism for my pod’s users to NOT hear at scale
  • My pod, my rules, but no way to enforce them pod-wide
  • Not trying to control other pods or their content, only trying to enforce my rules on my pod but cannot
1 Like

From what I can see, the core of this problem has more to do with federation than it does your local pod. I look at my stats and have to think, “You know, there’s a lot more of these tags than are actually on my server.” Chances are, those tags are what have in some way integrated with your pod from other federated pods.

In this case, no, there’s no any method currently in the system which can prevent these from being utilized or seen. The only other option would be to prevent your pod from being federized and then focus on heavy moderation of your pod’s rules, but I’m not sure that with this setup you’d have a large or active userbase.

As far as the free speech thing goes, I think people need to realize something. This is still the wild wild west of the internet. If you’re on someone else’s pod, you have to understand some things:

  • You have no expectation of actual privacy (since you don’t own the data unless you’re the podmin)
  • You have no expectation of free speech (not your server unless you’re the podmin)
  • You have no expectation of no-censorship (not your server unless you’re the podmin)

So if someone doesn’t like how the rules on your pod goes, they’re more than welcome to fish around some other pods and find a new home :slight_smile:

I suppose the crux of the matter is, how badly do you want this? You can do it without any help from devs if you need to, shouldn’t be that complicated, but it’s gonna restrict your users to a point where the software might not be useful to them. My recommendation, simply filter the hashtags you don’t want to see and carry on. :slight_smile:

While there is no way to filter tags (and I believe this is an important feature and should be introduced at user level at least) you get any tags to your pod in two ways: via public relay or your user subscriptions.

You can’t do much about user subscriptions (except finding these who subscribed and asking them to either unsubscribe or leave) but you can configure your relay settings (relay section in diaspora.yml) to stop receiving all public posts but followed tags only. Then in theory you’ll get no unwanted tags (unless some users subscribe to them again).

But I kind of agree with others - if you run public pod you should expect this. Also blanket disabling tags on pod-wide level could have unwanted results. For example #nsfw is meant to use not just for porn but for any type of content where viewing discretion is required. Tags like #sexy can apply to almost anything. You would end up crippling communication for your users.

1 Like

This is an interesting thought. I think what I’m trying to do is the following:
If one of my users posts something using the tag #NSFW or #SEXY or whatever, fine. Let them.
If one of my users subscribes to a tag like tag #NSFW or #SEXY or whatever, fine. Let them. I’ll accept the traffic.

If it’s just a public post, and it’s tagged with a few obvious porn / spam tags or a few other obviously undesirable tags, ignore it. Don’t put it in the public feed.

It’s making me question whether I understand the semantics of the public feed. My pod is pretty quiet, so I don’t see a lot of traffic. I’m not sure if what I want is already possible, or already the default. I think it’s not possible to ignore tags in the public feed, though.

Public feed doesn’t get populated on its own, basically it just displays all public posts your pod either produces (users write them) or receives (via users subscribing to other users, tags or public relay). You can turn off or fine-tune the public relay not to forward all tags but just the ones users follow - other than that all posts you see in public feed are either produced by your users or are their subscriptions.

So all you see there is wanted by someone, at least in theory :slight_smile: