Automatic face masking tool for video files, designed for privacy-first workflows on macOS.
FaceMask is a Swift command-line utility that automatically detects and blurs faces in videos — fast, offline, and without any external dependencies. It’s built using the core components from my now-discontinued iOS app, Blufa.
⚠️ Much of the codebase dates back to 2022. It works, but will be gradually refactored and modernized.
- ⚡ Ultra-fast automatic face detection and masking
- 🛡️ All processing is completely offline — no cloud, no third-party frameworks
- 🎥 Supports all native macOS video formats (including ProRes)
- 🎯 Output preserves framerate, orientation, color space — but strips GPS and metadata
FaceMask performs a two-stage pipeline:
- Analysis — Scans all frames and detects all visible faces
- Writing — Applies a configurable
CIFilter
(e.g., blur or pixelate) to targeted regions and encodes the output
The system uses native Apple APIs (Accelerate
, AVFoundation
, Vision
, CoreImage
) and processes each frame by converting it to a CIImage
, blurring the detected regions, and rendering it back onto the original pixel buffer.
You'll need the latest version of Xcode (≥ 16.2). No external dependencies are required.
swift build -c release
That’s it.
🛠️ Interactive features will be introduced in a future version and may require additional libraries.
- Optional selective blurring based on face identity
- Metal based CIFilters
FaceMask is built with a simple goal: keep your media private while still enabling powerful, automated face masking. No data ever leaves your machine.
If you find FaceMask useful, consider starring the repo or sponsoring its development to support privacy-first, open-source tooling.