TSTier SlateAll templates

Social & feeds

Content moderation - deciding before everyone sees it

Why moderation is a fast automatic gate plus a slow human queue, and what is shown while it decides.

  • System design
  • core
  • 8 step walkthrough
  • 5 tables

Share

  • Facebook
  • X

What this board gets wrong on purpose

The tension

The human review queue is staffed for an average day, and the grey-zone band is a fixed slice of all posts, so a breaking news event that triples posting triples the queue while reviewer headcount stays flat - limited posts then sit unranked for hours and the backlog is invisible to everyone except the authors. The thresholds that decide how much reaches humans are tuned from human verdicts, so a reviewer team that drifts lenient quietly teaches the classifier to send it less. And user reports are counted per post with no weighting for who reports, so a coordinated brigade of 200 accounts can push any post to the front of a queue meant for the most harmful content.

Practise this as an interview

Take Content moderation - deciding before everyone sees it as a timed system design interview on a blank board - on your own, with the requirements to check yourself against, or with a candidate you invite.

Practise this as an interview

Start here

Why this design

Every product that lets strangers post - comments, reviews, marketplace listings, chat, profile photos - needs moderation, and almost every first design gets it wrong the same way: it treats moderation as one function call that returns allowed or removed. In practice there are two very different deciders. A machine answers in a couple of hundred milliseconds and is confidently wrong at the edges; a person takes a minute, is expensive, and there are never enough of them. The design question is how to split the work between the two and, above all, what the post looks like to everyone while the slow one has not answered yet.

What you will learn

  • Why known-bad media is caught by perceptual hash matching before any classifier runs, and why that one lookup is the cheapest, most accurate check on the board.
  • How two thresholds on a classifier score split traffic into allow, limit and remove, and how moving either one by 0.05 changes reviewer headcount by hundreds.
  • The LIMITED visibility state: visible to the author and followers, excluded from ranking, search and recommendations until a person decides.
  • Why the review queue is ordered by expected harm (severity times projected reach), not by arrival time.
  • How reviewer verdicts become labelled data, and the feedback loop that can make the classifier drift towards whatever the reviewers already do.
  • Appeals as a second pass by a different reviewer, and why a decision is an append-only log row rather than a flag on the post.

How to read this board

  1. Press Play. The walkthrough follows one post: SUBMIT on the top left, through the FAST GATE, into VISIBILITY on the right.
  2. Then the SLOW QUEUE along the bottom - reports, reviewers, decisions, appeals - and the dashed wire back to the gate that retrains it.
  3. 1 · Requirements - what must be decided synchronously and what may wait.
  4. 2 · Capacity and 3 · Storage - why the classifier fleet is the easy part and the reviewer count is the hard one.
  5. 4 · Availability - what the gate does when a detector is down.
  6. 5 · How it works, then 6 · Deployment plan, then the DATA MODEL at the bottom.

1 · Requirements

Ask these before drawing anything

  • Which harms are in scope, and are any of them illegal everywhere? Child sexual abuse material and terrorist content have legal reporting duties and hard removal deadlines; spam and rudeness do not. Different policies get different thresholds, queues and retention.
  • Must a post be checked before anyone sees it, or may it publish and be cleaned up? Pre-moderation is safe and slow; post-moderation is fast and leaves screenshots. The answer is usually different per surface.
  • How long may the author wait on the submit button? Past about one second people resubmit, and you moderate the same post twice.
  • Is there a legal clock? The EU Digital Services Act requires a statement of reasons for every restriction and a working appeal route; Germany's NetzDG gave 24 hours for manifestly illegal content.
  • What does the author see when their post is held or removed, and can they appeal?

Functional

  • Every new post and media item passes an automatic gate before it is distributed.
  • The gate returns one of four outcomes: allow, limit, remove, or remove-and-report (for the categories with legal reporting duties).
  • Uncertain posts and user-reported posts enter a human review queue ordered by expected harm.
  • Every restriction produces a decision row with the policy, the evidence and who or what decided, and a notice to the author.
  • Authors can appeal; an appeal is decided by a different reviewer than the original.

Non-functional

  • Gate latency 300 ms at p99, including media hashing, for text and images. Video is checked on the first frames synchronously and fully in the background.
  • Known illegal media matched against the hash list: recall above 99 percent, zero tolerance for being distributed.
  • Grey-zone posts reviewed within 4 hours at p90 on a normal day; reports on the highest severity class within 30 minutes.
  • The gate fails safe per policy - never silently allow everything because one model is down.

Out of scope

  • Writing the policies themselves. The system enforces a policy table; deciding what is harmful is a trust and safety team's job.
  • Account-level abuse (fake accounts, spam rings). It feeds this system a signal, it is not this system.

The rest of this board

Board preview

Available on Tier Slate

This page publishes the question. The answer — 5 more written pages, an 8-step narrated walkthrough and a 5-table schema — is the board itself, and it opens in Tierslate.

  • 5written pages
  • 8walkthrough steps
  • 5tables35 columns

5 pages behind this one

  • Capacity estimation
  • Storage estimation
  • Availability
  • How it works
  • Deployment plan
Open this board in TierslateBrowse every board

More boards

Timelines, follows, fan-out - the read-heavy classics.

  • Social news feed - fan-out on write or on read
  • Media feed - the feed serves URLs, the edge serves bytes
  • The professional graph - degrees, and why it is not a join
  • Comment trees - one range scan, and four writes per vote
  • The social graph - one edge, written twice
  • Home timeline - materialise it, then keep it honest
  • Blog platform - write once, cache everywhere
  • Link previews - fetching a stranger's page safely
  • Reviews and ratings - the average that must not be gamed
  • Stories - posts that delete themselves in 24 hours
All 100 templatesOpen Tierslate
Tierslate

tierslate.com

HomeTemplatesPrivacyTerms