The two tiers at a glance
Tier 1 — Auto action
The server applies the moderation action immediately when its score crosses the configured threshold. No rater involvement is required.Best for: spam, illegal content, slurs — categories where false-negative cost is low and false-positive cost is acceptable.
Tier 2 — Community review
Content is queued for community raters. The platform waits until a statistically significant consensus is reached before acting.Best for: nuanced policy violations, context-dependent content, high-profile users.
How scoring works
When your integration callsPOST /api/public/v1/requests, the server:
- Scores the content with its AI model.
- Compares the score to the Tier 1 threshold for each matched category.
- If the score exceeds the Tier 1 threshold → auto-action (Tier 1).
- If the score exceeds the Tier 2 threshold but not Tier 1 → queue for community review.
- Once raters reach consensus, the server delivers the decision via webhook.
Configuring tiers
Tier configuration is currently managed through the Open Notes team for new communities. Self-serve tier configuration will be available in a future platform release. Contact the team via the Discourse community to update your thresholds.
- Category names — e.g.,
spam,harassment,misinformation - Tier 1 threshold (0.0–1.0) — the auto-action confidence floor
- Tier 2 threshold (0.0–1.0) — the community-review confidence floor (must be ≤ Tier 1 threshold)
- Action type —
hide,delete,flag, ornotify(integration-defined)
Example configuration
| Category | Tier 2 threshold | Tier 1 threshold | Tier 1 action |
|---|---|---|---|
| spam | 0.70 | 0.95 | delete |
| harassment | 0.65 | 0.90 | hide |
| misinformation | 0.60 | — | (Tier 2 only) |
misinformation never auto-acts — all flagged content goes to community review.
Integration responsibilities
Your integration must handle both outcomes: Tier 1 auto-action — the server calls your registered webhook with amoderation.decision event immediately. Your integration should apply the action without waiting for community consensus.
Tier 2 community review — the server queues the content. Your integration can optionally mark the content as “under review” in the UI. When consensus is reached the server sends the same moderation.decision webhook event.
Discourse reference
The Discourse plugin reads the moderation decision from the webhook payload and calls the Discourse Silence/Delete API accordingly. See the Discourse plugin architecture for how the plugin maps Open Notes decisions to Discourse actions.See also
- Webhooks — how decisions are delivered back to your integration
- Integration Guide overview — full list of integration responsibilities