DotCheck. See what's real.

Four production detectors. Apache-2.0 heads on frozen backbones. Same artifacts in Check and the Pro API.

Model cards Pro API Check a file

This Space does not score uploads. Weights, architecture, training, and limits live on each card.

Open engines

Binary P(AI) heads. Production loads these files. Holdout means at threshold 0.5, not a posterior over generators.

Vermeer@14.2

inhouse@14 · image · SigLIP 2 pair stack

P(AI) real 0.025 · AI 0.983 · bal. acc. 0.9924

Valla@14.3

inhouse-text@14 · text · EN, zh, es, fr, pt, de, it, nl

P(AI) human 0.029 · AI 0.984 · bal. acc. 0.979

Muybridge@4.4

inhouse-video@4 · video frames · stamp-cap

P(AI) real 0.022 · AI 0.976 · bal. acc. 0.9859

Helmholtz@3.1

inhouse-audio@3 · audio · Dasheng-Base head

P(AI) real 0.018 · AI 0.989 · bal. acc. 0.995

Valla: Latin stack plus Chinese. Unsupported languages and Traditional-Chinese-dominant text are not scored. Clip scores that join Muybridge frames with Helmholtz windows stay in the product path. They are not a fifth open head.

Method and tables: Docs · How. Registry: DotCheck/dotcheck.

How it reads

Empty ring, then a green fill.

The product displays p as NN% AI score. Green leans real. Red leans AI. Same marks in Chrome, Check, and Android.

50% AI scoreCould go either way

These five marks are samples, one per band. Nothing here was scored.