How to decide whether you need --strict.

The default is deliberately not maximum paranoia. --strict is, and it has a visible cost. This is how to choose.

~2 minutes macOS · Linux ScrubPony
// at a glance
  1. See what --strict adds
  2. Weigh colour against fingerprint
  3. Test on one file
  4. Apply to the batch if it is worth it
Prerequisites
// step 01

See exactly what it adds

Three segments change verdict under --strict: the ICC colour profile, the JFIF header, and the Adobe APP14 marker. Everything else is dropped either way. Run the dry run twice to see the difference on your own file.

$ scrubpony -n photo.jpg
  keep    APP0          14  JFIF
  keep    APP2         602  ICC profile
$ scrubpony -n --strict photo.jpg
  drop    APP0          14  JFIF  (density is weakly fingerprintable)
  drop    APP2         602  ICC profile  (uncommon profiles narrow the source)
// step 02

Understand the cost

Dropping the ICC profile visibly shifts colour on a wide-gamut display, because the viewer must now guess a colour space and will guess sRGB. Dropping the Adobe segment can break CMYK and YCCK colour interpretation. Dropping JFIF removes the pixel density, which can affect how an image is sized when printed or placed.

// step 03

Weigh it honestly

The gain is real but modest: an unusual ICC profile narrows down the device or software that produced the file, and JFIF density does the same more weakly. That matters when a file is going somewhere adversarial and it matters very little when you are posting a photo of a bicycle for sale. This is a per-situation call, not a setting to turn on and forget.

// step 04

Test one file, then batch

Scrub one photograph both ways and look at them side by side on the display you care about. If you cannot tell them apart, use --strict freely. If you can, decide which cost you would rather pay.

$ scrubpony --strict -r -d ~/clean ~/Pictures/to-upload

Verify it worked.

  • scrubpony -n --strict shows JFIF, ICC and Adobe as dropped.
  • The scrubbed file is smaller than the default-mode output by roughly the profile size.
  • On an sRGB image viewed on an sRGB display, you cannot see a difference.

Common questions.

Should --strict be the default?

No, and deliberately so. A default that changes how photographs look would be a default most people would be surprised by, and surprising a user of a privacy tool is how you lose them. The site says the default is not maximum paranoia rather than implying it is.

Does --strict remove anything else?

No. Everything else in the policy table is already dropped by default, unrecognised vendor segments included.

What about the orientation block?

That is a separate flag. --no-keep-orientation drops the 36-byte block ScrubPony writes back, and your rotated photos will then display sideways.

Next steps.

Get ScrubPony

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