An invoice arrives for a unit turn. $3,240: carpet in the back bedroom, drywall patch in the hall, repaint. Attached are six photographs — the damage, then the finished work. You approve it, you bill the owner, and the owner pays.
Now ask the uncomfortable question. What did those six photographs actually prove?
They proved that somebody had six photographs.
That was always true, and for decades it did not matter, because producing a convincing photograph of work that was never done was harder than doing the work. That is the thing that changed. It is now free, fast, and available to anyone with a phone. And unlike the tenant disputes everyone worries about, this one is not a one-off argument over an $1,800 deposit. A vendor who learns that nobody checks is a recurring, scaling loss across every unit you hand them.
The fraud you should actually expect is not AI
Here is where most writing on this subject goes wrong, and where it costs you money.
If you brace for AI-generated repair photos, you are bracing for the rarest version of the problem. The common version is much older and much dumber: the same photograph, submitted twice. A contractor photographs a finished bathroom in unit 12, and that image goes on the invoice for unit 12, then unit 31, then unit 8 the following spring. Nobody notices, because your evidence for unit 8 is a JPEG of a clean bathroom, and clean bathrooms look alike.
Recycling is the fraud that already happens. Generated imagery just lowers the price of the harder version. Any process you build should catch the cheap fraud first — and it turns out the same check catches both.
The asymmetry that makes this checkable
We have written before that we are far better at proving a file came from a camera than proving one came from an AI. That is not modesty, it is the structure of the problem — and for invoicing it is unusually good news.
When a phone takes a photograph, it writes a block of data into the file next to the pixels: the make and model of the device, the exposure, the aperture, the ISO, the focal length, and the time the camera’s clock said it was. An image generator writes none of that, because there was no lens, no shutter, and no moment.
So for a repair invoice you are not asking “is this photo fake.” You are asking three questions that have checkable answers:
- Is this file a camera original at all, or a re-encoded copy with its history removed?
- What device took it?
- What time did that device’s clock record?
That third one is the one that earns its keep, and it is the reason we changed our own tool this week: it used to tell you a capture time was present without showing you the value. Now it prints it. On a real file you get back something like “Shot on Samsung SM-F966U, capture settings still intact. Camera clock recorded 2025-12-10 15:30:37.”
Put that next to the invoice. The work was billed for the 14th. The camera clock says the 10th, five days before the tenant moved out. That is not proof of anything on its own — but it is a specific, concrete question that a contractor now has to answer, and the honest ones answer it instantly.
Identical files are identical, and that is provable
The other half is cheaper still. Every report we generate lists the SHA-256 of each file — a fingerprint of the exact bytes. Two files with the same SHA-256 are not two similar photographs. They are the same file.
So when the finished-bathroom photo on invoice #4471 carries the same hash as the one on invoice #4088, there is nothing to argue about. It is not a matter of interpretation or a percentage or an expert opinion. It is the same file, submitted twice, and the hash is on both reports where anyone — your owner, your attorney, an arbitrator — can check it themselves against the file they hold.
As of September 22 the checker does that comparison for you, within one batch: any two files with the same fingerprint are marked “Identical file” on both rows, on screen and on the filed report, whatever the files are named. So the practical move is to drop last month’s invoice photos in alongside this month’s and check them together.
Being straight about the limits: it compares only the files in front of it. It does not keep a library of your past invoices, because it keeps nothing at all, so a photo from last spring is only compared if you add it. And it catches only the exact file. If the picture was re-saved, resized, cropped, or passed through a system that recompresses uploads, the copy gets a different fingerprint, and two rows that are not marked identical can still be the same photograph. A match is proof; no match is not proof of anything.
What to change on Monday, and it is one sentence
None of this works if the files arrive already destroyed, and this is the part managers get wrong.
Photographs sent over WhatsApp, Messenger, or text message are stripped and re-encoded in transit, as a privacy feature. Screenshots of photographs are new files with none of the original’s history. Anything pasted into a document and pulled back out is gone. In every one of those cases you get “Can’t Verify” — no camera data, no credentials, nothing. And that verdict says nothing about whether the photo is honest. It says the evidence was thrown away, usually by a contractor who was being helpful.
So the change is not a detection tool. It is a line in your vendor agreement and your work-order template:
Photographs supporting an invoice must be submitted as original camera files — attached to email or uploaded, not screenshotted, and not sent through a messaging app.
That single sentence converts your vendor documentation from decorative to evidentiary, and it costs your contractors nothing but a habit. Once the files arrive intact, checking them takes seconds, runs in your browser, and never uploads anything.
What this does not do
We would rather lose the sale than have you find this out in a hearing.
It does not tell you a photo is AI. A file with no metadata gets “Can’t Verify.” That is not a verdict of guilt and must never be read as one. Honest contractors send stripped files constantly.
It does not give you a confidence score, and it never will. We tried twice to build an image classifier. The better of the two looked at eighteen ordinary photographs and called seventeen of them fake. It is switched off permanently. A number that gets a real vendor accused is worse than no number.
EXIF can be edited. A determined fraudster can write whatever make, model and timestamp they like. What metadata gives you is a claim that is specific enough to be wrong — and someone who has edited a timestamp has done something a great deal harder to explain than sloppy paperwork.
A camera original is not proof the work was done. It is proof that a specific device recorded a specific scene at a specific clock time. Whether that scene is the unit you were billed for is still your judgement. We give you the facts that are in the file, and we stop there.
That last part is the whole product. Everyone else in this market will eventually offer you a percentage. The percentage is the thing that fails you in front of an arbitrator, because the moment you cannot explain how it was calculated, you cannot defend it. A device name, a clock reading and a hash are things you can hand to someone else and let them check.
ImposterShield reads the evidence inside image and video files. It runs in your browser and uploads nothing. If a file has been stripped, it says so — that is the product working, not failing.
Check a repair photo right now
Take the last photo a contractor sent you and drop it on the page. If it comes back “Can’t Verify”, that is your answer about how your vendor documentation is arriving. Free, and nothing is uploaded.
Open the checker