App: Iris (macOS) · Last updated: 21 September 2026
Data controller: Christos Dimakis, Peristeri, Attica, Greece.
Contact: iris@dimakis.app
The app has no server. You don't create an account with us, you don't give an email, and there is no analytics, crash reporting or advertising network built in. We don't track you across apps or websites. No photo, no video and no metadata ever passes through a system of ours, because we have no such system.
Iris prepares photos and videos before they go into your library: it fixes the capture date and location, writes title, description and keywords, renames in bulk and finds duplicates. It uses the macOS frameworks (ImageIO and AVFoundation) and runs inside Apple's sandbox, which only lets it touch the files and folders you chose or dragged in.
The following is stored locally and is not sent anywhere:
| Category | What it is | Why |
|---|---|---|
| File access | The macOS "bookmarks" for the folders and files you chose | So the app remembers access between launches |
| Undo journal | One JSON file per batch: file path and the previous values (date, GPS, title, description, keywords, name) | So you can undo a change. Keeps the latest 50 batches; older ones are removed automatically. It lives in the app's own space (Application Support), not inside your folders |
| Rename recovery record | The paths of a rename that is in progress | To put files back if the app quits abruptly. Removed as soon as the rename finishes |
| Recent places | Up to 12 places you used: name and coordinates | So you don't retype the same coordinates |
| Settings | The "Subfolders" and "Verify" switches | App behaviour |
| Activity log | The latest 500 log lines, in memory only | To show what happened and any errors. Lost when you quit the app |
| Temporary files | A temporary file and a rescue copy next to the file being written | Write safety. Deleted automatically when the write completes |
Iris does not ask for access to your Photos library, camera, contacts or location. The locations you see come from the files themselves (GPS) or from what you pick on the map, not from where you are. The only access is to files and folders you choose in the system's open panel or by dragging. The app has permission to connect to the internet only to load these pages (section 6); the map works through a system service.
| Service | What is sent | Purpose |
|---|---|---|
| Apple Maps (MapKit) | The map area you are viewing and, when you press "Search", the text you typed (e.g. "Chalkida") | Showing the map and finding coordinates for a place name |
| The app's website (dimakis.app, hosted on GitHub Pages) | One request for the page, like any browsing, only when you open the Privacy Policy or Terms of Use from Settings. The server sees your IP address and the technical details of the request | Showing these texts always in their current form. GitHub's privacy statement also applies |
Nothing else. Not your files, their names, their metadata, nor any name, email or device identifier from us.
We don't, because we hold nothing. On your Mac, as long as you want. The undo journal keeps the latest 50 batches and automatically removes older ones; it goes away entirely if you delete the app. Your photos are not affected by either.
If you write to us from Settings → Contact, your email app opens with only the subject prefilled: app name and version. Nothing else is attached: no file names, locations or photos. We keep support emails for as long as needed to resolve the issue.
You have the right of access, rectification, erasure, restriction, portability and objection. Since we hold none of your data, these rights are exercised directly on your Mac. For anything else, write to us. You also have the right to lodge a complaint with the Hellenic Data Protection Authority (dpa.gr).
The app is not directed at children under 13 and does not knowingly collect data from them. Since we collect no data at all, there is no such risk.
If anything material changes, the date at the top will be updated and we'll mention it in the release notes. This policy is always available inside the app, in Settings.