An image privacy tool for Android
Find a file
2026-05-07 17:52:08 -04:00
app Initial commit 2026-05-07 17:52:08 -04:00
fastlane/metadata/android/en-US Initial commit 2026-05-07 17:52:08 -04:00
gradle Initial commit 2026-05-07 17:52:08 -04:00
banner.png Initial commit 2026-05-07 17:52:08 -04:00
build.gradle.kts Initial commit 2026-05-07 17:52:08 -04:00
gradle.properties Initial commit 2026-05-07 17:52:08 -04:00
gradlew Initial commit 2026-05-07 17:52:08 -04:00
gradlew.bat Initial commit 2026-05-07 17:52:08 -04:00
image.jpeg Initial commit 2026-05-07 17:52:08 -04:00
LICENSE Initial commit 2026-05-07 17:52:08 -04:00
README.md Initial commit 2026-05-07 17:52:08 -04:00
settings.gradle.kts Initial commit 2026-05-07 17:52:08 -04:00


An image privacy tool for Android


Platform Language API License


Description:

Anonimage helps protect people's privacy by making it harder for automated systems to link or track photos through reverse image search, while keeping the image visually almost identical to the original. It introduces subtle, high-frequency perturbations—tiny texture, noise, and compression changes—that preserve the overall look and quality of the picture but disrupt the mathematical "fingerprints" that search engines and recognition algorithms rely on to find duplicates online. It also automatically censors detected faces and text, and removes all embedded EXIF metadata to further prevent identification and tracing through image files.

Features:

  • No permissions required
  • Reduces effectiveness of reverse image search
  • Randomizes filename
  • Removes EXIF metadata
  • Censors any detected faces — choose between black box, custom mask or emoji overlay
  • Emoji picker with 60+ emoji options for face censoring
  • Automatically detects and censors text with a black box (optional, on by default)
  • Written in Java

Threat model:

Anonimage is designed to protect against automated, passive image matching — the most common way photos are linked and tracked online.

Mitigated:

  • Reverse image search (Google Images, TinEye, Yandex)
  • Perceptual hash matching (pHash, dHash, SSIM-based deduplication)
  • Content-based image retrieval (CBIR) via color/texture fingerprints
  • CNN-based visual similarity (ResNet, ViT feature embeddings)
  • EXIF metadata exposure (GPS, device model, timestamp)
  • Face identification by automated systems
  • OCR-based text extraction from images

Not mitigated:

  • A human manually inspecting the image
  • Forensic analysis by a sophisticated adversary with the original image
  • Matching based on unique objects or scenes visible in the image

Anonimage is a privacy tool, not an anonymity guarantee. It raises the cost of automated tracking significantly but does not make images untraceable under all conditions.

How it works:

Each image passes through a pipeline of imperceptible perturbations — pixel shuffling, noise, HSV jitter, DCT coefficient modification, color histogram shifting, spatial micro-warping, adversarial border injection, and JPEG quantization jitter — that collectively break the fingerprints used by reverse image search, perceptual hashing, and CNN-based matchers. Faces and text are censored using ML Kit on-device detection.

All processing happens entirely on-device. No image data is sent to any server.

Installation:

Option 1:

Download the latest APK from the Releases Section.

Option 2:

Build it yourself using Android Studio.

Screenshot:

License

Distributed under the MIT License. See LICENSE for more information.