Graze
    MarketplaceHelpBlogAboutLogin
    Docs
    • Introduction
    • Creating Your First Feed
    • Nodes for Beginners
    • Custom Sorting
    • Testing and Fixing your Feed
    • Debugging a Post
    Guides
    • Dashboard Overview
    • Page Layers and Audiences
    • Using AI Nodes
    • Natural Language and Ask a Question Nodes
    • Feed Gym
    • Feed Feedback and Personalization
    • Content Moderation
    • Sticky Posts
    • Subscription Lists
    • Graze For Communities
    • Collaborators
    • Curation Desk
    • Feed Pulse
    • Version History
    • Using Custom Nodes
    • Migrating a Feed
    • Sponsored Posts
    • Embedding Feeds
    API
    • Editor Documentation
    • Ratio Comparison Node
    • Rate Limits
    • Custom Node API
    • Contrails
    • Graze Turbostream
    • API Documentation: Privacy Compliance Endpoints
    Help
    • Frequently Asked Questions
    • Feature Requests
    • Marketplace
    Content Moderation node

    Content Moderation

    The tools you can use on Graze to keep unwanted posts and people out of your feeds.

    We want your feeds to be a vibrant, healthy space. If you're creating feeds, one of the first things you'll run into is posts you don't want! Graze has several nodes to help you moderate your feeds. This guide walks through the main ones and how to use them.

    You'll find all of these by clicking Rules (the filter icon) in the editor's left sidebar. Drag them into your feed's Rules section.

    Content Moderation node

    This node uses AI to judge whether the text of a post touches on sensitive topics. It works on English text only.

    You choose a category and a threshold. The categories are OK, sexual, hate, violence, harassment, self-harm, sexual/minors, hate/threatening and violence/graphic.

    OK is a catch-all: it measures how likely it is that the post contains none of the sensitive topics. Setting the node to OK, at least 90% means a post has to be very likely to be OK to get into your feed. This is a great node to put in any feed. If you find it excludes posts you think are fine, lower the number. Moderation like this is an art, not a science!

    To focus on one kind of sensitive content, pick that category instead. These work the other way round: the higher the score, the more likely the post is that kind of content. So to keep sexual content out of a feed about youth sports, set the node to sexual, at most a low percentage. For an adult feed, you might set it to at least a high one.

    Remember the difference. With OK, a high score means "very likely fine". With any other category, a high score means "very likely that kind of content".

    Image Moderation node

    The Image Moderation node uses AI to rate the images attached to a post as SFW or NSFW. As with Content Moderation, choose at least or at most and a threshold, depending on whether you want safe content or NSFW content.

    Toxicity Analysis node

    The Toxicity Analysis node uses AI to score how toxic a post is, including severe toxicity, obscenity, threats, insults and identity-based attacks, so you can keep hostile posts out of your feed.

    Self-applied labels

    Bluesky users can label their own posts when they include adult content. A post can carry one of these self-labels:

    • porn
    • sexual
    • nudity
    • graphic-media

    To exclude posts with any of these labels, add an Entity List node, set it to Exclude, choose Post Self Labels, and add the labels you want to keep out.

    These are labels the author put on the post. Labels on an account, like bot, are different: use the User Labels field in an Attribute Comparison node for those.

    Labels from custom labelers aren't currently supported. If you'd like to see this in Graze, vote on it!

    Excluding specific users

    Sometimes there's a person you never want to show on your feed. Maybe they post things your rules catch, but that aren't right for the feed you're building. There are two ways to handle this.

    The simplest is the Member of List node. Set it to Exclude and paste the URL of a Bluesky list: posts from anyone on that list are kept out. Because it uses a Bluesky list, you can manage it entirely on Bluesky without coming back to Graze.

    The other is the Users node. Set it to Exclude and add user handles or DIDs. This list lives in Graze rather than on Bluesky, so it doesn't appear on anyone's Bluesky profile.

    If your feed definition is public (the Public switch in Feed Settings), anyone can see the nodes in your feed, including who is in a Users node. Keep the definition private if that matters to you.

    Champion Graze user @fema has created a Starter Pack of content moderation nodes for you to remix. You can copy any of the nodes and paste them into your own feed.

    Removing posts that are already in your feed

    When you change your moderation rules and publish, new posts are checked against the new rules, but posts that were already in the feed stay. In Live Feed you may see this message:

    To deal with posts that are already there:

    • Remove individual posts with Remove from feed in the post's ⋯ menu in Live Feed.
    • Rebuild Feed, in your feed's Feed Settings (the gear on its page), deletes every post in the feed and refills it with the last 24 hours of posts that match your new rules.
    • Clear Feed (under "Clear feed history") is the nuclear option, for when something like explicit content has crept into a feed that's meant to be safe for work. It deletes every post in the feed straight away, without asking you to confirm, and doesn't refill it. The feed fills again from scratch with new posts from that moment on.

    Rebuild and Clear can't be undone. Read more in Testing and Fixing your Feed.

    • Content Moderation node
    • Image Moderation node
    • Toxicity Analysis node
    • Self-applied labels
    • Excluding specific users
    • Removing posts that are already in your feed
    Stay in the know
    Follow on BlueSkyJoin the Discorddiscord_fillSubscribe to the newsletter
    Company
    AboutBlogPressContact
    Support
    Community GuidelinesDocsSite StatusHelp CenterFeature Requests
    Legal
    Privacy PolicyTerms & Conditions
    © 2026 Graze.social. All rights reserved.