FishSnap

Android app and account service

FishSnap privacy policy

Effective date: 15 October 2026

FishSnap is operated by Ruben dos Reis, using the developer name Itervanta. He is responsible for the personal information described here. For privacy questions or requests, email help@fishsnap.online.

Aquarium records stay on your device

Your aquariums, inhabitants, water readings, care routines, notes, preferences, optional keeper name and app photo copies are stored on your device. Account sign-in does not upload or back up these records. Android app-data backup is disabled. FishSnap requests camera access when you choose to take a photo; the system photo picker lets you select an existing image. It does not request contacts, microphone or location permission.

What Google sign-in does

Online account access is currently limited to private testing. When you choose Sign in with Google, Google verifies your chosen account and supplies an identity token and associated identity information. The app uses the identity token to request a FishSnap session over HTTPS. Google and the identity SDK may process your Google account identifier, email, name and profile-image information for this sign-in.

In the Android app, the Google SDK temporarily writes an encrypted local identity cache. FishSnap clears and verifies its own copy of that SDK cache before and after sign-in, at app startup and when signing out or completing account removal. A failed cleanup prevents a new Google proof from being used. This does not delete your Google account or Google’s own records. FishSnap does not request access to your Gmail, contacts, Drive or calendar, or offline Google access.

The FishSnap account service verifies Google's proof and derives a pseudonymous account identifier. It stores that identifier, a hash of a separate random FishSnap session credential, and session creation and expiry times. It does not store a Google profile, email, name, Google token or refresh token in the account database. The app keeps its FishSnap session credential in Android-protected secure storage. Pseudonymous identifiers are personal information, not anonymous information.

On the account-removal web page, Google verification loads only after you choose Start Google verification. Google may use its own account cookies under its privacy terms. The proof stays temporarily in page memory and is sent to FishSnap only after a separate removal confirmation; this page does not save it in browser storage or put it in a URL. Reloading or closing the page discards it.

Why the service uses this information

We use account data to provide the account connection you request, keep sessions secure and prevent misuse. Where EU or UK data-protection law applies, providing the requested account service is based on performing a contract or taking steps at your request before entering one. Proportionate security and abuse prevention rely on our legitimate interests in protecting the service and its users. Support information is used to answer your request; legal obligations may require particular records to be retained. You can contact us to object to processing based on legitimate interests.

Retention and account removal

FishSnap sessions expire after at most 30 days. Signing out revokes the session on that device. If a connection fails, the app keeps access locked and lets you retry; it does not report an unconfirmed removal as complete.

In You → Account and paid access → Remove profile, confirm removal to end all current FishSnap sessions for that account and remove its active rate-limit record. You can also use the account-removal page without reinstalling FishSnap. Google ownership verification and a separate removal confirmation are required.

For security, a pseudonymous marker prevents an older Google proof from restoring a session for up to two hours and one minute. A hash-only retry receipt lasts until the original native session expires, at most 30 days. For web removal, the receipt instead lasts until the Google proof expires, at most two hours. Request-limit records are retained for 24 hours. An hourly cleanup deletes expired sessions, limits, receipts and markers, normally adding no more than one hour when operating. A service incident can delay cleanup; expired credentials cannot authorize access.

These security records do not contain your name, email, aquarium records or raw credential. Account removal does not delete your Google account, cancel a subscription, or erase aquarium records on your phone. Purchases are currently unavailable. Accounts with a recorded purchase cannot yet be removed automatically and require support review; purchasing will stay closed until purchase-data retention and removal are complete.

Remove local records separately

In Data and privacy, choose Remove everything and confirm to erase the app's aquarium records, photo copies and temporary exports. The app reports completion only after checking saved state and files. If interrupted, retry to finish. Clearing app storage or uninstalling also removes local app data. Photos in your original library, shared exports and copies saved to another app remain where you saved them. JSON exports contain records, but do not include photo files.

Support and information you send

Feedback and help opens a draft in your email app. You choose whether to send it and what to include; aquarium records and photos are not attached automatically. We use your email address, message and chosen attachments to handle your request. Ordinary support correspondence is deleted 90 days after a case closes. Records needed for a specific legal obligation or dispute are restricted and retained only as long as that reason requires. Never send passwords, sign-in codes, session tokens or payment-card details.

Providers, logs and backups

Google provides sign-in and handles its own account records under its privacy policy. Supabase hosts the account API and database; the account database is in its eu-central-1 region in Germany. Infrastructure providers process technical request data such as IP addresses, IP-derived approximate city/country/postal area, user-agent and TLS/browser fingerprints, request times and response status for security and service operation. This does not require Android location permission. FishSnap adds no advertising or behavioural analytics SDK and does not sell personal information.

The current Supabase Free plan provides one day of API/database log availability. That is not a promise that every infrastructure log or backup is physically erased after one day. Provider-controlled backup copies may retain deleted rows until replaced under the provider's backup cycle and are not used for everyday account access. Before a restored database is used, all restored account sessions must be invalidated so deleted sessions cannot become active again.

Providers and subprocessors may process information outside your country, including outside the EEA or UK. Supabase's published processing terms describe processor obligations, subprocessors and international-transfer safeguards including standard contractual clauses. You can ask us about applicable safeguards. Requests use HTTPS, and the account service verifies its database TLS connection. No security method is an absolute guarantee.

Your choices and rights

You can use the local aquarium features without Google sign-in. Depending on applicable law, you can request access, correction, erasure, restriction, objection and a copy of personal information. Email help@fishsnap.online; we may need proportionate proof of ownership, but will not ask for your Google password or sign-in codes. You can complain to your local data-protection authority, including Portugal's CNPD.

Website and changes

This notice covers the Android app and account service. Visiting fishsnap.online uses the separate website, whose website privacy notice applies to that visit. Account sign-in does not send aquarium records to the website. This policy will be updated when data handling changes, with the effective date shown above.