← All projects
Civil Defense·2026·ongoing ·Jul 2026

Activity photo de-identification pipeline

An automated pipeline that scans civil defense activity photos on a schedule, blurs faces and strips EXIF metadata, then notifies the social media team over Discord — replacing manual processing.

AutomationPrivacyCivil Defense
Why

Problem statement

Activity photos need to be de-identified, so civil defense members' identities don't leak out.

Photo files need their EXIF data stripped, so OSINT techniques can't reverse-engineer locations or devices from them.

Face-detection accuracy used to be poor, requiring extra manual review and cleanup.

When photo volume is high or activities are frequent, doing this by hand burns through teammates' time and energy on repetitive busywork.

How

The collaboration and tuning process

  • Tested face-detection accuracy against real activity photos, comparing missed detections and false positives case by case.
  • Tried two detection models — direct face detection, and pose-estimation to infer head position — testing multiple rotation angles, since training photos often show someone lying on the ground.
  • Found that neither method alone was reliable, so decided to run both together and take the union of what each one flags.
  • Kept tuning detection logic and parameters against real results until converging on the current version.
What

Running in production, still being tuned.

  • Runs on a daily schedule, scoped to a shared team folder by folder ID.
  • Runs both detection methods — direct face detection and pose-based head estimation — together, blurring the union of what either one flags.
  • Automatically batches large backlogs and pushes a notification when done, no manual check needed.
  • New photos are fully processed within a day, replacing the manual blurring step entirely.
  • Still occasionally blurs something that isn't a face — but over-blurring is better than missing one.

If other teams are interested in this tool, feel free to reach out.

← All projects