Bypass Moderation
Bypass user from moderation lets you exempt specific users from content moderation checks. This is useful for trusted users, such as moderators, bots, or staff accounts, whose content should be published without going through moderation pipelines.
There are three approaches:
- Permission-based bypass: Grant the
SkipMessageModerationpermission to a role. This works for Chat only. - User bypass flag: Set the
bypass_moderationflag on a user via the Dashboard or API. This works for Chat, Feeds, Comments, and the Check API. - Server-side writes: Content created from your backend skips moderation unless you set
force_moderation: true. This works for Chat, Feeds, and Comments.
Permission-Based Bypass (Chat Only)
Stream's permission system lets you grant the SkipMessageModeration action to specific roles. When a user with this permission sends a message, moderation is skipped entirely.
This approach is scoped to Chat message sending and requires the role-based permission system to be enabled on your app.
To grant SkipMessageModeration to a role in the dashboard:
- Open your app and go to Settings → Roles & Permissions
- Select the Role (e.g.,
admin, or a customtrusted_userrole) - Under Chat, pick the channel type (e.g.,
messaging) and open Message moderation - Check Skip Message Moderation
- Click Save
Once assigned, any user with that role will bypass moderation when sending messages in channels of the selected channel type.
User Bypass Flag (Chat, Feeds, Comments & Check)
The bypass_moderation flag can be set on individual users. When enabled, moderation is skipped for all content the user creates across Chat messages, Feeds activities, and Feed comments, and for Check calls where the user is the entity_creator_id, whatever the entity type.
Enable or Disable Bypass
- Navigate to Settings → Users
- Find the user you want to manage
- Click on the value in the bypass_moderation column to open a toggle
- Toggle the switch to enable or disable bypass for that user
- Confirm the change
Changes take effect immediately for any new content the user creates.
The same flag is POST /api/v2/moderation/bypass with target_user_id and enabled.
await client.moderation.bypass({
target_user_id: "user-123",
enabled: true,
});Filter Users by Bypass Status
On the Settings → Users page, use the filter sidebar and select the bypass_moderation filter to quickly find all users with bypass enabled or disabled.
Behavior When Bypass Is Enabled
When bypass_moderation is true for a user:
- Chat messages: Sent immediately without running any moderation rules (AI text, blocklists, image moderation, etc.)
- Feeds activities: Published immediately without moderation
- Feed comments: Posted immediately without moderation
- Check API: Returns without running any engines, for any entity type
- Audit log: An audit log entry is created with
BypassModeration: trueto maintain observability
Bypass does not affect:
- Manual flags raised by other users
- Actions taken by human moderators
- Ban or shadow-ban status
Server-side writes and force_moderation
Content created from your backend skips moderation by default. Set force_moderation: true to moderate a server-side write.
force_moderation is server-side only and ignored when sent from a client-side SDK.