BBC broadcast bug visible. Mundane scene, no temporal anomalies in the frame pair, no face morphing.
How VERI-fy decides. Published in full.
Stage 0 to 2
The two-stage pipeline.
Capture
Every 5 s, we take two screenshots of your primary display ~50 ms apart. Downscaled to 1280 px wide, JPEG quality 60. VERI-fy windows are excluded from the capture.
Grounded context
If the model self-flags needs_grounding, we run a Google Search pass that asks two queries: a skeptical one and a verification one. Result is cached for 60 seconds.
Structured verdict
The frame pair plus the optional grounding signal go to Gemini with a strict-JSON schema. The response gives observations, verdict, confidence, 10 metrics, artifact boxes, reasoning.
Mandatory grounding overrides: a CONFIRMED_AI signal forces verdict AI_GENERATED, HIGH. A DISPUTED signal forbids the combination REAL + HIGH. We trust the consensus of the open web over the model's in-frame hunch when the open web has spoken.
Inside Stage 2
Seven steps. The model is required to take them in order.
REAL or AI_GENERATED, paired with HIGH / MEDIUM / LOW confidence.
Rule
HIGH requires a Step-2 trigger, a visible AI watermark, or two metrics at 7 or above. Otherwise the cap is MEDIUM.
The math
Ten metrics. Their weights, in full.
The weighted metric average becomes the raw 0 to 100 score. Then we apply the verdict nudge, the confidence range, the dead zone, and the impossibility floor. Every step is in the open.
| Metric | What it asks | Weight |
|---|---|---|
| Physics & Plausibility | Could this scene physically exist? Materials, gravity, biology, scale. | 22% |
| Text & Writing | Garbled text on signs, badges, screens, or clothing labels. | 15% |
| Scene Logic | Does the situation make sense? Identity, era, and setting consistency. | 12% |
| Facial Quality | Mouth morphing, skin boundary shimmer, eye blink symmetry, micro-warping. | 10% |
| Object Consistency | Do objects keep their shape and count between the two frames? | 10% |
| Hands & Fingers | Finger count, hand geometry, grip plausibility. | 8% |
| Motion & Flow | Temporal coherence between the frame pair. | 8% |
| AI Watermarks | Sora, Veo, Runway, Pika, Kling, Luma, Midjourney, HeyGen, D-ID, Synthesia. | 7% |
| Visual Aesthetics | Stylized polish vs. real-camera signal: used cautiously. | 5% |
| Lighting & Shadows | Shadow direction and consistency. Lowest weight by design. | 3% |
| Sum | 100% | |
Source: main.js · METRIC_WEIGHTS
Confidence gates
HIGH and MEDIUM cannot land in 40 to 60. That is by design.
HIGH requires real evidence. MEDIUM requires a specific cited anomaly. LOW is for honest uncertainty. The 40 to 60 dead zone is reserved for LOW only. A confident verdict cannot mean "maybe."
Looks plausible. No source verifiable on screen. Theoretically could be high-quality AI; we cannot rule it in or out.
Stylized color grading and tight crop. Nothing fires the common-sense check. We are guessing.
Visible Sora watermark plus mouth-region morphing between F1 and F2. Two metrics over 7. Settled.
Methodology is not a one-time deliverable. It is a contract.
When we change weights, prompts, or gates, it ships in the changelog and we say what we changed. Subscribe to be told.