Skip to content

Content rules decide Allow, Review or Reject

An ordered list of rules on each template reads the scores, the author and the fields, and the first rule that matches decides.

  • Rules and simulation on Starter and up
  • Dry run on every plan
Acme Corp./Listings · Rules
Sample data
Submission1 of 2
description

Oak table, seats six. Cheaper if you write me on https://t.me/seller

Author status
Enabled
Author trust level
New
  • Links & contact details0.90
  • Toxicity0.12
  1. 01Block banned authorsif author is not enabledReject
  2. 02Zero tolerance for hateif Hate speech is flaggedReject
  3. 03Illicit goodsif Illicit & regulated goods is flaggedReject
  4. 04No sexual contentif Sexual content is flaggedReject
  5. 05Allow established authorsif trust level is at least regularAllow
  6. 06Links from new accountsif trust level is at most new and Links & contact details is flaggedReview
Severity triagedecides when no rule matches
0.400.80AllowReviewReject
Decision
ScreeningRule 01 of 06

The response names the rule that decided.

Sample data

Six conditions a rule can check

A condition reads a policy's flag or score, the author's status or trust level, a field of the submission, or its language.

  • Every condition must holdA rule takes 1 to 20 conditions. For an either-or, write two rules.

  • Drafted, then publishedUp to 100 rules a template, edited in the dashboard and live once you publish the version.

If all of these hold
Sample data
  • Policy is flaggedif Hate speech is flaggedpolicy_flagged
  • Policy scoreif Toxicity is at least 0.90policy_score
  • Author statusif author is not enabledauthor_status
  • Author trust levelif trust level is at least regularauthor_trust
  • Field valueif Price is at least 1000000field_value
  • Languageif language is one of Portuguese, Spanishlanguage
ThenAllowReviewRejectOne action, which becomes the recommendation

Sample data

When no rule matches, severity decides

Severity is the highest weighted policy score, set against two thresholds you choose for each template.

  • Observed policies stay outA policy in Observe mode does not count toward severity. A rule can still read it.

  • The response carries a labelseverity is none, low, medium, high or critical. Critical starts at 0.95.

Severity triage
Sample data
Each policy score times its weight; the highest result is the severity
PolicyScoreWeightWeighted
Toxicity0.06× 10.06
Swear words0.40× 0.80.32
Meaningless text0.12× 0.50.06
0.400.80AllowReviewReject
Severity lowPublishedAllow

Sample data

Simulate a draft on the last seven days

Simulation replays up to seven days of stored decisions against the draft's rules and thresholds, with no model call and nothing charged.

  • Covers rules, thresholds and triggersIt also replays rule order and policy modes, on the newest 20,000 moderations at most.

  • Reuses the stored scoresA new policy, guideline or wordlist, edited AI instructions and a changed weight are not replayed.

  • In this sampleDraft v4 switches off rule 05, Allow established authors.

Acme Corp./Listings · Test
Sample dataDraft v4

Simulation

Replay last 7 days
Published
850
live 900 · -50
Sent to review
340
live 300 · +40
Rejected
50
live 40 · +10

1,240 moderations replayed over 7 days50 would change

  • mod_1B7lY4kzM9n2Qx8sRt3wVuAllowReview
  • mod_4Tq8ZrW2nK6yHb1DsF9gLeAllowReview
  • mod_7Xc3VmP5aJ0uNd8RtY2kQhAllowReject

Sample data

Run the rules on live traffic before you enforce them

In dry run the published rules decide every request as usual, and each result is marked dry_run: true so your platform knows to hold off.

  • Two ways to switch it onFor a whole project in its settings, or on a single request with the dry_run flag.

  • Checks and webhooks keep runningA dry run costs the same checks, and each webhook carries dry_run: true.

Acme Corp./Settings · Project
Sample data

Storage and enforcement

Dry run

Results are computed and the review queue fills, but your platform is told not to enforce them.

Dry run is on for every request

Every response carries dry_run: true and author history is not updated. Turn it off once the rules look right.

Response, trimmed
{  "object": "moderation",  "recommendation": "review",  "rule": {    "id": "r6",    "action": "review"  },  "usage": { "checks": 1 },  "dry_run": true}

Sample data

Start moderating your users' content

Create an API key, send your first request and get a verdict back.