Publish the picture. Not the address.

A photograph sent to a newsroom often carries the coordinates of where it was taken to within a few metres, the moment it was taken, and the serial number of the camera that took it. None of that is visible, and all of it survives the trip.

The problem with forwarding a photo

The three fields that matter most are the three nobody sees. GPS coordinates in EXIF are typically accurate to a handful of metres — enough to identify a home, a workplace, or the corner someone was standing on. The capture timestamp puts a person somewhere at a moment. The device serial in the maker notes links every photograph from that camera to every other one, across accounts and years.

Then there is the thumbnail. It is written at capture and many editors do not update it when you crop, so the version you cropped out can still be sitting inside the file you sent. That failure has a body count of published mistakes behind it.

What ScrubPony changes

A workable pattern

Honest limits

This removes container metadata. It does not make a photograph anonymous, and treating it as though it does is the most likely way to be hurt by it.

It cannot touch what is in the pixels: a street sign, a house number, a reflection in a window or in someone's glasses, a distinctive skyline, a screen in the background with an email client open on it, or an invisible watermark encoded into the image by whoever made it. Camera sensor noise patterns can also link photographs to a specific device, and no metadata tool addresses that.

It handles JPEG only — a HEIC from an iPhone or a RAW from a camera is reported and skipped. It cannot recall an image that has already been uploaded, emailed or backed up. And the atomic rename that makes it safe to interrupt says nothing about whether the pre-scrub bytes are recoverable from the drive afterwards; on a copy-on-write filesystem, an SSD, or anything with snapshots, they may well be.

Metadata removal is a floor. The editorial work of looking hard at what a photograph shows is the part that actually protects a source.

Common questions.

Should a source scrub before sending?

Ideally the source sends the original and the scrubbing happens on a machine where somebody knows the tool. A source scrubbing under pressure with unfamiliar software is a source who may crop badly, re-encode, or miss the format entirely. If they must, "remove location" in the phone share sheet is better than nothing and is not the same as a scrub.

Does this protect against being identified from the photo itself?

No. It removes container metadata only. Everything visible in the frame, and anything encoded into the pixels, is untouched — that is the boundary of what any metadata tool can do.

Can I use it on RAW or HEIC?

No. JPEG only. Those files are reported as not a JPEG and skipped rather than mangled, which at least means you find out.

Is the image quality affected?

Not at all. The entropy-coded image data is copied verbatim from the SOS marker to end of file, so the output decodes to identical pixels. tests/verify_scrub.py confirms it four ways.

Get ScrubPony

Strips identifying metadata out of JPEGs without touching a pixel. C99, no dependencies beyond libc, macOS and Linux, MIT-licensed.