Is this document real?
Every other control asks who is on the other side. This one asks whether the paperwork they handed you was ever true. Statements, invoices, estimates, IDs, photographs — scored for tampering, forgery and AI generation, with the reasoning attached.
API-first. Nothing for your team to log into — the verdict arrives in the system they already work in.
Identity tells you who. This tells you whether.
A verified applicant can still hand you a fabricated bank statement. A real policyholder can still submit an invoice that was never issued, or a photograph of damage that never happened. KYC clears the person; this clears the paper — and it runs in the same second, on the same file, without asking anyone to look at it first.
Five families of evidence, not one clever trick
Any single detector can be fooled, and the good ones disagree with each other. The verdict comes from what survives when they are weighed together — including the signals that argue a file is innocent.
Provenance & metadata
What the file says about its own history — and whether that story holds together.
- Editing or generation software named in the metadata
- Content Credentials (C2PA) present, absent, or broken
- Timestamps that disagree with each other
Compression & encoding
How the file was saved. Re-saving a document leaves marks the eye cannot see.
- JPEG quantization tables that do not match the claimed source
- Recompression chains from screenshots and re-exports
- Encoder fingerprints inconsistent with the stated device
Pixel-level manipulation
Whether part of the image was moved, cloned, or painted over.
- Copy-move (clone) detection
- Error-level differences across a region
- Splice boundaries and resampling artefacts
AI & synthetic generation
Whether the thing was generated rather than photographed — the failure mode that did not exist three years ago.
- Generative-model signatures
- Non-photographic rendering where a photograph is claimed
- Structure that no camera produces
Corroboration & context
What the document claims, checked against the world outside it.
- Reverse-image matches on the open web
- Capture location against the location claimed
- Internal arithmetic and field cross-checks on documents
And the reasoning, in writing
Every check returns a written report naming which signals fired, how strongly, and what the innocent explanation would be. A verdict a reviewer cannot interrogate is a verdict they will eventually learn to ignore.
Four answers — including “I don’t know”
A score between 0 and 1, and the band it falls in. The thresholds are yours to move: run it tight where a false accusation is expensive, loose where a miss is.
Likely fraudulent
Discriminating evidence of tampering or synthesis, corroborated across more than one family.
Needs review
Enough signal to be worth a human's time, not enough to accuse. This is the band that protects you from your own automation.
Insufficient evidence
The file's own processing history — a screen recapture, a print-and-rescan, a heavy transcode — prevents verification. We say so instead of inventing a verdict.
Likely authentic
No discriminating evidence against it, and the innocent explanations for what we did see actually hold.
The third band is the one to ask us about. Most systems are built so that they must produce a verdict. When a file has been screenshotted, printed and rescanned, or pushed through a messaging app, the evidence needed to judge it is genuinely gone — and saying so is more useful to a reviewer than a confident guess that is right half the time.
It fits your workflow. It does not ask for one.
There is no dashboard your underwriters must open each morning. Five calls, and the answer appears where the work already happens.
Exchange your key for a token
POST /v1/token. Tokens last an hour and are bound to this API, so a leaked one expires on its own and cannot be replayed anywhere else.
Create the check
POST /v1/reports/check with your own customer and case references. You get back an id and one pre-signed upload address per file.
Send the files
PUT each file straight to storage — not through the API — so a case carrying hundreds of documents is many small uploads that can resume, not one request that times out.
Submit, then get called back
POST /submit and we work. When it finishes we POST a signed notification to your endpoint, or you poll. Typically under a minute.
Act on it in your own system
The result carries the band, the score and your own references — so it lands in the queue, case file or decision engine you already run. There is no portal your underwriters have to live in.
A verdict is a trigger, not a destination
The callback carries the band and your own case reference, so it can start the next thing automatically — pull the enrichment, open the investigation, release the payment, route to the one reviewer who should see it. The expensive part of fraud control is not the detection; it is the human hour spent on files that never needed a human.
What we will not put on a slide
No accuracy number here. We measure ours continuously and we will walk you through the method, the corpus and the false-positive rate under NDA. A headline percentage with no corpus behind it tells you nothing, and the people who evaluate this for a living know it.
It is evidence, not a conviction. The engine says what it found and how strongly. The decision to decline, pay or investigate stays with you, which is why the thresholds are yours and the reasoning ships with every result.
It gets better with volume, and only with feedback. Outcomes you send back — this one really was fraud, that one was a false alarm — are what move the calibration. We build that loop in from the first integration rather than selling you a model frozen at the moment you bought it.
Already working with us on property and claims? This is the same engine you may know as InstaBud Check inside our insurance product — one detection stack, reachable under whichever name your team knows us by.
See what The PreCogs sees on your data.
Tell us where money moves in your world. We'll show you exactly how The PreCogs augments your existing stack — and we'll reply to every note.

