Skip to content

Content Contexts

Content context tells Sieve what kind of content is being moderated. Different content types require different levels of strictness — a username should be held to a higher standard than a long forum post where nuance and sarcasm are more likely.

ContextMultiplierDescription
username0.8x (stricter)Usernames and display names
chat1.0x (standard)Real-time chat messages
comment1.0x (standard)Comments on posts or articles
forum_post1.2x (more lenient)Longer-form forum posts
default1.0x (standard)Fallback when no context specified

The context multiplier adjusts your category thresholds. A lower multiplier means stricter moderation because the effective threshold is lowered.

effective_threshold = base_threshold * context_multiplier

Base toxicity threshold 0.7 becomes 0.56. Short text with no room for nuance — usernames like “kill_all_noobs” should be caught even when the same phrase in a chat message might be gaming banter.

Base toxicity threshold 0.7 becomes 0.84. Longer content has more context. A post discussing violence in a news article shouldn’t be flagged the same way a one-line chat message would be.

Terminal window
curl -X POST https://api.getsieve.dev/v1/moderate/text \
-H "Authorization: Bearer mod_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"text": "xx_kill_all_noobs_xx",
"context": "username"
}'

The 0.8x multiplier makes all thresholds stricter. Usernames are short, publicly visible, and represent the user’s identity on your platform. There’s no “context” to justify edgy language in a username.

Terminal window
curl -X POST https://api.getsieve.dev/v1/moderate/text \
-H "Authorization: Bearer mod_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"text": "gg no re, you guys got destroyed lol",
"context": "chat"
}'

Standard thresholds. Chat messages are real-time, short, and conversational. The 1.0x multiplier applies default thresholds without adjustment.

Terminal window
curl -X POST https://api.getsieve.dev/v1/moderate/text \
-H "Authorization: Bearer mod_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"text": "I think the PvP balance is terrible this season. The devs clearly dont play their own game. Everyone who mains warrior is getting destroyed and its honestly killing the community.",
"context": "forum_post"
}'

The 1.2x multiplier makes thresholds more lenient. Longer posts contain more context, and frustrated but legitimate feedback shouldn’t be flagged as toxic.

Context doesn’t just adjust AI-tier thresholds — it also affects how much confidence Tier 0 (local preprocessing) needs before making a decision without escalating to the AI tier.

ContextTier 0 Confidence Required
usernameLower (Tier 0 decides more often)
chatStandard
commentStandard
forum_postHigher (more likely to escalate to AI)
defaultStandard

What kind of content is the user submitting? A username, a chat message, a forum post, or a comment?

Pass the context field in your moderation request. If you don’t specify a context, default (1.0x) is used.

Review your moderation logs to see if the context multiplier is producing the right balance of strictness for your platform.