Types of content moderation
The ways a platform checks what users post: before it is seen, right after, on reports, by searching for harm, by community vote, or by software.
Pre-moderation checks content before anyone else can see it; post-moderation publishes first and checks right after; reactive moderation acts only on user reports. Proactive moderation looks for harm without waiting for reports, distributed moderation lets the community vote, and automated moderation uses software for some or all decisions. In practice, platforms mix them by content type and by how far they trust each user.
The six types at a glance
| Type | When it is checked | Who decides | Poster waits? | Others can see harm |
|---|---|---|---|---|
| Pre-moderation | Before it is visible | Software, people or both | Yes | Not if the check catches it |
| Post-moderation | Right after it goes live | Software, people or both | No | Until the check ends and you act |
| Reactive | When a user reports it | Moderators | No | Until it is reported and handled |
| Proactive | Any time, unreported | Software, then people | No | Until the search reaches it |
| Distributed | As members vote | The community | No | Until enough votes arrive |
| Automated | Before or after publishing | Software alone, or with people for unclear cases (hybrid) | Only if it runs before | Depends on when it runs |
Pre-moderation
Nothing is published until it passes. It keeps harmful content off the platform, at the price of a wait for the poster and, where people review, a queue that must keep up. It fits profile photos, usernames, listings and spaces for young users.
With a content moderation API:
- The user submits; your server stores the item unpublished.
- Your server calls the API and waits, or sends the check with
"async": trueand shows the item as pending. - No flag above your line, and none you need left in
unchecked: publish. Otherwise reject it or hold it for review.
An answer at once costs twice the async price, so if the poster can wait, the pending route is cheaper; async checks usually run within seconds (async requests).
Post-moderation
Content goes live at once and is checked right after. Nobody waits, which suits busy comments, reviews and chats; the cost is a window in which others can see harm.
- Publish the item and send it with
"async": trueand its id inmetadata. - Get the result by webhook:
moderation.completedfor every finished check, ormoderation.flaggedfor flagged ones only. - On a flag above your line, hide the item and queue it for a moderator.
Reactive moderation
Moderators act only on what users report. It is cheap and uses the reporter's context, but harm stays up until someone reports it, and quiet places may never be reported. Under the EU Digital Services Act, every hosting service must let anyone report illegal content electronically (Article 16), so a platform that serves users in the EU needs a report path whatever else it runs.
- A user reports an item.
- Optionally, check it with the API so the queue can be sorted by flag.
- A moderator takes one of your actions in Logs or your own tool, and your system carries it out (actions).
Proactive moderation
Software or staff look for harm without waiting for a report: an account's older posts after one bad post, or the whole archive after a rule changes. It finds what nobody reports, at the cost of checking much that is fine.
- Send stored items as async checks, each with its id in
metadata. - Act on the flagged results as the webhooks arrive.
- Stay under 1,200 calls a minute per API key; on a
429, wait the seconds inRetry-After(rate limits).
Distributed moderation
Members decide: posts with enough down-votes or reports are hidden, or trusted members work through a queue. It grows with the community and reflects its norms, but it is slow on quiet content, can be gamed by organised groups, and exposes volunteers to harmful material. Voting is a feature you build; an API check can run beside it.
Automated and hybrid moderation
Automated moderation lets software make some or all decisions; hybrid moderation lets it act on clear cases and sends unclear ones to people.
- A check raises a flag when a finding passes the flag's threshold, 0.5 by default; findings below it never come back (flags).
- Above your own, higher line, for example 0.8 (illustrative), your system acts alone.
- Between 0.5 and that line, a person decides.
Some rules require a person for appeals (a summary, not legal advice):
- Turkey. A regulation for social network providers ("sosyal ağ sağlayıcı": services where users create and share content to interact) applies from 1 Nov 2026 to those reachable from Turkey. Appeals about age checks, account suspensions or closures, and measures on accounts of 15-to-17-year-olds need meaningful human review, not fully automated handling (Art. 10/3).
- EU. Under the Digital Services Act, online platforms other than micro and small enterprises (Article 19) decide complaints under the supervision of qualified staff, "not solely on the basis of automated means" (Article 20(6)).
What the timing costs
In Detectivision's documented prices, an async check costs the price table and an answer given at once costs twice that. Text costs one credit per started 2,500 characters async; images are priced per image.
| Setup | API call | Price per check |
|---|---|---|
| Pre-moderation, poster waits | At once | Twice the async price |
| Pre-moderation, item pending | Async | The async price |
| Post-moderation, proactive backfill | Async | The async price |
| Reactive | Reported items only | At once or async price |
Errors and partial results cost nothing.
Mixing them: by content type and by user trust
| Content | A common mix |
|---|---|
| Profile photos, avatars, usernames | Pre-moderation, async with a pending state |
| Marketplace listings | Pre-moderation, async: a seller can wait |
| Comments and reviews | Post-moderation for trusted users, pre-moderation for new accounts |
| Chat messages | Post-moderation, or a check at once before delivery where harm must never show |
Trust moves users between types: pre-moderate new or reported accounts, post-moderate users with a clean history, and put the user's id in metadata to match each result to a trust level. Keep reports open to everyone. Examples by industry: online communities and marketplaces.
What this does not do
Detectivision checks content; it is not a moderation team or a publishing system.
- It does not publish, hide or delete anything. Your system does, when a result or a
moderation.actionwebhook arrives. - It has no report button, voting or reviewers. Reactive and distributed moderation are features you build, and the people in a hybrid setup are yours.
- Flags judge the whole text or image. No word positions, boxes or censored copies come back.
- Text results are reliable in English, Spanish, Portuguese, French, German, Italian, Turkish, Arabic, Russian and Hindi only (text).
- Video, audio and live stream moderation are coming soon.
Frequently asked
What is the difference between pre-moderation and post-moderation?
Timing. Pre-moderation checks content before anyone else can see it, so the poster waits and harm stays hidden. Post-moderation publishes first and checks right after, so nobody waits, but others can see harmful content until the check ends and your system removes it. With an API, pre-moderation means an answer given at once, which costs twice the async price, or an async check while the item shows as pending.
Which type of moderation fits a new app?
Start from what users post and who sees it. A common start: pre-moderate profile photos, usernames and anything shown to many people; post-moderate comments and messages with async checks; and add a report button from day one. Then move users between pre- and post-moderation as you learn whom you can trust.
Is reactive moderation enough on its own?
Rarely. It depends on users reporting, so harm stays visible until someone does, places with few readers may never be reported, and the reporter has to see the harm first. Use it as a backstop next to pre- or post-moderation. In the EU, hosting services need a way to report illegal content anyway (Digital Services Act, Article 16).
Does pre-moderation make posting slower?
Yes, by the time the check takes. If the poster can wait, show the item as pending and send an async check, which costs half the price of an answer given at once. If the answer must come before you reply, call the API at once and measure the delay in your own setup: it depends on the content, and a request for fewer flags answers faster.
A content moderation API checks the text or images you send and says what it found and how sure it is. How requests, results, prices and decisions work.
Send content that can wait, get its id at once, and pay half: results come by webhook.
Put your own data on each request, define your own actions, and act from the dashboard's Logs or the API. Your system gets every action by webhook.
Moderate forum posts, comments, usernames and avatars for insults, hate, sexual content and self-harm, in ten languages, with one API.
Check listing photos, titles, descriptions, reviews and buyer messages for nudity, hate, violence and scam images, with one API.
- Async requests
- Credits and billing
- Flags
- Metadata and actions
- Errors (rate limits)
- Text moderation
- Service status, GET /api/v1/status
- Sosyal Ağ Sağlayıcı Tarafından Çocuklara Özgü Ayrıştırılmış Hizmet Sunulmasına ve Yaş Doğrulamaya İlişkin Yönetmelik (Resmî Gazete 33396, 10 October 2026)
- Regulation (EU) 2022/2065, the Digital Services Act