Content Moderation Node

Content Moderation

The various tools you can use to moderate your feeds on Graze.

We want your feeds to be a vibrant, healthy space. If you're creating feeds one of the first things you will encounter is posts on your feed that you don't want! To help with this we provide various nodes that can help moderate your feeds. This guide will walk through a few of them and how you can implement them.

Content Moderation Node

This node uses AI to determine if the text content of a post contains references to various sensitive topics. You can either moderate on the basis of specific sensitive topics, or you can use a catch-all model "OK" to try and make sure that none of those sensitive topics are included.

In the following example we want the AI to make pretty sure that the content of the post is "OK". Generally this is a great node to put at the end of any feed.

You can set the level between 0 and 1.

At 0.9, the content has to be Very Likely to match the "OK" model. You may find that it excludes content you think is fine, in which case you can lower this number. This sort of moderation is definitely an art, not a science!

If you'd like to drill in on specific sensitive content, the Content Moderation node also allows for this:

You can set values for each of these. Bear in mind, these are the reverse of using the OK model. The higher the value, the more likely sensitive content will appear in your feed. For example, if you're creating a NSFW feed, you might increase the value using this node, and decrease it if your feed is about youth sports:

Remember the difference between these two examples. In the case of the OK model, a value of 1 is "very likely" to be OK and a value of 0 is "very likely" to not be OK. In the case of the sexual content model, a value of 1 is very likely to be sexual, and 0 is not.

Image Moderation

You can also apply moderation to skeets that have images attached using an Image Moderation node. Again, you can choose to adjust the values depending whether you want safe content or NSFW content:

Note: At this stage it is not possible to moderate video content, so bear that in mind when you consider your other settings. If it's a concern to you, consider excluding video content using other nodes.

Self Applied Labels

A way users can moderate their own content on Bluesky is through "self applied labels". When creating a post with an image, a user can choose to apply one of the following:

  • porn
  • sexual
  • nudity
  • graphic-content

Using the "Entity List" node we can exclude any posts that has one of these labels applied.

NOTE: Custom labelers are currently not supported. If you want to see this feature in Graze, vote on it!

Excluding Specific Users

Sometimes there might be a person you don't every want to show on your feed. Maybe they post things that your filters catch, but aren't quite suited for the feed you're trying to build. There are a few ways to approach this

The simplest way to do this is to use the "List Member" node. With this node you can say "don't include any posts from this list of people". If you use a list you can manage that entirely through Bluesky and not have to revisit the app.

Another method is to use the Social List node. This node takes a list of user ids. The benefit of this node is that it only lives in Graze and is effectively private.

Clearing your feed

If you find that you haven't got your moderation settings quite right, and you make changes, you'll see this message in your editor:

Once you publish your changes, your feed will start to use the new logic, but any posts added to the feed before your changes will remain. If that's not okay for you (say, some explicit content has crept into a feed that's supposed to be safe for work) you can take the nuclear option and clear your feed. You'll find this under the Settings Gear at the top of your dashboard.

Note: This will empty your feed entirely, and it will start to populate again from scratch, from the point at which you cleared it. No historical posts will be available.