Photo EXIF Remover: MetaClean
Photography app for Android
MetaClean: removing hidden photo and video metadata with Flutter
Photo EXIF Remover: MetaClean is an Android app built by CarrySo with Flutter. It inspects photos and videos for hidden metadata such as GPS location, device serial numbers and hidden thumbnails, scores the risk and removes it on the device. It writes a cleaned copy and never modifies or uploads the original.
Project type: CarrySo product. Photo EXIF Remover: MetaClean is software CarrySo owns and publishes, not a client project. See the MetaClean product page for features, platforms and store links; this case study covers the problem, approach and engineering.
- Platform
- Android 7.0 and later
- Built with
- Flutter and Dart
- First released on Google Play
- 4 September 2026
- Current version
- 1.3.0 (updated 8 October 2026)
- Project type
- Owned product (published by CarrySo)
- Our role
- Product, design, development, publishing and maintenance
The problem
Photos and videos carry hidden GPS coordinates, device serial numbers and uncropped thumbnails, which can reveal a home address when a file is shared.
Most metadata cleaners ignore video, and many say a file is clean when they simply could not read its format.
The solution
Inspection across six metadata categories with a per-file threat score, for both photos and MP4/MOV/M4V/3GP videos.
Video metadata is neutralised in place without re-encoding, and any container the app can't parse is marked UNVERIFIED instead of being reported as safe.
Key features
- Detects location, device fingerprint, software trails, hidden thumbnails, timestamps and AI provenance tags
- Per-file threat score and a filter for GPS-leaking media
- Video metadata cleaning without re-encoding
- One-tap presets and custom category selection
- Batch cleaning; originals are never modified
- Field inspector, raw hex viewer and SHA-256 audit certificate
- Biometric-locked history; English, Spanish and Urdu
Screenshots
Screenshots from the app's Google Play listing.
How we built it
Custom binary parsers
MetaClean includes its own ISOBMFF sanitizer for MP4/MOV containers, a HEIF item locator and an XMP parser and field editor. These let it edit metadata at the byte level instead of re-encoding media.
Honest verification
An audit-certificate service records SHA-256 hashes before and after cleaning, and files in unsupported containers are flagged as unverified rather than reported as clean.
Tested where it matters
Each parser and editor has its own unit tests, because a metadata cleaner that silently fails is worse than no cleaner.
Testing
Eight automated test files cover the ISOBMFF sanitizer, HEIF item locator, XMP parser and field editor, EXIF tag editor, metadata service and clean-state logic.
Tech stack
| Technology | Used for |
|---|---|
| Flutter & Dart | UI and app logic |
| GetX | State management and translations |
| exif, image, crypto | Metadata reading, image handling and SHA-256 hashing |
| Custom ISOBMFF / HEIF / XMP parsers | Byte-level metadata removal for video and HEIF |
| local_auth | Biometric lock for the history vault |
| video_player | Original vs sanitized playback comparison |
| Firebase (Firestore, Cloud Messaging) | Remote config and notifications |
| Google Mobile Ads | Monetisation |
| carryso_growth_config (in-house) | Our shared Flutter package for remote app config, soft/hard update prompts, push notification device sync and ad frequency limits |
Sources: Google Play listing (com.metaclean.photocleaner); App source repository: pubspec.yaml, lib/domain/services, test/. Store figures last checked 9 October 2026. Read the MetaClean privacy policy.
Related services
Flutter app development
Flutter app development for Android and cross-platform apps: architecture, state management, Firebase, on-device processing, testing and store release.
Android app development
Android app development with Flutter: apps built for real devices, published and maintained on Google Play, with Data safety, privacy policies and updates.