AI-Powered Content Moderation at Scale: SafeChat Platform

doordash · E-commerce · 2025 · source Agentic: no · promotional bias: med · summary-only (no fetched source) · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Marketplace safety moderation

DoorDash needed to moderate high-volume chat, image, and voice communications between Dashers and consumers in real time while balancing safety, latency, cost, and false positives.

Constraints:

Architecture

SafeChat moderates DoorDash Dasher/customer text, image, and voice communications with a cost-aware cascade. The original text path used three external layers; after collecting production labels, DoorDash replaced the first two layers with an internal safeScore/unsafeScore classifier and reserved a precise external LLM for the small ambiguous/high-risk tail. Image and voice paths use separate model-selection, threshold tuning, and rollout processes.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  internal-text-classifier["internal-text-classifier"]
  precise-external-llm["precise-external-llm"]
  graduated-response-engine["graduated-response-engine"]
  image-moderation-model["image-moderation-model"]
  threshold-tuning-dataset["threshold-tuning-dataset"]
  voice-moderation-rollout["voice-moderation-rollout"]
  human-safety-agents["human-safety-agents"]
  internal-text-classifier --> precise-external-llm
  internal-text-classifier --> graduated-response-engine
  precise-external-llm --> graduated-response-engine
  graduated-response-engine --> human-safety-agents
  image-moderation-model --> threshold-tuning-dataset
  voice-moderation-rollout --> human-safety-agents
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
internal-text-classifier Primary high-volume model that scores incoming messages as safe or unsafe and clears most traffic without external LLM cost. precise-external-llm, graduated-response-engine
precise-external-llm More expensive high-precision review layer for ambiguous or high-risk messages, scoring profanity, threats, and sexual content. internal-text-classifier, graduated-response-engine
graduated-response-engine Maps model scores to interventions such as warning, safety escalation, or penalty-free cancellation options. precise-external-llm, human-safety-agents
image-moderation-model Granular computer-vision model selected through shadow testing and tuned thresholds for delivery images. threshold-tuning-dataset
threshold-tuning-dataset Curated set of inappropriate and previously misclassified examples used to tune image decision thresholds. image-moderation-model
voice-moderation-rollout Asynchronous moderation extension for voice calls, separate from the real-time chat/image path. human-safety-agents
human-safety-agents Escalation layer for cases that need human safety review or operational follow-through. graduated-response-engine, voice-moderation-rollout

Data flow

A chat message first passes through an internal model that outputs safeScore and unsafeScore. High-confidence safe messages clear immediately; suspicious messages go to the precise external LLM, which scores profanity, threats, and sexual content and can trigger graduated actions such as penalty-free cancellation. Images enter a separate vision pipeline tuned through shadow testing and threshold refinement, while voice moderation rolls out asynchronously.

“For each message, it produces two complementary values: a safeScore and an unsafeScore that always sum to 1.”summary, stated
“The model scored each message from 0 to 5 across three distinct categories: profanity, threats, and sexual content.”summary, stated

Why this architecture

DoorDash used cascades because moderation must balance cost, latency, and precision at delivery-platform scale. Production labels from the first architecture became the training data for a cheaper internal classifier, while the precise external LLM remained available for the rare messages where confidence and nuance mattered most.

“This architectural evolution demonstrates several key LLMOps principles: the importance of data collection in production, the value of investing in custom models for high-volume use cases, and the need to continuously optimize for the cost-latency-accuracy tradeoff.”summary, stated

Models used: free moderation API · fast LLM · precise LLM · internal moderation model · granular computer vision model

Scale

Alternatives considered (roads not taken)

Send every message to the slowest, most precise LLM

Rejected because: The cascade reserves expensive precision for the rare ambiguous/high-risk tail while cheaper layers clear routine content.

“The third and final layer employed the most precise LLM model, which was also the slowest and most expensive. At this stage, DoorDash had high confidence that the message being evaluated had genuine potential to be unsafe.”summary, stated

Keep relying on external models after enough production labels existed

Rejected because: DoorDash trained an internal first-layer model from production labels to make high-volume moderation more sustainable.

“The newly trained internal model replaced the first two layers, becoming the primary filter for incoming messages.”summary, stated

Deploy the first image API directly to production

Rejected because: Shadow testing and manual review exposed false positives, so DoorDash selected a more granular vision model and tuned thresholds first.

