Privacy policy · Terms of use · Community guidelines · How moderation works · Research organisations
Sp-Otter · Singapore · Updated 25 October 2026
Sp-Otter is a community app for sharing wild otter sightings in Singapore. This policy explains what we collect, why, and what you control. Responsible for your data: TRvK Beratung, Hainfeld 9, 06536 Stolberg, Germany. Questions or requests: [email protected].
You can browse as a guest. To post, comment or react you sign in with Apple, Google, Facebook or Snapchat. We receive an account ID and, depending on the service, your name and email. We use them only to run your account and never sell them. Guest sessions are deleted after 30 days.
Posting requires being 13 or older. On iOS we use Apple’s age-range check, elsewhere you enter your birth year. We store only the age group (under 13, 13–17, 18+), never your birth year. Under-13s can browse but can’t post, comment or react.
Photos are resized on your device, and the server strips any remaining metadata, including GPS, before keeping them. To show when a sighting happened, the app reads only the capture time from your photo. Photos are stored privately and shown through short-lived links while the post is visible. Photos of rejected or deleted posts are erased automatically. Under the terms, photos you post may also be used by Sp-Otter SG, including commercially (for example on social media or as Photo of the Month), credited to your handle.
So nothing is lost when you’re offline, a new sighting and its photos are saved on your phone until they’re sent. They’re removed from your phone once sent, when you delete them, or when you delete your account. So the app also works without a connection, it keeps a copy of sightings and photos you’ve recently seen on your phone (photos up to about 150 MB). That copy never includes other people’s unpublished sightings, and it is cleared when you sign out or someone else signs in.
The exact spot you pin, and how it was set (a GPS fix and its accuracy, or a pin placed by hand), are stored on our server. At first everyone else sees a pin snapped to a grid about 150 m wide, 15 minutes after approval (about 450 m and 3 hours late where a family has young pups). Sp-Otter Pro members see the exact spot as soon as it’s checked. Three days after you post, the exact spot is shown to everyone in the app and on the public web map, with your username in small print, unless it is in an area with young pups or you switch it off in Settings → Exact spot, which also takes down spots already shown. Seven days after the sighting, the copy we keep for research is separated from your account (below). If you tap Show my location on the map, your location is used on your phone to move the map there; it isn’t sent to us.
Seven days after a sighting, its exact spot, time, the number of otters you counted (if you did) and the otter family trusted spotters named (if any) are kept without anything that links them to you. They are shared with approved conservation and research organisations, to help track Singapore’s otters, only if you said yes: we ask once, during setup, with nothing chosen in advance, and you can change it any time in Settings → Otter research. We ask only spotters aged 18 or over; for younger spotters it stays off. What we share never includes your name, handle, email or account, but it keeps the exact time of the sighting. Your sighting itself stays public in the app and on the public web map, with your username, until you delete it, so someone who has both a research record and the public sighting could match them. Sightings from an area with young pups are shared rounded to about 450 m. Only sightings you make while sharing is on are ever shared; switching it off also leaves out every sighting not yet unlinked (the last 7 days). Your photos are shared with researchers only if you turn that on too, under the Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0) licence, credited to “a Sp-Otter SG spotter”. The current list of organisations is at https://sp-otter.com/research-organisations.html (Settings → Research organisations in the app); an organisation is added there before it receives anything. Every export is logged: who asked, which organisation received it and which records. Once a sighting has been unlinked from you, it can no longer be found to remove; before that, deleting the sighting or your account removes it.
To keep the community safe, your photos, caption and comments are sent to Cloudflare (Workers AI, which runs open AI models) or to Anthropic (Claude) and, when enabled, to Google Cloud Vision for analysis. None of them uses them to train AI models, and Cloudflare keeps nothing once a check is done. Results are logged to review mistakes. If the checks are briefly unavailable, your sighting waits privately — visible only to you — for up to 7 days until it can be checked, and is deleted if it can’t be.
Sp-Otter Pro shows sightings as soon as they’re checked, with the exact spot. We keep whether you have Pro, which plan and until when, to give you what you paid for; the payment itself goes through Apple or Google, RevenueCat confirms it to us, and we never see your card. Pro never shows sightings in an area with young pups early, and never the exact spot of a spotter who switched that off. Spotters are told about Pro before their first post.
When you report an otter in trouble, the report (what’s wrong, the date and time, your exact location and any details you add) is put together on your phone and sent only where you choose: by WhatsApp, a call or the share sheet. We don’t receive or keep it.
When you share to Instagram, Facebook or Snapchat, the image is made on your phone and handed to the app you pick. It shows the area and date, never the exact spot or time. We don’t post anything on your behalf.
If you report something we store the reason. If you block someone we store that pair so their content stays hidden from you.
If you follow an otter family we store that, to tell you when its story has a new chapter. If you are a trusted spotter, your answer to which family a sighting shows is stored with your account; everyone else only sees the family that spotters agree on, a week after the sighting.
Your account, sightings, photos, comments and reactions: until you delete them or your account. Sightings waiting for a check: up to 7 days. Unfinished uploads: 24 hours. Exact sighting locations: on the sighting, shown publicly from 3 days after posting (unless you switch that off) until you delete the sighting or your account; our research copy is unlinked from you 7 days after the sighting (see “Otter research”). Exact spots of sightings that are rejected, removed or deleted are erased. Moderation logs: 2 years, to review mistakes and improve the checks, without your account attached once you delete it.
Settings → Delete account removes your account, sightings, photos, comments and reactions immediately, and clears anything still waiting to send from your phone. Moderation logs are kept without your account attached, to keep the checks fair. Research records already unlinked from you (7 days after each sighting) stay, because nothing connects them to you any more.
Data is stored with Supabase (database, file storage and sign-in) — in Singapore (Supabase on AWS ap-southeast-1). Photos, captions and comments are analysed by Cloudflare or Anthropic (both United States) and, when enabled, Google Cloud. The sign-in service you choose (Apple, Google, Meta or Snap) confirms who you are. If you buy Sp-Otter Pro, RevenueCat (United States) receives your account id and the App Store or Google Play record of that purchase, to confirm it to us. Each processes data only to provide its service to us. Approved research organisations receive de-identified sightings as described in “Otter research”.
Under Singapore’s Personal Data Protection Act you can ask what personal data we hold about you, ask us to correct it, and withdraw consent — for research sharing, turn it off in Settings → Otter research; for everything else, the quickest way is deleting your account in Settings. For anything else, contact [email protected].
The company responsible for Sp-Otter is established in Germany, so the EU General Data Protection Regulation (GDPR) applies to how we handle your data, wherever you live. The next sections add what it requires to the rest of this policy.
To provide the service you signed up for (GDPR Article 6(1)(b)): your account, posting and showing your sightings, comments, reactions and the families you follow, Sp-Otter Pro if you buy it, and using your photos under the licence in the terms. With your consent (Article 6(1)(a)), which you can withdraw any time in Settings → Otter research: sharing your sightings with research organisations, which we offer only from age 18 (in Germany you can consent to online services on your own from 16, Article 8, and our age check only tells us whether you are 18). For our legitimate interests (Article 6(1)(f)) in a safe community that protects otters and children, and in counting Singapore’s otters: the automated and community checks, reports, blocks, the age check, posting limits, moderation logs, showing your exact spot publicly 3 days after posting (switch it off in Settings → Exact spot), and keeping a research copy of each sighting that is unlinked from you after 7 days. Where a law requires us to keep or hand over data (Article 6(1)(c)).
Our automated safety check can reject a sighting or comment without a person looking at it, and a rejection for breaking the rules can count as a strike; three strikes within 90 days pause the account until they expire. If a decision like this affects you, you can ask for a person to review it, give your point of view and contest it (Article 22): write to [email protected]. The check never rejects a post just because it isn’t sure there is an otter; those go to trusted spotters. When the check runs on open models (Cloudflare), photos that may break the rules go to a moderator instead of being rejected, and no automatic rejection counts as a strike.
You can ask for access to your data and a copy of it (Article 15), for it to be corrected (Article 16) or deleted (Article 17), for its use to be restricted (Article 18), and to receive the data you gave us in a common machine-readable format (Article 20). You can object at any time to any use based on our legitimate interests (Article 21), and withdraw a consent at any time without affecting what happened before (Article 7(3)). Write to [email protected]; we answer within one month. You can also complain to a data protection authority, in particular in the EU country where you live or work, or to the one responsible for us: the State Commissioner for Data Protection of Saxony-Anhalt (Landesbeauftragter für den Datenschutz Sachsen-Anhalt), Magdeburg, Germany.
Your data is stored in Singapore with Supabase, on Amazon Web Services. Cloudflare (whose network may run the checks outside Singapore), Anthropic, RevenueCat, Expo (which delivers app updates and sees your device’s internet address) and, when switched on, Google Cloud are in the United States. Singapore has no EU adequacy decision, so these transfers rely on the EU standard contractual clauses in our agreements with each provider (Article 46(2)(c)); for a United States provider certified under the EU–US Data Privacy Framework, on that framework (Article 45). Research organisations receive records only with your consent and under the agreement we sign with each before its first export. The sign-in service you choose, and OpenFreeMap, which serves the map in the app and on the website (it sees your device’s internet address and the part of the map you look at), handle your data under their own privacy policies. Ask us for a copy of the safeguards.
Besides the periods under “How long we keep things”: guest sessions 30 days; the record of your Sp-Otter Pro purchases until they run out and then as long as tax law requires; reports and blocks until you delete your account; the log of research exports, which names no spotter, for as long as the records it lists are used. Moderation logs: 2 years (owner, 2026-10-09), then deleted.
Posting is for spotters aged 13 and up. Anyone can browse as a guest without an account. If someone under 13 signs in, they can only browse — no posting, commenting or reacting — and their account holds just what their sign-in service shared plus their age group. It can be deleted any time in Settings.
If we change this policy in a way that matters, we’ll say so in the app before it takes effect.
Questions: [email protected]