GPS coordinates in a photo
A phone writes where you were standing into the file, to a few metres, along with the serial number of the body that took the picture and the time it took it.
EXIF GPSLatitudegeotagBodySerialNumberDateTimeOriginal
Coordinates you can read, not a hex blob
$ augur scan --min-severity=concern photo.jpg
photo.jpg (jpeg): 3 finding(s)
STEGANOGRAPHIC
[alarm] offset 572 — hidden message, 27 characters
decodes to (Unicode tag characters (U+E0000 block)): "disregard the safety policy"
PAYLOAD
[alarm] offset 7416 — 324 bytes after the end of the image
324 bytes, looks like zip archive
METADATA
[concern] offset 2 — EXIF with GPS coordinates (364 B)
Make=Apple
Model=iPhone 15
Software=17.4.1
DateTimeOriginal=2024:03:11 14:22:07
CameraOwnerName=Dejan Menges
BodySerialNumber=SN-88213-XQ
ImageUniqueID=8f4c1e2b9a7d6f0c3e5b1a9d8c7f2e40
GPSLatitudeRef=N
GPSLatitude=52, 31, 12
GPSLongitudeRef=E
… and 3 moreThe serial number is the field that quietly ties two anonymous photographs to one device. Everything here was planted by the fixture script, including the bytes stapled past the end of the image.
Stripped without touching the picture
$ augur clean photo.jpg
wrote photo.clean.jpg
verified: 7 removed, 0 finding(s) deliberately left in placeTwo kilobytes smaller, and the pixels hash identically: the compressed scan is copied through untouched and only the container is rebuilt. Screenshotting the photo instead re-encodes all of it, to delete a label.
Without uploading the photo to anybody
The usual way to strip a geotag is to paste the photo into a website that offers to remove it. That means sending a file whose entire problem is that it says where you live to a server you know nothing about, run by people you cannot name, which is a strange way to solve this particular problem. The coordinates arrive with the upload whether or not the site keeps them.
augur runs on your machine. Nothing leaves it, nothing is queued, and the original is never opened for writing.
Where else the location hides
EXIF is the field people know about, and stripping only EXIF is why a photo still gives away a street. The same file can carry XMP with its own copy of the coordinates, IPTC location fields naming the city, a JPEG comment left by whatever exported it, and PNG text chunks. augur reports the lot and removes what it can remove exactly.
Screenshotting the photo does clear all of it, at the cost of re-encoding every pixel to delete a label. On a phone, sharing with location switched off in the share sheet strips the geotag and leaves the rest.
What survives a strip
Nothing here touches the picture. If an image was watermarked in the pixels themselves, or generated by a model that marks its output that way, a clean file still carries it, and augur will neither find it nor pretend to.
A Content Credential is a separate question again: it is a signed statement about the file rather than a label on it. That has its own page.
$curl -fsSL https://raw.githubusercontent.com/dejo1307/augur/main/install.sh | shRelated:What a photo carriesC2PA provenance manifestsPer-copy watermarkseverything it looks for