●Trust & safety · Platforms

Screen uploads for AI-generated media at scale.

Flag generated profile photos, synthetic listings and manipulated uploads at the point of upload, and route them to review with the signals attached.

Multi-model detection<3s per imageZero retention
profile_upload_99812.jpgscan complete
Submitted evidence
AI-generated
0.92LIKELIHOOD
Queue for review
Generative fingerprint
92
Face region
86
Frequency artefacts
79
C2PA / EXIF
20
<3sMedian result time
4Independent signal families
0Files retained
C2PAProvenance read

●Platform

Detect it. Explain it. Act on it.

Every scan returns the same three things: a result, the signals that produced it, and a decision you can route on.

profile_upload_99812.jpgintake · 10:42:08
AI-generated
profile_upload_99813.jpgintake · 10:42:11
Real
profile_upload_99814.jpgintake · 10:42:15
AI-generated

01

Detect

Every file is scanned by independent models for images, video and faces, in the web tool, the extension or by API.

Generative fingerprint
92
Face region
86
Frequency artefacts
79
C2PA / EXIF
20

3 / 4 signals corroborateCalibrated likelihood

02

Explain

See which signals fired and how strongly. No single model decides; every result comes with its reasons.

Allow
Queue
Review

Rule: likelihood ≥ 0.85 → Queue<3s

03

Route

Branch your workflow on the result. Clean items pass, flags go to review with a full audit trail.

●What we catch

What gets through today.

Flagged at the point of submission, before it reaches a reviewer.

01

Generated profile photos

Fake faces behind bot networks, scams and fake reviews.

02

Synthetic listings

Generated product, rental and property photos that don’t exist.

03

Manipulated uploads

Edited or face-swapped images used for harassment or impersonation.

04

Reused images

The same image across many accounts, caught by perceptual hashing.

The pipeline

A detector for each kind of media.

Image, video and voice each have their own detector. Their findings come back as one clear answer you can act on.

Image

Diffusion, GAN and face-swap images from Midjourney, DALL·E, Stable Diffusion, Flux and Firefly.

Live

Video

Face swaps across 32 frames and fully generated video from Runway, Kling, Veo and Pika.

Live

Voice

Cloned and synthesised speech in calls, notes and recordings.

Live

What you get

Each file is marked Allow, Queue or Review, with the likelihood, signals and audit ID behind it.

One answer

●Where it runs

One check, every upload surface.

Score avatars and verification photos at account creation.

Screen product and property photos before they go live.

Give moderators the signals behind every flag.

●How it works

Three steps. One result.

01

Send media

POST each upload to the API, synchronously or in batch.

02

Branch on the result

Allow, queue or block on likelihood or individual signals.

03

Review with context

Moderators see the heatmap, signals and audit ID.

●Integration

Three ways in.
Start with the web app.

Scan in the web app or Chrome extension today. The REST API and MCP server for your AI agents are coming soon. Same detectors, same result, same audit trail.

Web app

Available

Upload in the web app. Images, video and voice, up to 50 MB. Full results in seconds.

witness.vision/scan
Page media● Scan
profile_upload_99812.jpg · AI-generated · 0.92

Chrome extension

Available

Scan any image or video from inside the tools your team already uses. No download, no upload.

portal.example.com
Page media● Scan
profile_upload_99812.jpg · AI-generated · 0.92

API

Soon

Single scans, batch jobs and webhooks. Structured JSON with result, likelihood, signals and audit ID.

POST /v1/detect
curl -X POST https://witness.vision/api/v1/detect \
  -H "Authorization: Bearer $WITNESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"media_url": "https://…/profile_upload_99812.jpg"}'

→ 200 OK · 412ms
result: ai_generated · 0.92

●Why Witness

Built to be checked.

We say what the system does, what it returns and where its limits are.

Specialized models

Detection built per signal

Specialized models per signal, so you get more coverage and fewer false positives than one classifier.

Explainable

Reasons, not just a score

Every result shows the signals behind it and where in the file they fired.

Zero retention

Analysed, then gone

Media is never stored, shared or used for training.

C2PA

Provenance, when it exists

Reads Content Credentials from capture device to current file.

●Pricing

Priced around your volume.

No minimums and no long-term contracts. Tell us your volume and we will quote within one business day.

Free

$0

  • 20 image scans a month
  • 2 min video/voice total
  • Full heatmaps
  • Generator attribution
  • EXIF/C2PA/SynthID
  • Web and Chrome extension
Create free account

●Pro

$15 / month

  • 1,000 image scans a month
  • 10 min video/voice total
  • Everything in Free
  • Faces and face-swap specialist
  • API and MCP access (500 calls/mo)
  • PDF and CSV export
  • Cloud scan history
  • Email support
Get started →

Enterprise

Custom

  • Volume pricing
  • Everything in Pro
  • SSO and audit logs
  • Dedicated support
  • Custom SLA
  • On-premise option
Talk to sales

●FAQ

Common questions.

Something else? Talk to our team

Can it run on every upload?

Yes. The API handles synchronous checks and batch jobs. It is coming soon, talk to us about volume.

Do you store our users’ media?

No. Media is analysed and discarded.

Can we set our own thresholds?

Yes. Every response includes the likelihood and per-signal scores so you can write your own rules.