46 independent signals
We don't run one model — we run forty-six. Perplexity, burstiness, lexical diversity, Zipf fit, n-gram repetition, punctuation rhythm, AI-phrase density, and more — plus sentence-level scoring and seven measured-but-unfused diagnostics. Each signal gets its own row and its own explanation.
Model fingerprinting
Beyond AI-or-not, we tell you which model family the text most resembles — GPT/ChatGPT, Claude, Gemini, LLaMA, Grok, or Perplexity — with the specific markers that fired.
No AI backend
There is no LLM, no classifier, no neural net anywhere in this product. The engine is a 600-line statistics pipeline. You can read every line of math.
Image AI detection
Drop in a PNG, JPG, WEBP, AVIF or HEIC. We inspect C2PA Content Credentials, EXIF and generator tags first, then run 23 pixel-forensic tests — frequency, sensor noise, colour and statistics — all in your browser.
Video AI detection
Drop an MP4, WebM, MOV or MKV. We parse Sora, Veo, Runway, Pika, Kling and C2PA provenance, then sample frames for sensor physics plus temporal grain, flicker and optical-flow motion — production-grade, with frame tables and full exports.
Audio AI detection
Drop a WAV, MP3, FLAC, OGG or M4A. We decode the waveform on-device and measure spectral shape, vocoder bispectral artefacts and temporal voice dynamics — with acoustic tables, diagnostics and the same JSON, Markdown, CSV, HTML and PDF reports.
Private by design
Your text, images, video and audio never leave your device. No uploads, no API calls, no logs. The detector works offline once the page loads.
Explainable verdicts
Every percentage comes with the math behind it. You see exactly which signal drove the score and how it's weighted. No black boxes.
Per-sentence highlighting
Each sentence gets its own AI probability score and is coloured accordingly. Tell-tale AI phrases ("delve into", "tapestry", "navigate the landscape") are flagged inline.
Reproducible reports
Download a JSON report with every metric, every signal, and the engine version. Re-run the same text on the same engine version and you get the exact same number.