Catching the same photo or document used twice
IIB Board AI Pack, page 21. Later. Built here on mock and synthetic data.
Today. Each insurer checks the photos and documents sent with its own claims. If the same accident photo, hospital bill or death certificate is used at another insurer, no single insurer can see it.
What would change. Insurers send IIB a digital fingerprint of each claim photo and document, never the image itself. AI compares fingerprints across insurers and flags matches, even when an image has been cropped or re-saved. The insurer decides what to do.
You see totals, and the worked examples built into the test data. Checking any claim image, with each claim's date and amount, is for the Vertical Heads and Data Operations.
1. Check a photo or document against every other insurer
Your role sees these worked examples. Checking any claim image sent this month is for the Vertical Heads and Data Operations.
Motor damage photo PH-16966
Sent to Insurer M in September 2026, Karnataka.
Mock images Shown for the demo. In practice the image never leaves the insurer. IIB holds only the fingerprints.
1 match at other insurers
| Image | Insurer | Sent | Bits apart | How it lined up | Test data says |
|---|---|---|---|---|---|
| PH-26477 | Insurer I | May 2026 | 29 | Other image trimmed 3% top, 3% bottom, 6% left and 3% right | Same image, a repeat claim |
The closest images at other insurers that did not match
| Image | Insurer | Sent | Bits apart | Test data says |
|---|---|---|---|---|
| PH-43533 | Insurer K | Aug 2026 | 56 | Different images |
| PH-97957 | Insurer J | Mar 2026 | 56 | Different images |
| PH-54078 | Insurer R | Apr 2026 | 65 | Different images |
Notes to insurers are drafted by the Vertical Heads and Data Operations.
Its fingerprint
The first 64 of 384 bits, for the whole image. Each square is one bit.
The insurer sends 384 bits for the whole image, and the same for 224 cropped views of it. With the claim number, the date and the image's size in pixels, that is all IIB receives.
IIB compared it with 544 motor damage photos at 24 other insurers. A match is 45 bits apart or fewer.
What IIB holds from Insurer M
| Image | Kind | Sent | Fingerprint |
|---|---|---|---|
| PH-16966 | Photo | Sep 2026 | b0d4cb2af430d34f |
| PH-31388 | Photo | Sep 2026 | d5c3662239adc03f |
| PH-16079 | Photo | Sep 2026 | 9db33f44c263cc32 |
| PH-23592 | Photo | Sep 2026 | f4c30d3e423dd263 |
The latest 4 of 22 rows, with the first 64 bits of each fingerprint. No names, no images, nothing personal.
2. Matches across insurers in September 2026
By vertical
Pairs of claims at two insurers whose images match. The amount is the total of the newer claims, the ones sent second.
| Vertical | Matches | Newer claims, total |
|---|---|---|
| Motor | 31 | ₹26.3 lakh |
| Health | 12 | ₹10.4 lakh |
| Life | 13 | ₹1.2 cr |
Single matches, with each claim's date and amount, are for the Vertical Heads and Data Operations.
Where the newer claims were made
Matches this month by the state of the newer claim. Darker means more. Hover for the state's name.
3. How we would measure it: matches confirmed by insurers, and the value of repeat claims stopped
Built into the test data on purpose. 122 images were reused for a claim at another insurer, after a crop, a re-save, a change of brightness or a change of size. 23 of them are genuine second claims: a bill split between two health policies, or one person insured by two life insurers. There are also 83 pairs of similar but different images, and 42 images sent twice to the same insurer.
Confirmed by insurers. In a pilot each insurer would confirm or reject every match. Here the truth table stands in for them. The real test is a pilot with real claim images.
Tuned on one half, scored on the rest. The match line for each kind of image was set on pairs of images from half the test data. It is scored on every other pair: 1,76,525 pairs, from the other half or one image from each half. None of them played a part in setting it.
By kind of image, on pairs kept out of tuning
| Images | Match line, bits | Matches | Confirmed | Share confirmed | True matches | Found | Share found | Whole images only | Similar images flagged |
|---|---|---|---|---|---|---|---|---|---|
| Motor damage photos | 45 of 384 | 31 | 31 | 100% | 32 | 31 | 97% | 47% | 0 of 17 |
| Hospital bills | 44 of 384 | 23 | 23 | 100% | 24 | 23 | 96% | 54% | 0 of 23 |
| Death certificates | 35 of 384 | 16 | 15 | 94% | 17 | 15 | 88% | 47% | 0 of 6 |
Similar images are a different photo of a similar car in a similar place, or a different bill or certificate in the same printed layout. Across all the test data, 2 of 3,384 pairs of different documents printed in the same layout were flagged by mistake. All 23 genuine second claims were matched too. The insurer clears those after a check.
How the match line was chosen
Reused copies found, by what was changed
All 12 months. A copy counts as found when it matches another image of the same scene at another insurer. One copy can have several changes.
| Change | Copies | Found |
|---|---|---|
| Cropped | 72 | 71 |
| Re-saved | 87 | 86 |
| Brightness and contrast changed | 62 | 61 |
| Made smaller or larger | 42 | 41 |
| Sent as it was | 6 | 6 |
How the fingerprint works
At the insurer. Each claim photo or document is turned into a fingerprint of 384 bits. A bit is a yes or no mark. 64 bits come from a perceptual hash (pHash): the image is shrunk to 32 by 32 grey squares, its broad patterns are measured with a discrete cosine transform, and each of the 64 coarsest patterns gives a 1 if it is stronger than their middle value. 256 more bits do the same for each quarter of the image, for finer detail. 64 bits come from a difference hash (dHash): each square in a row of 9 is compared with its neighbour.
Robust to crops. The insurer also fingerprints cropped views of the image, trimmed by up to 12% on each side: 224 views for photos in steps of 3%, and 783 views for bills and certificates in steps of 2%, because sharp printed lines only line up again with finer steps. Re-saving, a change of brightness or contrast and a change of size barely move the fingerprint.
At IIB. Two images are compared by counting the bits that differ between the whole of one and the closest view of the other. Copies of one image differ in few bits. Two different photos usually differ in about 149 bits, and two different bills in about 107. The match lines are 45 bits for photos, 44 for bills and 35 for certificates. Comparing whole images only, the best lines would be 77, 38 and 18.
Only across insurers. Each image is compared with every image of the same kind at the other insurers. Images at the same insurer are that insurer's own business.
What is AI here. The matching is image fingerprinting, a long-tested way of seeing that two images are the same. It is not trained on images. Only the match line is set from the test data. A trained image model could replace it in a pilot. Azure OpenAI only drafts the note to the two insurers, from the facts of the match. It never sees an image or an insurer's name.
Speed. Comparing all 1,180 images took 3.6 seconds, once. A check of one new image against every image of its kind took 0.04 seconds at most.
Personal data is masked before any person or the AI sees it. The AI flags and drafts. A person decides. Mock data stands in for outside sources that need an agreement.