No account, one device identifier

Fish Identifier works without sign-up. On first launch the app registers a random installation identifier with my server and keeps it in your device’s Keychain. It is not your name, email or Apple ID. Your identifications, logbook and reminders are stored on my server under this identifier, and it is used to count how many identifications you have left.

Photos and identification

When you identify a fish, the photo you take or choose is uploaded to my server. To produce the result it is sent to OpenAI, which processes it under its API terms; those terms do not allow it to be used to train OpenAI’s models. The photo and the result are stored in your identification history so you can open them again. Identifications you don’t save are deleted from your history automatically after 180 days; saved ones stay until you delete them. The app only uses the camera or your photo library when you start an identification, and it never reads your library on its own.

Your logbook, reminders and expert questions

Fish you save to your logbook — names, notes, quantities and journal entries — and the care reminders you create are stored on my server under your identifier. If you ask the fishkeeping expert a question, your message and the conversation so far are sent through my server to OpenAI to write the answer; the conversation is not stored on my server.

Stays on your device

Your tanks (name, size, water type), water test readings, water changes, your settings and the notification schedule are stored only on your device. Deleting the app deletes them.

Where your data is stored

The server, its database and its photo storage run on Cloudflare (Workers, D1 and R2).

Notifications

Fish of the day, water-change reminders and other notifications are scheduled on your device from information already on it. Nothing is sent to a push service. You can turn notifications off in the app’s settings or in iOS Settings at any time.

Usage statistics and crash reports

To understand which features help and to fix problems, the app may send usage statistics to Google Analytics for Firebase — for example which screens you open, when an identification starts, succeeds or fails, how many tanks you keep, and whether a purchase screen was shown or a purchase went through. They are tied to your installation identifier. If the app crashes, Firebase Crashlytics sends a crash report with technical details about your device and the app. You can turn usage statistics off in the app’s settings. Firebase’s privacy information applies.

Purchases

Subscriptions and purchases are handled by Apple through the App Store; I never see your payment details. My purchase service, RevenueCat, keeps a record of your purchases under your installation identifier so they can be validated and restored, and my server stores whether you have Premium. RevenueCat’s privacy policy applies.

Feedback

If you report a wrong result, rate the app or send feedback from inside it, your message, its category and, for a wrong result, the identification it refers to are sent to my server and emailed to me with your installation identifier. I use them only to answer you and to improve Fish Identifier.

No ads, no tracking

Fish Identifier shows no ads, does not track you across other companies’ apps or websites, and does not use your device’s advertising identifier. It does not use your location. I don’t sell your data.

Safety

Identifications, hazard warnings and tank advice are generated by AI and can be wrong. Never touch, handle or eat a fish because the app named it, and check care decisions with an expert or your local fish shop.

Children

The app is not directed at children under 13 and does not knowingly collect personal information from them.

Deleting your data

You can delete any identification from your history and any fish from your logbook inside the app. Deleting the app removes everything stored on your device. To have everything stored on my server deleted — identifications and their photos, logbook, reminders and feedback — or to have usage statistics, crash reports or purchase records deleted, email me from the address below and include the app name; I’ll take care of it.

Changes

If this policy changes, the date at the top changes with it.

Contact

Questions about privacy: ebubekirssezer@gmail.com