Privacy Policy
Last updated: 18 July 2026
This Privacy Policy explains how Grainera (the “App”) handles your information. Grainera is an on-device iOS photo-filter app operated by Tobias Zehndbauer (see the Impressum for full provider details). By using the App you agree to the practices described here.
Summary
- Your photos stay on your device. Image processing happens locally, and your photos and image content are never uploaded to any server.
- No account is required to use the App, and we do not collect personal data ourselves.
- Anonymous, opt-out statistics. The App sends anonymous usage statistics to help us improve it — never your photos, and nothing that identifies you. You can switch this off in the App’s settings.
- Purchases are handled by the Apple App Store and by RevenueCat, which process limited transaction data under their own privacy policies.
Photos and image content
All photo editing and filtering is performed locally on your device. Images you open or edit in Grainera are not transmitted to us or to any third party, and are not stored on any server we control. The App accesses your photos only with the permission you grant through iOS, and only for the purpose of editing them within the App.
Edited images are only saved where you choose — back to your device photo library — or shared via the iOS share sheet to an app you select. Grainera does not maintain its own cloud gallery and does not store your images on any server. When you use the share sheet, the image is handed to the destination app you pick, which then handles it under its own terms.
Information we do not collect
Grainera does not require you to create an account and does not itself collect personal information such as your name, email address, or contacts. Grainera contains no third-party analytics, crash-reporting, or advertising SDKs — no Google, Meta, or similar. It does send anonymous, opt-out usage statistics to our own self-hosted system, described under “Anonymous usage statistics” below. The only third-party service integrated is RevenueCat, used solely to manage purchases and subscriptions (described below).
Anonymous usage statistics
From version 1.3 onward, Grainera can send anonymous usage statistics so we can see which features and eras are used and where people run into friction, and improve the App accordingly. This is entirely optional and can be switched off at any time (see the end of this section).
Each event contains only: an app identifier; an event name from a fixed, predefined list (for example “photo exported”); optionally a single numeric value (for example the year of the selected era); the App version and build; the major iOS version; the device class (iPhone); your language code; and the age of the installation as a coarse bucket (0, 1–7, 8–30, or 31+ days). Our server additionally derives the country from the request (your IP address is not stored) and the calendar date.
The following are never transmitted: your photos, photo metadata, filenames, free text, location data, or contacts — nothing from the content you work with. All image processing stays 100 % on your device.
The statistics are anonymous by design: there are no user IDs, device IDs, or install or session IDs; individual events cannot be linked to one another or to you; IP addresses are not stored; there are no precise timestamps (only the calendar day); and there is no fingerprinting, no tracking across apps or websites, and no advertising profiles. The data cannot be traced back to a person.
The system is self-hosted on our own infrastructure — a Cloudflare Worker with a Cloudflare D1 database, reachable at telemetrie.tz-its.de and operated by us (Tobias Zehndbauer). No third-party analytics provider or advertising network is involved; Cloudflare acts only as our hosting processor. The data is used solely to improve the App and is never sold, shared for others’ purposes, or used for advertising.
Because these statistics contain no personal data, aggregated anonymous results may be kept indefinitely.
Sending anonymous statistics is controlled by the “Send anonymous statistics” switch in the App’s settings. It is on by default; when you turn it off, the App sends nothing at all.
Legal basis (proposal — subject to legal review): where the GDPR applies, we consider the legal basis for processing these anonymous usage statistics to be our legitimate interest in understanding and improving the App (Art. 6(1)(f) GDPR), supported by the fact that the data is anonymous and that sending it is optional and can be switched off at any time.
Purchases and subscriptions
Grainera offers paid options: a weekly subscription, a yearly subscription (with a 3-day free trial), and a one-time lifetime purchase. Purchases are processed through the Apple App Store and managed with the help of RevenueCat, a subscription-management service.
To manage your entitlements (i.e. to know which purchase you own), RevenueCat receives a randomly generated, anonymous app user ID together with purchase and receipt data from the App Store. No photos or image content are ever sent to RevenueCat. RevenueCat does not receive information that directly identifies you by name.
Apple processes the payment and the transaction data associated with your Apple ID under Apple’s standard App Store practices. The exact data Apple collects for App Store transactions is governed by Apple’s policies.
These third parties process data under their own privacy policies:
- Apple — apple.com/legal/privacy
- RevenueCat — revenuecat.com/privacy
Permissions the App may request
Grainera may request access to your Photo Library — to import photos to edit and to save edited images. You can grant or revoke this permission at any time in the iOS Settings app. Grainera uses it only for editing within the App; your photos are processed locally and are not transmitted to us.
Data retention
Because we do not collect personal data on our own servers, we do not retain personal data about you. Anonymous usage statistics contain no personal data, so aggregated results may be kept indefinitely (see “Anonymous usage statistics” above). Purchase and entitlement data held by Apple and RevenueCat is retained according to their respective policies.
Children’s privacy
Grainera is rated 4+ and is intended for a general audience. It is not directed at children and does not knowingly collect personal data from children.
Your rights
Depending on where you live (for example, under the EU/EEA General Data Protection Regulation), you may have rights to access, correct, or delete personal data, or to object to certain processing. Because Grainera does not itself hold personal data about you, such requests will in most cases concern data held by Apple or RevenueCat and should be directed to them. You may also contact us at the address below and we will assist where we can.
Changes to this policy
We may update this Privacy Policy from time to time. Material changes will be reflected by updating the “Last updated” date above.
Contact
Questions about this Privacy Policy can be sent to info@grainera.app. Postal contact details are listed in the Impressum.
(This policy should be confirmed by the operator — e.g. via a German privacy generator or legal review — before App Store submission.)