55101886cb
Everything the Play forms ask for that can be settled from the working copy, settled: - PRIVACY.md now carries the real contact address (softwareapp.hb@gmail.com), so the policy publishes as-is. Hosting is the one step left that cannot be done from here, because the repo has no git remote: step 5 of the checklist spells out the push + GitHub Pages route and the URL it yields. - Checklist: the screenshot item is done (four captures, 1080x2160, over the demo library, no permission banner), the keystore and versionCode are recorded as already in place - including the upload key's SHA-256 for the Play App Signing enrolment - and the App access / Ads / remaining App content declarations are written down. The first-upload release-notes question is answered too: versionCode is already 2, so 1.0.1 takes the *initial release* block, not the 1.0.1 one. - The build facts were verified against the artefacts rather than the source: the release APK reports versionCode=2, versionName=1.0.1, targetSdk=36 and exactly the documented permission set, with no INTERNET in what actually ships. - ROADMAP: the re-shoot row is struck out with the numbers that closed it, M10 no longer claims the captures predate the demo library, and the demo library's removal is recorded (MediaStore 5,386 -> 5,364; pruneTo drops the stale index rows next scan). The staged state and the system confirmation dialog are documented as deliberately not captured: staging clears the demo group, which would put real photos back in frame.
67 lines
2.6 KiB
Markdown
67 lines
2.6 KiB
Markdown
# Privacy Policy — Foto Dup Finder
|
|
|
|
_Last updated: 2026-10-13_
|
|
|
|
## Summary
|
|
|
|
Foto Dup Finder finds and removes duplicate photos **entirely on your device**.
|
|
The app does **not** collect, transmit, sell or share any of your data. It has no
|
|
network access at all.
|
|
|
|
## What the app accesses
|
|
|
|
| Data | Why | Where it goes |
|
|
|---|---|---|
|
|
| Your photos (images) | To compare them and detect duplicates | Never leaves your device |
|
|
| Photo metadata (file name, size, folder, dimensions, date) | To group and display results | Never leaves your device |
|
|
| A local cache of file hashes | To make repeat scans fast | Stored only in this app's private storage |
|
|
|
|
## What the app does NOT do
|
|
|
|
- It does **not** have the `INTERNET` permission, so it cannot send data anywhere.
|
|
- It does **not** collect analytics, crash reports, advertising identifiers or
|
|
location data.
|
|
- It does **not** contain advertising SDKs or third-party trackers.
|
|
- It does **not** create accounts and does **not** ask for your name, email or
|
|
phone number.
|
|
- It does **not** read photos other than the images you grant access to.
|
|
|
|
## Permissions and what they mean
|
|
|
|
| Permission | Purpose |
|
|
|---|---|
|
|
| Read photos (`READ_MEDIA_IMAGES` / `READ_EXTERNAL_STORAGE`) | Required to scan your photo library. You can deny this and the app simply will not scan. On Android 14+ you may grant access to *selected photos only*; the app then scans only those. |
|
|
| `READ_MEDIA_VISUAL_USER_SELECTED` | Supports Android 14's partial photo access. |
|
|
| `WRITE_EXTERNAL_STORAGE` (Android 10 only) | Used solely to delete photos you explicitly select on that older Android version. |
|
|
|
|
## Deleting photos
|
|
|
|
On Android 11 and newer, deletions are performed through the operating system's
|
|
own confirmation dialog (`MediaStore.createDeleteRequest` / `createTrashRequest`).
|
|
The app can never delete anything without your explicit confirmation, and it never
|
|
requests the broad `MANAGE_EXTERNAL_STORAGE` permission.
|
|
|
|
On Android 10, deletions use the standard media API and still only affect the files
|
|
you selected.
|
|
|
|
## Data retention and deletion
|
|
|
|
The app stores a small local database of file hashes in its private app storage so
|
|
that repeat scans are fast. This database contains no image content and never leaves
|
|
your device. Uninstalling the app, or clearing its storage in Android Settings,
|
|
removes it completely.
|
|
|
|
## Children
|
|
|
|
The app is a general-purpose utility and is not directed at children. It collects no
|
|
personal data from anyone.
|
|
|
|
## Changes
|
|
|
|
If this policy changes, the updated version will be published at this address with a
|
|
new "last updated" date.
|
|
|
|
## Contact
|
|
|
|
Questions about this policy: **softwareapp.hb@gmail.com**.
|