What was removed
The privacy path targets EXIF/GPS and ordinary XMP or text metadata where supported. ICC color information is not treated as private location data.
- JPEG APP metadata segments
- PNG eXIf and text chunks
- WebP EXIF and XMP chunks
What this cannot remove
A street sign, building, face or address visible in the pixels remains visible. GPS cleaning reduces metadata exposure but is not complete anonymization.
Why three formats need three container strategies
JPEG uses marker segments, PNG uses length-prefixed chunks and WebP uses RIFF chunks. A safe cleaner cannot apply one search-and-delete routine to all three without risking damaged sizes, flags or compressed image data.
The common product promise is the outcome: create a new file, remove supported privacy blocks and reparse it. The implementation underneath remains format-specific.
- JPEG: APP metadata around scan data
- PNG: eXIf and text around IDAT
- WebP: EXIF/XMP around VP8 or VP8L
- All: bounds and output checks
How the location fixtures were designed
Each controlled file contained a known, non-personal coordinate in a supported metadata structure. The lab confirmed GPS before cleaning, ran the format-specific path and used the same parser to inspect the result.
Synthetic coordinates make the result repeatable without publishing anyone’s home or movement. They test code behavior; they are not a survey of phones, cameras or social platforms.
Measured before-and-after outcome
GPS was present in each input and not detected in each accepted output. JPEG scan data, PNG IDAT and WebP image payloads remained on the metadata-only paths. The cleaner created separate files and never changed the selected input.
The result supports supported container structures only. A corrupt length, unusual variant or unsupported format produces a professional error rather than a clean claim.
What is deliberately preserved
Dimensions and encoded image data remain. ICC color information stays by default because it affects appearance rather than precise location. Required orientation is handled cautiously so a portrait does not turn sideways after cleaning.
Content Credentials are different: removing or rewriting container information can invalidate provenance. Check C2PA before cleaning and expect the derivative to need its own validation result.
What GPS cleaning cannot solve
A coordinate in pixels, a street sign, recognizable building or route map remains visible. A cloud photo library may also hold location in its database even when the exported image is clean.
Treat the result as one privacy layer. Review the visible scene, filename, sharing audience and platform behavior before deciding that a copy is appropriate to publish.
A failure should never look like a clean result
If chunk lengths are invalid, dimensions exceed the safety guard or output cannot be reparsed, the operation stops with a specific error. The tool does not replace “unknown” with “GPS removed” merely because a download blob exists.
This distinction matters in batch workflows, where one damaged file can be easy to overlook. Every accepted output needs its own result row; every failure needs a reason and recovery step.
The downloaded filename is not evidence either. A “clean” suffix describes the intended operation; only the second parse demonstrates that supported GPS fields are no longer readable in the accepted output.
When a format is unsupported, return to the original application and export a supported privacy copy instead of forcing a parser through unknown bytes.
- Validate real format
- Bound all container offsets
- Reparse every output
- Keep per-file failures visible
- Preserve the original for recovery
- Never infer success from a filename
What this does not prove
A metadata result describes the fields and structures that the supported parser could read. It does not, by itself, prove authenticity, intent, authorship or the truth of the visible scene.