Photo library access in DeDup 1.0.1 on iPhone: what it asks for, and what changes
DeDup 1.0.1 on iPhone asks for access to your photo library at the read-and-write level. Without it, it can't scan. With limited access, it scans only the photos you picked.
What it asks for
The code requests Photos authorization at the read-write level. The text in the iOS prompt is set by the app: "DeDup analyzes your photos and videos on-device to find duplicates, blurry shots and large files. Nothing is uploaded."
That is the only photo permission text in the app. It doesn't declare a separate "add only" description. The same PhotoKit access is what the code uses to list photos and, after your confirmation, to delete them.
The only explicit request in the code comes from the "Allow Access" buttons on the Dashboard and in the Files tab, so DeDup doesn't ask on its own at launch. The Dashboard banner reads: "Allow photo access so DeDup can find duplicates. Everything is analyzed on this iPhone."
DeDup keeps photos and videos on the phone, but it does send crash reports, usage analytics and any feedback text you type. The scan-completed analytics event carries the counts of items scanned, duplicates found and bytes reclaimable.
Full versus limited access
The code treats both "authorized" and "limited" as able to read the library. Everything else is blocked.
- Full access: no banner is shown, and scans cover the whole library, except albums you've excluded.
- Limited access: a Dashboard banner says "Limited access: only the photos you selected are scanned." with a "Change in Settings" button. I found no code that opens the iOS photo picker, so adding more photos is done outside DeDup.
- Not asked yet: a banner with an "Allow Access" button.
- Denied or restricted: "Photo access is off. Turn it on in Settings to scan your library." with an "Open Settings" button. The Scan button is disabled, the Files tab shows "Allow Photos Access", and if you ask the assistant a library question it replies that it needs access.
If you change your mind
- Tap "Open Settings" or "Change in Settings" on the Dashboard banner. The code opens the iOS Settings link for the app.
- Change DeDup's Photos access there.
- Return to DeDup. Each time the app becomes active, the Dashboard re-reads the permission and refreshes the counts, so the banner should update without a restart.
Saved scan results are only restored while the library is readable, so without access they stay out of view until you allow it again.
Scope of this post
Checked against: DeDup 1.0.1 source code (iPhone).
Not tested on a device: how the iOS prompt looks, which options iOS shows in its Settings screen, what iOS exposes to the app under limited access, and how the banners behave when you switch between access levels. I read the code and on-screen text only. Contacts and microphone permissions are separate and aren't covered here.