scrubjoin waitlist
a new standard for moderationlaunching 2027

moderation that doesn't suck.

what it is

write your policy in plain english. one api decides, and tells you why.

the problem

keyword filters miss the pattern. a score is not a reason. and someone else's taxonomy is not your policy.

02 · how it worksone api. three stages. any stage can end it.
1flashchecks explicit policy rules and matching previous decisions. unresolved messages move to echo.
2echoevaluates supported moderation categories. results that need further evaluation move to deep.
3deepexamines ambiguous content against your policy and the context you provide. returns a decision with a policy reference, or flags the message for review.

result: allow, block, or review, with the stage used and the policy version. today flash runs rules, echo is model classification, deep reads a demo policy. planned: a cache in flash, your own policy in deep.

03 · targets & reach

what we're designing for.

planning assumptions, stated plainly, and the network that carries them. measured results replace the targets as reports are published below.

target time per stage
≈ 91 ms
predicted average complete request, derived from the targets below
flash
~1 ms
echo
~40 ms
deep
~250 ms

stage execution, not complete request time. targets, not measurements.

target routing
≥ 80%
of messages resolved before deep, on ordinary chat traffic
resolved before deep
≥ 80%
reaches deep
≤ 20%

recall target > 90% across categories. targets, not measurements.

reach · close to your users
330+
locations. scrub runs on cloudflare's edge network: one endpoint, no region to pick. a request is answered near where it starts, so the round trip is short before any stage runs.
04 · measured performance

numbers, when we have them.

nothing is published until it comes from a reproducible run. the first report ships with its method attached.

benchmarking in progressupdated 2026-09-07
  • complete api latencypending
  • per-stage timingpending
  • routing distributionpending
  • classification qualitypending
  • unresolved resultspending
  • costpending

measured on a fixed reviewed set and a fresh challenge set, cold and warm, with confidence intervals. today: flash runs rules, echo runs gpt-oss-safeguard-20b, deep runs gpt-oss-safeguard-120b. a stage is final at allow ≥ 0.85 or block ≥ 0.90.

05 · how it improves

no mystery retrains.

hard cases become new rules and sharper rubric wording. every change passes the evals before it ships.

  1. 01
    rules, not weights

    hard cases become new flash rules and sharper rubric wording.

  2. 02
    evals gate every change

    a fixed set and a fresh challenge set. no category may lose recall.

  3. 03
    versioned, reversible

    every promotion is a version bump. rollback is one call.

projected recall on the challenge set · 90 days
projection · not measured
78% → 93%vs 74% if nothing shipped
60%70%80%90%100%day 0day 15day 30day 45day 60day 75day 90
frozen at launchwith gated updates
drawn from a model of gated promotions and slang drift, not from data.
06 · waitlist

we're not live yet. but we'reclose.

one email when keys are ready. nothing else.