Thnkrr Moderation — The One Plan

7 October 2026. This is the single current answer on moderation: what we use, what we keep, how it holds up when 10,000 students arrive on day one, what's left, who does what, and what the safety team can do. It replaces the earlier summaries (the decision brief, "How we check writing", and the 29 September status page). Those stay in the code repository as background, but if they disagree with this page, this page is right.


1. What we use — in one table

Every post, comment, message and profile is checked before anyone else sees it. The writer sees it straight away, marked "being checked". This is LinkedIn's approach, made stricter for minors: LinkedIn shows most posts first and checks again later.

StepWhat it doesWhat we useBuilt?
1. Our own rulesIn under a thousandth of a second, blocks phone numbers, emails, social handles and links, even when disguised with look-alike letters or hidden charactersWritten by us. Every platform has these; nobody shares theirsYes, running
2. Known bad pictures and videosStops a picture or video we removed from coming back; later, matches known child-abuse images against the national listsOur own matching today. Later the free lists: Microsoft PhotoDNA, NCMEC, IWF, Project Arachnid, Google CSAI MatchPartly. Our own matching works; the lists need your applications
3. AI check of writingReads the post against our written rules: bullying, sexual content, grooming signs, self-harm, contact-swappingDecided: OpenAI's free safety AI (gpt-oss-safeguard), run by Amazon (its AI service, Bedrock) in Amazon's US East location. Details in the one-pager What AI Checks Students' WritingBuilt and tested. Its first real check happens once the Amazon account is set up (§6). Until then, a person checks everything
4. AI check of picturesFlags nudity, violence, weapons and drugs in photos and video frames, so reviewers see the worst firstAmazon's picture checkNo. Waits on the Amazon connection and one Amazon setting
5. Child-safety specialistSpots grooming and new abuse material that general AI missesThorn, or Hive (which uses Thorn's model)No. Waits on a price quote; both emails are drafted
6. PeopleDecide anything the AI isn't sure about, every photo and every video, every report, and all child-safety casesOur reviewers, each with their own login, wearing hats so each person sees only their own concern (section 7)Yes
7. Legal dutiesIntimate-image removal (2 hours), complaints (24h / 36h / 7 days), impersonation (2h), court and government orders (3h), evidence kept a year, crisis linesBuilt by usYes

No OpenAI agreement is needed. The AI is OpenAI's free model, but Amazon sells and runs it. OpenAI isn't a party to our contract and never receives students' writing; Amazon may share only usage information that "does not include Your Content" (Amazon Service Terms §50.12.5). The written promise that students' writing is never used to train AI comes from Amazon, the only company that touches it. That promise is already in force, with nothing to sign.

What launch day looks like: steps 1, 2 (our own matching), 3, 6 and 7 work, once the Amazon account is connected and the AI's first real checks pass. Until then a person checks every post, which is safe but slow. Steps 4 and 5 come later.


2. Speed: what happens when 10,000 students post at once

How long one post takes

PostOur rulesProcessingAI checkA personWhat the student sees
Text onlyUnder 1 ms (measured)—2–6 seconds (estimate; to be measured)Only if the AI is unsurePosted in a few seconds
Photo + textUnder 1 msAbout 1 second per photo (estimate)Words: 2–6 s. Photo: Amazon's check, under a second (not built yet)Every photoPosted when a reviewer approves it
Video + textUnder 1 ms2–3 minutes per minute of video (estimate)Words and speech: 2–6 sWatches every video in full (up to double speed)Posted when a reviewer finishes watching

10,000 text posts in the same minute

Amazon lets us run up to 10,000 AI checks a minute in its US East location. How fast we clear a burst depends on how many we run at once:

Checks running at onceWhen the last post is cleared
1 at a timeMany hours
12 at once28–83 minutes
300 at once (our setting, built)About 2 minutes. In our own test, with a stand-in AI taking 2–4 seconds per check, 10,000 posts cleared in 103 seconds
About 600 (Amazon's ceiling for one location)About 70 seconds

What's built for this:

The real speed of Amazon's AI is measured in the first week on the real account (§6).

How LinkedIn does it:

We're doing the same, except a student's post waits for the AI check rather than going out first.

Photos at speed

Amazon's picture check handles 50 photos a second in US East, which is 3,000 a minute. Each photo gets two checks: one for nudity and violence, one for text in the picture. So 1,000 photos posted at once are all pre-screened in about 40 seconds, and reviewers open the list with the riskiest photos already on top.

The real bottleneck: people and video

AI checks scale. People and video processing don't.

The options are in Decisions for you, section 5.


3. Why we don't just use what other companies built

LinkedIn and Upwork build their own and publish none of it. Here's what is available, and what we do with each:

ToolWho made it, who uses itOur callWhy
Child-abuse image lists: PhotoDNA, NCMEC, IWF, Project Arachnid, Google CSAI MatchMicrosoft, child-safety charities, Google; used by almost every platformUseFree and proven. Needs your applications, then about a day of work
Meta's picture and video fingerprints (PDQ, vPDQ)Meta, free and openUseThe format the shared child-abuse lists use. About a day of work
Amazon's picture checkAmazonUseAlready in our Amazon plan; a few dollars a month
Roblox's contact-swap detectorRoblox, free and openTest firstSpots students trying to swap numbers or handles in clever ways. Must prove it fits on our small server
Thorn's grooming detection (or Hive)Thorn: used by X and 80+ platformsTest first, then useThe best at grooming. It's paid, so we need their price, then test it on our examples
WebPurify human reviewersIntouchCX's teamGet a quote, with conditionsCheap and fast for launch-day surges. Their standard terms let them share and train on images, so we need a signed change first
ROOST's review tool (Coop)Open source, newly releasedDon't useWe already built our review list. Coop needs extra databases and has an OpenAI connection built in
Discord's rules engine (Osprey)Discord; also Bluesky and MatrixDon't use for the pilotIt's a tool for writing rules, not a set of rules. Discord's real rules (2,288 of them) aren't included. Out of the box it catches nothing useful (its sample rule flags the word "hello"). It needs Kafka plus six more database services, and has no published accuracy. Our rules already catch contact details, disguised text and self-harm phrases
OpenAI's free checkOpenAIDon't useSee the one-pager

Is Discord's Osprey better than our rules? No, because it isn't a set of rules at all. It's the empty machine Discord runs its rules in; the rules themselves stay private. An empty machine has no accuracy of its own. Discord's published numbers (about 85% automated, but 4 in 10 automated actions wrong) don't mention Osprey, and that error rate is exactly why our unsure cases go to a person. We are borrowing four of its ideas, inside our own database:

We'll look at Osprey again only if a full-time safety analyst needs to write new rules every week, and we face coordinated abuse across many accounts.

Why "test first" and not "plug in": an outside tool can wrongly block innocent students or miss real harm in our kind of writing: Indian English, Hinglish, school slang. We run each one on our own test examples first. That takes days, not months.


4. Everything left — nothing hidden

Built and tested

Everything here is finished and tested. It's waiting to be added to the app's main version, which happens before the first deploy.

Both are in the test version of Thnkrr, with everything above.

Not built yet

ItemWhy it mattersWhen
Amazon's picture checkReviewers see the riskiest photos firstNext, once the Amazon account is set up
A bigger test set and a week of speed measurementsNeeded before trusting any AI with real studentsOn the real Amazon account (§6)
Spotting re-edited copies of a removed videoToday only the exact same file is caughtAfter the child-abuse list applications
A public supplier list pageFamilies and schools must see every company that handles students' data. It lists Amazon, and any review vendor we addBefore the first real student
Connecting WebPurify's reviewers to our review listTheir answers would land in our list, and our team keeps the final sayAfter their quote is accepted

Built, but only provable on the real Amazon account: the AI's first real check, the delivery network dropping removed photos, the secure database connection, and the server's access to file storage. All four are on Adarsh's checklist (§6).

Next for the hats (section 7): phone or text alerts once there's an on-call rota, and a narrower hat for an outside review vendor if WebPurify is added.

Deferred on purpose

ItemDecided by, when
Hindi pages, including the safety pagesYou, 25 September
India's check that a guardian is an adult (DigiLocker)Needed from 13 May 2027
Looking across a whole mentor conversation for riskTeam; during the pilot, after the grooming check
Automatic penalties for repeat rule-breakers (for example, a third removal suspends the account on its own). Reviewers can already suspend and ban by hand (section 8)Team; during the pilot
A word list for display namesTeam; during the pilot
Running the AI on our own serverRejected (about $480–590 a month)

Stand-ins to switch off before real students


5. Decisions for you

The technical choices are ours. Decided, for your information:

These are yours:

  1. Does a person still see every photo and video? That's what we've promised families and built. You said "AI screens, a supplier for later". The two fit together like this:
    • (a) Keep the promise and cover launch-day surges with WebPurify's reviewers (about 2 cents a photo, about 5 minutes). We recommend this for the pilot.
    • (b) Let the AI approve photos it's very sure about. Faster, but a promise to families changes.
  2. Video for launch week. Lower the limit from 15 minutes to 3? The longest video then takes a fifth of the processing and reviewing time, and it's a setting we can raise later.
  3. Names:
    • Vidhi is Child Safety Lead and handles everything a review vendor escalates. Before her first case: a background check (CMU verifies her details, or we use Checkr) and free child-safety training. Is she also the person who files NCMEC reports?
    • We need a second safety handler.
    • We need India's Grievance Officer, whose name goes on the site by law.
    • We need a Safety Admin (you or Adarsh), who sees every list and is told when anything is late.
    • Each hat needs a backup person (section 7). Until the names come, the demo uses stand-ins.
  4. Send and sign:
    • NCMEC registration
    • the five free child-abuse list applications
    • the Thorn and Hive emails
    • the WebPurify quote, with our conditions: a signed data agreement; nothing kept after each decision; no sharing or training on our images (their standard terms allow both); no face analysis; where their reviewers work; their child-abuse matching; and a price for checking held text
  5. The Community Guidelines. You referred to the published guidelines, but there is no page on the site. Send us the text, or approve us drafting it with the deadlines above.
  6. Mentor messaging stays off until the grooming check is live. Confirm.
  7. Our lawyer: the Terms, the Privacy Notice, and the deadlines and at-risk procedure above.
  8. Rules for suspending and banning (section 8). Built as below; each is a setting, easy to change. Confirm or change:
    • Who may ban an account: the Child Safety Lead and the Grievance Officer. Moderators can't ban.
    • How long a moderator can suspend someone: up to 7 days. The other two hats can suspend for up to a year.
    • How a member appeals: the email they get points to the public complaint form ("A problem with an account"), and a Grievance Officer answers it.
    • Who is told: the member is always emailed the reason, unless it's about child safety or an intimate image. Then they're never told, because telling them could warn an abuser.

6. Adarsh's checklist: connect it, then smoke-test it for real

Nothing below has ever run against the real service. Each one needs a real connection and a short smoke test before the pilot. Tick each one when it has passed.

Amazon account (do first)

AI check (once the connection is written)

Pictures and video

Email

People and legal

The team's tools (section 8), with test accounts only

Load (last)


7. Who does what: staff hats

Decided and built (7 October), in the test version. Nobody on the team handles every kind of moderation at once, so each person wears one or more hats. Their screen shows only the lists their hats cover, so anyone looking at it knows what they're meant to do. This is how other platforms work too: specialist teams, child-abuse material seen only by trained people, and named officers for complaints and legal orders.

HatWho (for now)What they see and act onTheir deadlines
ModeratorThe reviewersThe review list (posts, comments, messages, photos, videos), member reports, appeals, referring a student at risk to their schoolMember reports: 36 hours, or 2 hours for impersonation
Child Safety LeadVidhi, plus a backupChild-safety cases, intimate-image removal requests, reports to NCMEC and the police. Ordinary moderators can't see theseIntimate images: 2 hours. Internal targets: confirm a case in 4 hours, report it in 24
Grievance OfficerTo be named, plus a backupThe public complaint form, and court and government ordersAcknowledge in 24 hours; resolve in 36 hours, or 2 for impersonation; orders in 3 hours. Internal target: general complaints in 7 days
Safety AdminYou or AdarshEvery list, combined, view only. Who wears which hatTold whenever anything is late

How it works:

What's left for the hats:


8. What the safety team can do, and what the person on the other side sees

Built and tested 7 October. Every item opens like a case, the way professional moderation tools (Meta's, Discord's, LinkedIn's) work: what came in, what it's about, who it's about, and buttons that carry the decision out. Every action is checked from both sides: the reviewer's screen, and the screen of the person it affects.

What the reviewer sees

What the reviewer can do

ActionModeratorChild Safety LeadGrievance Officer
Approve or turn down held writingyesyes–
Remove a post, comment, one photo or videoyesyesyes
Remove a photo and block every copy–yes–
Warn (the first step: nothing restricted, but they're told)yesyesyes
Pause new posts (each one waits for a reviewer)yesyes–
Send to the Child Safety Leadyes––
Stop posting and messaging entirely (a possible-ban case)–yes–
Suspendup to 7 daysyesyes
Hide a profile while you check it (impersonation)–yesyes
Ban–yesyes
Refer a student to their school counselloryesyes–

The Safety Admin sees everything and acts on nothing; their screens say who can act, by name. Staff accounts can't be changed from a case.

The ladder is warn, then suspend, then ban, as on every large platform. Child safety skips the ladder: a moderator who sees grooming or a child at risk presses "Send to the Child Safety Lead". The item stays held, a child-safety case opens (the Child Safety Leads are emailed), and the person can't post, comment, message or send requests at all until the Child Safety Lead decides. Nothing already waiting from them can be approved, and only the Child Safety Lead can lift it.

Every action asks why, from a fixed list, and is recorded on the item it came from ("Done from this item: Banned Tyler Novak — Arjun Mehta") and in "Who did what". A court order closes itself when something it names is removed. Complaints are answered with ready-made replies in plain words.

What the person on the other side sees

What happenedWhat they see
Their post or comment was removedIt disappears for everyone, with no placeholder. They get a notification: "We removed your post because it bullies or harasses someone", with "Think we got it wrong?"
Their held writing was turned down"Your post wasn't posted", with a way to fix it
They were warnedA notification and an email: what they did, and that a suspension comes next
They were suspendedAt sign-in: "Your account is suspended until 9 October because …", with an appeal link. Their profile and posts disappear for others until then
They were bannedAt sign-in: "Your account has been closed because …", with an appeal link
Their profile was hiddenThey can still sign in; a notification says others can't see their profile while a report is checked
A possible-ban case is openA neutral notice: "We've limited some activity on your account to protect our community." The post and message boxes are switched off
They reported something"We removed the post you reported", "it's staying up", or "our safety team is looking into it". It never names anyone
They filed a complaintThe reply appears on their complaint's status page

Child safety is always silent. For anything about child safety or an intimate image, the person is never told the reason: no email, no notification reason, no reason at sign-in. Telling them could warn an abuser.

How it's tested

What's left

Sources for every number: Amazon's Bedrock quotas, model and lifecycle pages, Rekognition limits, LinkedIn Engineering posts (2017–2024), the OpenAI gpt-oss-safeguard report, Amazon's Service Terms §50, and our own timing tests. All checked 5–6 October 2026. Details are in the code repository's moderation docs.

●  Have your own?

// Publish your own markdown.

Write your own
Thnkrr Moderation — The One Plan · DocHouse