Fingerprints
Perceptual hashes are stored per check and compared against every other seller. A cross-seller duplicate triggers an immediate fraud alert.
Unique fingerprints
414
28 days retained
Near-duplicate hits
6
↑ 2 vs last week
Cross-seller alerts
2
Both escalated to STOP
Match threshold
≤ 5
Hamming distance · 64-bit pHash
Fingerprint clusters
Groups of visually similar uploads. Lower distance means a closer copy.
| Cluster | Perceptual hash | First seen | Sellers | Distance | Checks | Status |
|---|---|---|---|---|---|---|
| FP-7f3a9c21Cross-seller reuse | 7f3a9c21d84b0e66 | Kasi Kicks · 24 Oct | 2 sellers | 2 | 4 | Fraud alert |
| FP-b12e4408Altered amount | b12e4408aa1790c3 | Sipho Auto · 23 Oct | 2 sellers | 4 | 3 | Review |
| FP-09cc18beSame-seller retry | 09cc18be51f7a2d0 | Thandi's Threads · 22 Oct | 1 seller | 0 | 2 | Resolved |
| FP-4d8a03f7Template reuse | 4d8a03f7e6c92015 | Bongani Electronics · 21 Oct | 1 seller | 3 | 2 | Watching |
| FP-c771aa90Same-seller retry | c771aa9002bd7f4e | Nomsa Fresh · 20 Oct | 1 seller | 5 | 2 | Resolved |
Showing 5 clusters · 414 fingerprints indexed
Query excludes the current seller: seller_id != current_seller_id
How a fingerprint is built
Designed to survive cropping, compression and colour shifts.
1
Normalise the image
Convert to greyscale, resize to 32×32 and apply a discrete cosine transform.
2
Reduce to a 64-bit hash
Keep the low-frequency coefficients and compare each against the median.
3
Compare across sellers
Hamming distance at or below 5 is a match. The same seller is excluded from near-duplicate fraud alerts.
4
Persist for future checks
Store check_id, seller_id and perceptual_hash in the fingerprints table.
Top duplicated documents
Most frequently matched receipt templates.
Capitec proof of payment7 matches · 3 sellers
STOP
FNB eWallet screenshot5 matches · 2 sellers
WAIT
Yoco payment confirmation2 matches · 2 sellers
WAIT
iKhokha till slip1 match · 1 seller
Clean