Composite study

This is a product-class write-up, not a named-client story and not a results press release. Counts below describe the pack we actually write (approach points, tools, layers) — not invented bug totals or conversion lifts.

4
Approach points
4
Tools in the pack
4
Layers covered
3
Challenges documented

Overview

Spam detection was decent. Borderline defamation was auto-cleared because the model optimized for “keep the conversation.”

A copyright takedown in the legal queue was summarized to editors without the attached evidence file, then marked resolved.

Industry pattern this is grounded in

Moderation products fail when automation has write access without the same policy as humans — especially around defamation, CSAM, and copyright claims.

Highlights

Typical launch bar: Wait until journeys and evals agree — do not ship on demo scores alone.

Challenges

01

Precision/recall dashboards hid the legal-hold misses because volume was small.

02

Multilingual comments bypassed an English-only classifier then hit a generative “translate and decide” step that changed meaning.

03

The copilot could see reporter email addresses in the queue.

How we tested

01

Policy fixtures: spam, harassment, legal hold, child-safety (must hard-fail to human).

02

Auto-publish allow-list only. Legal hold cannot be closed by the model.

03

Comments on drafts stay unpublished.

04

Moderator RBAC.

Starting point vs what we required

Starting point versus the controls we required
Starting pointWhat we required
Precision/recall dashboards hid the legal-hold misses because volume was small.Policy fixtures: spam, harassment, legal hold, child-safety (must hard-fail to human).
Multilingual comments bypassed an English-only classifier then hit a generative “translate and decide” step that changed meaning.Auto-publish allow-list only. Legal hold cannot be closed by the model.
The copilot could see reporter email addresses in the queue.Comments on drafts stay unpublished.

What we delivered

01

Adversarial evals

  • Promptfoo — Policy fixtures including jailbroken UGC
02

Journeys / UI

  • Playwright — Queue, hold, publish, unpublish
03

API / contract

  • Postman — Moderator RBAC
04

LLM traces / evals

  • LangSmith — What the model saw vs what was auto-written

Outcomes

Rare-but-severe queues were scored separately from spam accuracy. Child-safety and legal hold had no auto-close tool.

Reporter PII stripped from the model context. Translation-then-decide required a human on legal categories.

Stack

Testing stack used on this product class
LayerToolWhat we validated
Adversarial evalsPromptfooPolicy fixtures including jailbroken UGC
Journeys / UIPlaywrightQueue, hold, publish, unpublish
API / contractPostmanModerator RBAC
LLM traces / evalsLangSmithWhat the model saw vs what was auto-written

Same method as the rest of our work: severity-ranked findings, pass rules in writing, and a ship / wait / block call. See the evaluation method and tool comparison.