ForgeCheck · Document fraud detection

The math adds up. It’s still forged.

Every document in an application is a set of claims about a business. ForgeCheck checks that each claim holds up: in the file, across the whole application, and against what the business says it is. Every flag comes with its evidence.

No sign-up for samples. Your own documents: sign in with a work email.

Bank statement · sample
Flagged 99/100
Account summary
Beginning balance
$2,848.28
Deposits
+$34,606.61
Withdrawals
−34,546.01 −$24,337.86
Ending balance
2,908.88 $13,117.03
Major
A box hides the original figures
Major
Made by PyMuPDF, not the bank’s system
ForgeCheck Overview

A document is a set of claims about a business

ForgeCheck is a document fraud detection tool from Coris. It reads every document in a merchant application as claims (who the business is, where it banks, what it holds, what it sells, how it gets paid) and checks each one three ways: does the file hold up, do the documents agree, and does it fit the business? Each check returns a verdict (Clear, Needs review, Not original or Flagged), a score, and the evidence and next step for every finding.

Document

File history

Re-saves after a file was made, and the editors and code libraries that touched it.

Document

Hidden text and cover boxes

Original figures left in the file, under boxes drawn over them.

Document

AI-made content

Signs a document, or part of one, was generated or edited with AI.

Document

Numbers that reconcile

Balances, totals and average tickets checked against their parts.

Document

Barcodes and printed values

Scan lines and barcodes that disagree with the numbers printed beside them.

Application

Across the application

Names, owners, addresses and bank accounts compared across every file in the packet.

Business

Bank fits the business

Where the bank operates, against where the business is registered and licensed.

Business

Business profile

Average ticket, volume and receivables, against what the business sells and how it gets paid.

A forger can make one document perfect. Making a whole application agree, with itself and with the business, is much harder.

AI tools now produce statements whose pixels and totals look right. What they rarely get right is everything else the application says: the account on the check, the address on the processing statement, a bank that operates where the business does.

That’s why ForgeCheck checks the claims, not just the pixels.

Sample results

Five documents. Five claims that didn’t hold up.

Four ForgeCheck results on fictional sample documents, and one real fraud case, anonymized.

1 · THE DOCUMENT

A bank statement written by a Python library

The claim: an ending balance of $13,117.03, and every visible total reconciles. The file says otherwise. It was re-saved three times, its build shows PyMuPDF wrote it, and 455 characters of hidden text sit under boxes drawn over the original figures. About $10,200 of withdrawals vanished from the page, not from the file.

See all 7 findings →
Flagged
Score 99/100 · 18.0 s
Made by PyMuPDF, not the bank’s system
Major
Banks don’t produce statements this way. → Ask the bank for the original file.
Hidden text on pages 1 and 2
Major
455 characters can’t be seen, next to figures. → Select all text in a PDF reader to see it.
Figures use an unusual font
Minor
Some banks print figures this way; not a sign of editing on its own.
2 · THE DOCUMENT

A processing statement whose numbers argue with each other

The claim: $78,232.11 in volume. The file records that figure being added after its first save, with the original still under a box. And the statement’s own average ticket doesn’t equal volume divided by count: printed 31,093.31, the parts give 49,492.86.

See all 5 findings →
Flagged
Score 99/100 · 19.0 s
The file was saved again after it was made
Major
“$78,232.11” was added after the first save. → Compare with the processor’s own records.
A box hides text on page 1
Major
The original text survives under the cover.
The figures on page 1 don’t add up
Minor
Average ticket printed 31,093.31; the parts give 49,492.86.
3 · THE DOCUMENT

A voided check that disagrees with itself

A photo has no file history to lean on, so ForgeCheck reads the claims printed on the check. Here the barcode or scan line holds a different value from the printed one, though both should come from the same record.

See all 3 findings →
Flagged
Score 91/100 · 26.0 s
A barcode or scan line doesn’t match
Major
It holds a different value from the printed one. → Confirm the value with the issuer.
Something on page 1 doesn’t fit
Major
Something a genuine document wouldn’t have. → Compare it with the original file.
4 · THE APPLICATION

An application that describes two different businesses

Each file can pass on its own. Read together, the voided check and the bank statement claim different business names, accounts ending 2955 and 8171, and addresses in different states. One of them likely belongs to someone else.

See the combined result →
Onboarding application
Flagged
Voided check
Account ••2955
Lowry Glen, GA
Bank statement
Account ••8171
Mill Hollow, TN
The business address differs
Minor
A business with more than one location can explain it. → Confirm it with the merchant.
5 · THE BUSINESS

A clean voided check from a bank 2,000 miles from the business

The claim: the clinic’s business account is at a small community bank in rural Ohio. The check itself was clean. But the applicant was a chiropractic clinic registered and licensed in Oregon, and the bank has no branches in Oregon. Small clinics bank where they practice. This one didn’t, and the application was fraud.

From a real fraud case a customer shared. Names and identifying details changed.

Voided check · real case
Doesn’t fit the business
Bank on the check
Community bank, rural Ohio
No branches in Oregon
The business
Chiropractic clinic
Registered and licensed in Oregon
The bank doesn’t fit the business
Major
A recent move, or a fintech account held at a small sponsor bank, can explain it. → Ask why the business banks there, and verify who owns the account.
WHY IT MATTERS

Forged documents are how fake businesses get approved

69%

of 330 DOJ pandemic-loan fraud cases reviewed by the GAO falsified tax, payroll or bank documents. 67% involved a fake or shell business.

Source: GAO-23-105331
$1.7B

in 29,435 pandemic loans tied to identity-theft referrals had the bank account changed before funding.

Source: SBA OIG Report 21-15
$3.05B

lost to business email compromise in 2025, often a swapped account on a letter, voided check or W-9. About $123k per complaint.

Source: FBI IC3 2025 Internet Crime Report

Every finding also says when it might be innocent. Photos of paper, merged PDFs, a business with two locations: honest merchants produce these too, and ForgeCheck says so instead of calling them fraud.

Who it’s for

Built for the teams that approve merchants

Payment processors and PayFacs

Check statements and voided checks at onboarding, before the first payout.

ISOs

Catch doctored processing statements before an application goes to the processor.

Sponsor banks

Spot-check the documents behind your programs’ approvals, with evidence you can audit.

Lenders and vertical SaaS

Underwrite on statements you can trust, without asking reviewers to look harder.

Frequently Asked Questions

What is document fraud detection?+

It checks whether a document submitted as evidence, like a bank statement or voided check, was edited, generated or borrowed from another business. ForgeCheck does it by checking the claims each document makes.

What does it mean to check a document’s claims?+

Every document says something about a business: its name, bank account, balances, average ticket. ForgeCheck checks whether the file supports each claim, whether the other documents agree, and whether it fits the business.

Can it catch an edited statement whose totals add up?+

Yes, when the file carries the evidence: re-saves in an editor, hidden text, or boxes drawn over the original figures, as in our sample bank statement.

Does it detect AI-generated documents?+

It checks every document for signs of AI-made or AI-edited content. And an AI-made statement still has to agree with the rest of the application.

How do I try it?+

Run the four samples at forgecheck.app.coris.ai with no sign-up. To check your own PDF, JPG or PNG files, sign in with a work email.