“The team began with a shadow testing phase, sending every image through an external vision API for two weeks while collecting results.”summary, stated
“Manual review of both flagged and unflagged samples revealed a significant false positive rate that made the initial API unsuitable for production deployment.”summary, stated

Patterns

model-routing (moderation-cascade)

SafeChat routes most messages through cheap or internal classifiers and reserves expensive precise LLM review for the small fraction of risky or ambiguous content.

“By the end of this second layer, around 99.8% of all messages were identified as safe, leaving only 0.2% requiring the most intensive analysis.”summary, stated

fine-tuning-adaptation (custom-model-optimization)

DoorDash used production labels from the external cascade to train an internal model that replaced the first two external layers.

“After running the three-layer approach for several months, DoorDash accumulated approximately 10 million labeled data points from the production system.”summary, stated

data-quality-loop (moderation-evaluation)

The image pipeline used shadow testing, manual review, curated datasets, and threshold tuning before production deployment.

“Manual review of both flagged and unflagged samples revealed a significant false positive rate that made the initial API unsuitable for production deployment.”summary, stated

canary-rollout (voice-safety)

Voice moderation was first enabled without automatic actions so the team could review flagged conversations and refine thresholds before enforcement.

“The solution DoorDash developed showcases pragmatic LLMOps practices including model cascading, continuous evaluation, cost optimization, and phased rollouts.”summary, implied

human-in-the-loop-gate (safety-enforcement)

Severe or repeated violations escalate to human safety agents after automated detection and graduated interventions.

“Finally, severe or repeated offenses are escalated to human safety agents who can impose consequences ranging from temporary suspension to permanent platform removal”summary, stated

Tradeoffs

How to balance cost, latency, and precision in text moderation.

Chose a cascading model architecture over sending every message to the slowest and most precise LLM.

Rationale: The cascade clears most safe messages cheaply and quickly, while using expensive review only where risk justifies it.

“use the cheapest appropriate model for each task and reserve expensive resources for cases that truly need them.”summary, stated

How to expose automated moderation actions to users.

Chose graduated responses that sometimes give users a penalty-free cancellation option over only applying opaque automated enforcement.

Rationale: This combines automated risk detection with user agency and fairness in potentially unsafe delivery interactions.

“the system gives the Dasher or consumer the option to cancel or reassign without cost or penalty, empowering users to protect themselves while ensuring fairness.”summary, stated

Gotchas (what bit them)

A broad image safety API created too many false positives.

Root cause: The initial image API returned coarse unsafe/safe categories that could not distinguish diverse image-safety cases well enough.

Resolution: DoorDash switched to a more granular model and tuned thresholds against curated positive and false-positive examples.

“Unlike the initial API that only returned broad unsafe/safe categories, they selected a model that produced a richer set of subcategories with individual confidence scores.”summary, stated

External LLM cascades were too expensive for sustained high-volume moderation.

Root cause: The first architecture relied on several external models even though most traffic was safe.

Resolution: Production labels bootstrapped an internal classifier that handles most messages under lower latency and cost.

“using an initially expensive external system to generate training data that could then be used to train a more efficient internal model.”summary, stated

Voice moderation could not prevent unsafe content before it was heard.

Root cause: Voice is an asynchronous or in-progress channel where inline blocking is less straightforward than chat/image delivery.

Resolution: SafeChat uses reactive call-dropping, contact prevention, and a phased rollout with manual review before automated enforcement.

“For asynchronous channels like voice calls where prevention isn't possible, the system can drop calls in progress and prevent further contact between the same parties.”summary, stated

Evaluation

DoorDash evaluated SafeChat through production labels, shadow testing, manual review of flagged/unflagged samples, curated threshold-tuning datasets, latency distributions, and safety-incident outcomes.

Metrics: messages cleared by each layer · false positive rate · latency · threshold performance · safety incident reduction · model cost

“The team conducted multiple rounds of threshold tuning against a curated dataset that included both inappropriate content and previously misclassified images.”summary, stated
“This cautious approach allowed them to evaluate the API's performance without impacting users.”summary, stated

Outcomes

SafeChat processes millions of daily messages, hundreds of thousands of images, and voice calls exchanged between Dashers and consumers.

3 supporting quotes
“Since launch, SafeChat has achieved a 50% reduction in low to medium-severity safety incidents while maintaining low latency”summary, stated
“With this two-layer architecture, 99.8% of messages are handled by the internal model alone”summary, stated
“The internal model responds in under 300ms for most messages, with only flagged messages experiencing up to three seconds of latency.”summary, stated