App: Dupe Remover Developer: Mathieu Rancourt Last updated: 2026-08-04
Dupe Remover does not collect, transmit, store, share, or sell any personal information. Everything the app does happens entirely on your device — Mac, iPhone, or iPad.
None. The app has no analytics, no telemetry, no crash reporting, no advertising SDKs, no user accounts, and no third-party services of any kind.
Dupe Remover makes no internet connections of its own. It contains no networking code and no third-party SDKs, on either platform.
On macOS this is enforced by the system: the app ships with no network entitlements, so macOS prevents it from making any internet connection — incoming or outgoing — regardless of how it is used. You can verify this in the app’s signed entitlements:
com.apple.security.network.client — not presentcom.apple.security.network.server — not presentOn iOS the app makes no network requests of its own; your photos are never sent anywhere.
One clarification, because it is the only place anything leaves the device’s control: if a photo in your iCloud library is not stored locally, asking the system Photos framework for its thumbnail or preview can make the system download that photo from your own iCloud account, exactly as the Photos app would. That is Apple’s software fetching your own photo for display, not Dupe Remover uploading anything. The parts that do the actual work — hashing and visual fingerprinting — are restricted to locally stored photos and never trigger a download.
Dupe Remover can scan two kinds of sources, and both platforms work the same way:
Within a scanned library or folder, the app reads image files (JPEG, PNG, HEIC, TIFF, GIF, WebP, BMP) in order to compare them and group duplicates.
The only data Dupe Remover writes outside the photos you scan is a local cache stored inside the app’s own private container.
On macOS:
~/Library/Containers/com.matranc.duperemover/Data/Library/Application Support/com.matranc.duperemover/cache.log
On iOS, the equivalent path inside the app’s container, which no other app can read:
Library/Application Support/com.matranc.duperemover/cache.log
The cache contains:
The cache exists so repeat scans of the same library finish in seconds instead of recomputing everything. It never leaves your device.
You can delete the cache at any time from the app’s menu: open the three-dot menu → “Clear cache.”
Dupe Remover never permanently deletes anything:
Because the app collects no information of any kind from any user, it is automatically compliant with the Children’s Online Privacy Protection Act (COPPA) and similar legislation.
If this policy ever changes, the updated version will be published at the same URL with a new “Last updated” date. Because the app does not collect data, material changes are not anticipated.
Open an issue at https://github.com/MatRanc/DupeRemover/issues.