GPS to six decimals. The second full copy of the image hidden in the JPEG. Your camera serial, which leads to your purchase history. Photoscrub finds it passively, locally, with no upload and no account. Windows and Linux.
| Finding | Level | Why it matters |
|---|---|---|
| GPS coordinates | HIGH | Exact position, 6 decimal places |
| Embedded thumbnail | HIGH | A JPEG can carry a second, complete copy of the original as a 160×120 preview |
| Body serial number | HIGH | Identifies the device, and through purchase history, you |
| XMP: City, Country, GPS | HIGH | A second place for the same data — cleaning EXIF is not enough |
| IPTC: byline, City, Country | HIGH | Editorial fields people forget about |
| GPS in video (MP4/MOV udta) | HIGH | Video has no EXIF tags; location lives in the container |
| PNG tEXt / iTXt / zTXt / tIME / eXIf | MED | Author, description, comment, embedded EXIF |
| Artist / Copyright / Software / Lens | MED | Who, with what, where |
| Data appended after the image | MED | Invisible in preview, readable in a hex editor |
| Addresses, postcodes, phone numbers | MED | PII in free text |
| ZIP: .DS_Store, Thumbs.db, sidecars | LOW | Usernames and full paths inside archives |
Scored from 15 features. 1.8 KB, trained on 8,000 synthetic metadata profiles. Runs fully offline — your photos never leave the machine.
Measured against a test set it never saw. Small on purpose: a model you can download, read, and run without a GPU is worth more than a bigger one you can't audit.
v1 — basic: EXIF, GPS, serial, artist, thumbnail. v2 — full: everything above plus HEIC, XMP, IPTC, PNG chunks, appended data, video GPS and PII in free text. A v1 license keeps working on v1 forever.