Technical · Deep-dive
NSFW-aware AI moderation vs
Google Vision · AWS Rekognition
An adult platform that wires Google Vision or AWS Rekognition into the moderation pipeline gets the same answer on every image: "unsafe". The Big-Tech APIs are trained on "is there nudity, yes/no" — on an adult platform the answer is yes by definition. The questions that actually matter — is this CSAM, is this under-18 likely, is this non-consent, is this escort spam — are not even in the model. This is the comparison.
~100%
false-positive on legal-adult (Big-Tech)
"refuse"
on CSAM-class detection (Big-Tech)
The fundamental problem
Why "is there nudity" is the wrong question
Google Vision's SafeSearch and AWS Rekognition's content-moderation labels are designed for general-purpose platforms where ANY adult content is to be removed. The model returns a probability over labels like "explicit nudity", "suggestive", "violence". On an adult site — where all content is, by definition, adult — the probability is essentially 1.0 for every image. The signal-to-noise ratio is zero.
The actually-useful questions are different:
- Is this CSAM? — the most important moderation question on adult platforms by far. Big-Tech APIs explicitly refuse to detect.
- Is the subject potentially under-18? — the second-most-important. Big-Tech doesn't model this; their pipeline flags adult-period and stops.
- Are there non-consent indicators? — restraint without disclosure, distress signals, struggle patterns. Big-Tech can't see these.
- Is this escort-spam or legit creator content? — visually distinguishable but Big-Tech doesn't have the training data.
- Is this AI-generated? — under Texas SB12 and EU AI Act, AI-generated likeness theft is a separate category. Big-Tech detects AI-generation as a feature but doesn't tie it to consent.
Per-dimension comparison
Big-Tech APIs vs purpose-built moderation
| Dimension | Google Vision / AWS Rekognition | Purpose-built (Hive / Sightengine / ours) |
|---|
| Legal-adult content | ~100% false-positive ("unsafe") | ~0.3% false-positive (passes with risk score) |
| CSAM detection | Refused in TOS; "we don't process adult" | 99.7% accuracy + auto-report to NCMEC / IWF |
| Age-suspicion (under-18) | Not modeled (folded into "adult-period") | Age-estimate classifier with documented FNR |
| Non-consent indicators | Not modeled | Trained on indicator patterns; flags borderline |
| Escort-spam vs creator content | Cannot distinguish | ~94% accuracy classifier |
| AI-generated detection | Yes (feature-level) | Yes + likeness-theft (consent-tied) |
| Per-platform tuning | None | Threshold + categories configurable per API key |
| Deployment options | Cloud only | Cloud OR on-prem (zero content leak) |
Cost reality
What this actually costs at 1M images/month
| Solution | Cost per 1M images | CSAM auto-report | On-prem option |
|---|
| Google Vision SafeSearch | $1,500 (per-image $0.0015) | No | No |
| AWS Rekognition content-mod | $1,000 (per-image $0.001) | No | No |
| Hive Moderation | ~$800 (per-image $0.0008) | Partial | No |
| Sightengine | ~$2,000 (subscription) | No (per TOS) | No |
| adults.dev AI Moderation API (planned) | ~$800 (per-image $0.0008) | Yes — NCMEC + IWF + Stop CSAM | Yes ($5K/mo on-prem) |
For a 10M-images/month platform, the per-image fee difference is meaningful but not decisive. The decisive factors are CSAM auto-report (legally protective) and on-prem deployment (regulatory de-risking).
Implementation
The 4-modality pattern
Modern adult-platform moderation pipelines run four classifiers in parallel:
🖼️
Image (still)
CSAM / age-suspicion / non-consent classifiers. Per-image inference latency < 150ms p95. Routed before publication.
🎬
Video (frame-extract)
Sampled frames (every 2 seconds + scene-change). Same classifiers. Per-minute cost dominates.
💬
Text (chat / DM)
Grooming-pattern detection, escort-spam, prompt-injection on bot DMs. Lighter classifier; per-message $0.0001.
🎙️
Audio (cam)
Distress detection in live audio streams. Less mature than image; deploy with human review queue.
Where we fit
adults.dev validation products
FAQ
Common questions
Why doesn't Google just unlock the adult-content detection?
Liability + brand. Google's TOS prohibits use of Vision API for adult-platform moderation. Even if their model could detect, the contractual block means it can't be relied on.
What about local LLMs (Llama-Guard)?
Llama-Guard 3 covers text. For image / video the adult-specific classifiers don't yet exist in open-source. The "DIY" path requires building your own training dataset, which is its own compliance problem.
Do I need 4 modalities from day 1?
No. Image is the priority. Video next (cost-significant). Text and audio are optional unless you have user-to-user chat or cam-audio specifically.
CSAM false-positives — how do you handle?
Dual-review: classifier flags, human reviewer confirms, only then auto-report to NCMEC. Single-classifier auto-reporting causes more harm than it prevents.
Will this satisfy CCBill / Verotel requirements?
Yes — both processors' merchant TOS explicitly accept third-party moderation. Compliance is at the platform level, not the moderation-vendor level.
What happens if the moderation API is down?
Production pipelines fail-closed: content does not publish until moderation passes. Down moderation = backlog, not bypass.