Privacy policy
Raccollect is a free app for collecting stickers of animals and everyday things you find outside. This policy explains what the app does with your personal data, in plain words. If something is unclear, email us at raccollect@gmail.com.
The short version
- You take a photo. A small copy is checked by an AI service (Anthropic) to find out what it shows, and the app makes a sticker (a cut-out) from it. The app asks your permission when you start. We don't keep the photo. We keep the sticker.
- If you allow location, we save the place of each catch to your account, so your map works on any phone. Only you see it. Others never see where you caught something: not the place, the area or the country.
- Your name, @username and avatar are visible to people who use Raccollect. Your catches are visible to others only while your profile is public.
- The app sends anonymous usage statistics (which screens and buttons are used) to PostHog in the EU, so we can see which parts of Raccollect work. It's on by default; turn it off in Settings → Privacy.
- If the app crashes, a crash report goes to Firebase Crashlytics (Google), so we can fix the problem. It carries a code made from your account ID, never your name, email address or photos. No ads, and we never sell your data.
- You can delete your account at any time in the app: Settings → Delete account.
- Raccollect is for people aged 16 and older.
1. Who we are
Raccollect is made and run by Kev Amir in the Netherlands ("we", "us"). We decide what happens with the personal data described here, so we are the "controller" under the GDPR.
Contact for all privacy questions and requests: raccollect@gmail.com.
2. What we collect and why
| Data | Why we use it | Legal basis | Who can see it |
|---|---|---|---|
| Account: email address, password, account ID. Or, if you sign in with Google, the details in section 4. | Signing in, password-reset emails, linking your data to your account. | Contract | Only you. Your password is stored only as a one-way hash; we can't read it. |
| Profile: display name, @username, avatar and its colour, city (optional), the date you started collecting, your phone's time zone. | Your collector card, and letting friends find you by name or @username. The time zone decides when your streak day starts and ends. | Contract | Everyone who uses Raccollect; your city and time zone only you. |
| Catches: which item and which variant you caught, when, your sticker of it, and the points it earned. | Your collection, sets, variants, points, badges and the feed. | Contract | You. Others only while your profile is public. |
| Streak and Daily Challenge: the days you caught something or finished the Daily Challenge, your current and best streak, freezes used, the sets your streak opened, and which streak moments the app already showed you. Not your quiz answers: the Daily Challenge runs on your phone. | Your streak, opening a new set every 7 days in a row, and your profile. | Contract | Your current and best streak: others while your profile is public. The rest only you. |
| Place of a catch: coordinates, how accurate they are, place name, area and country (for example "Utrecht-Oost", NL). Only if you allow location, or if you place the pin yourself. | Your own map, catch details and country count. | Contract | Only you. |
| Identification records: for each photo we check, the result (which item, how sure, whether it looked like a screen, a print, a toy, a repeat or unsafe content), which service answered, the time, and the catch it led to. Never the photo. | Making sure a catch comes from a real photo, the daily limit, moderation, and checking how well identification works. | Contract; legitimate interest (fair play and safety) | Not shown to others. |
| Riddles: which item riddles you solved. Your guess is checked on our server but its text is not stored. | Showing the items you unlocked. | Contract | Only you. |
| Social: who you follow, likes, comments (up to 280 characters), activity items, badges you reached. | The feed, the activity screen and your profile. | Contract | See section 6. |
| Blocks and reports: who you blocked; reports you send (reason, an optional note, the user or catch, and a copy of a reported comment). | Keeping Raccollect safe and handling reports. | Legitimate interest (safety) | Only us. The person you report is not told who reported them. |
| Settings: public profile, notification choices. | Applying your choices. | Contract | Only you. |
| Notifications (only if you allow them on your phone): your device's notification token, the platform and language, the sign-in session it belongs to, and how many notifications you received today. | Telling you about new followers, likes, comments and catches you don't have yet, as you set in Settings. Streak reminders are made on your phone and send nothing. | Contract | Only us, through Firebase Cloud Messaging (section 7). |
| New-set emails: your answer to "Email me when new sets drop?" when you make your profile. | Emailing you about new sets, only if you said yes. | Consent; you can withdraw it at any time by email (section 10) | Only us. |
| Feedback you send in the app (when the app asks, or from Settings): stars, the topics you tick, your note (up to 1,000 characters), whether we may contact you about it, where in the app you sent it, the platform, app and system version, and language. | Improving the app, and answering you if you said we may. | Legitimate interest (improving the app) | Only us. A low rating with a note sends us an email with only its ID; our daily email summary includes the note. |
| Account sign-up: when a guest account becomes a full account, what led to it (for example the free-catch limit, section 4), how (email or Google) and after how many catches. | Understanding why people make an account, also while usage statistics are off. | Legitimate interest (improving the app) | Only us. |
| Counters: how many photos you had checked this hour and today, guesses per hour, wrong password tries. | Limits and protection against abuse. | Legitimate interest (security) | Nobody; the app can't read them. |
| Usage statistics (while "Share anonymous usage data" is on): which screens you open and which buttons you use, for example "photo taken" or "sticker shared", how often you open the Raccollect stickers in Messages (iPhone), with a random app ID, whether you use the app signed out, as a guest or with an account, and device basics (model, system version, app version, language). Never your name, email address, @username, photos, places or anything you type. | Seeing which parts of the app work and where people get stuck, so we can improve it. | Legitimate interest (improving the app); you can turn it off at any time | Only us, through PostHog (section 7). Not linked to your account. |
| Crash reports (Android and iPhone, release versions of the app): when the app crashes or hits an unexpected error, a report with the error and where in the app's code it happened (the stack trace), your device model, system version, app version, the last screens you opened, whether you use the app signed out, as a guest or with an account, and an account tag: a code made from your account ID with a one-way function, so it can't be turned back into the ID. Never your name, email address, @username, photos, places or anything you type. | Finding and fixing crashes and errors, keeping the app working. | Legitimate interest (keeping the app working). You can object by email (section 10). | Only us, through Firebase Crashlytics (section 7). |
| Identification call log: for every photo check, also one that was refused (for example by the daily limit): the result or the reason it was refused, which service answered, how much processing it took and what it cost us, how long it took, the app version, and the time. | Keeping identification affordable and working: costs, limits, errors. | Legitimate interest (running the service) | Only us. |
| Technical logs: our server functions log the account tag (see crash reports), the app version, the result and timing of each request; unexpected server errors are also kept as an error record and reported to Sentry with only the account tag. Our hosting provider logs requests, which can include your IP address. | Running the service, fixing errors, security. | Legitimate interest | Us, our hosting provider and Sentry (section 7). |
"Contract" means we need the data to give you the app you signed up for (GDPR article 6(1)(b)). "Legitimate interest" means we have a good reason that does not outweigh your privacy (article 6(1)(f)); you can object to it (section 10).
We do not collect your contacts, your photo library, advertising IDs, payment details or health data. The app only uses the camera; on iPhone it asks for permission to save stickers to Photos when you choose to.
3. Photos and identification
- Before your first catch, the app tells you that an AI service checks your photos and asks for your permission: the tick on the permissions screen when you start, or a one-time question in the camera if you never saw that screen. Without it, the camera doesn't send anything and you can't catch.
- You take a photo with the rear camera. You can't upload photos from your gallery.
- First the app checks the photo on your phone: too dark, blurry, the same shot again, a big face, no clear subject, or a document or screen. Nothing is sent for this check. A photo that fails it is deleted.
- Then the app sends a small copy (at most 1024 pixels on the long side, without location or camera data) over an encrypted connection to our identification function at Supabase.
- The function asks an AI model from Anthropic (Claude) which item of the current season the photo shows. Anthropic receives only the small photo and the list of items. It does not receive your account ID, email address or location. Under its commercial terms Anthropic does not use the photo to train its AI models.
- The answer goes back to your phone, and we save an identification record (section 2). The photo is not stored: it exists only in memory while it is being checked, and is never written to our database, storage or logs.
- On your phone, the photo is deleted as soon as its answer is handled. If it's a match, the app cuts the item out of the photo on your phone (Android: Google ML Kit; iPhone: Apple Vision) and uploads that sticker to private storage.
- When you're offline, the daily limit is reached or identification is paused, up to 5 photos wait on your phone. They are deleted once they're handled, or 3 days after they were taken (or after a pause ended). They are not sent anywhere until they're checked.
If we start using our own identification server, we will update this policy before it receives any photo.
4. Signing in
- Email and password. Our provider Supabase stores your email address and a hash of your password. Emails such as the confirmation and password-reset emails are sent by Supabase through our email provider Resend.
- Guest. You can start without an email address. A guest account is private from the start. After 3 catches, the app asks you to save your account with an email address or Google before it checks more photos. If you log out of a guest account, its catches are removed from your phone and you can't get back in. Guest accounts that aren't used for 30 days are deleted automatically. When you save a guest account with an email address, your profile becomes public like any new account; you can make it private in Settings.
- Google. If you choose "Sign in with Google", Google sends Supabase a sign-in token with your name, email address and a link to your Google profile picture. We use your name to fill in your profile name (you can change it) and your email address for your account. We don't use your profile picture. Google knows you signed in to Raccollect; Google's privacy policy applies to that.
- Your sign-in session is stored encrypted on your phone (Android Keystore, iPhone Keychain).
5. Location
- Location is optional. The app asks for it only while you use the app, never in the background. You can turn it off for new catches at any time: tap the place at the top of the camera, or use "Save where I catch things" in Settings → Privacy.
- We use your phone's location at the moment you take the photo, not location data stored inside a photo.
- The app asks for your precise location, so the pin is where you found the item. You can give only your approximate location instead; the pin is then an estimate.
- You can add, move or remove the pin of a catch yourself on the map. Removing it deletes the catch's place; the sticker stays.
- To turn coordinates into a place and area name, the app uses your phone's built-in service: Google on Android, Apple on iPhone. They receive the coordinates for that lookup.
- Without location, a catch has no place and no pin. The app may still take the country from your mobile network (Android) or your phone's region setting (iPhone).
- Other people never receive any location of your catches: not the coordinates, the place, the area or the country.
- The map is loaded from OpenFreeMap. To show it, your phone downloads map pieces of the area you look at, so OpenFreeMap sees your IP address and which area is loaded. It gets nothing else from us.
6. What others see, and sharing
- Other users always see your name, @username, avatar and collecting date (never your city: only you see that). While your profile is public they also see your catches, stickers, badges and follower lists, never where you caught something (section 5). While it's private, they see none of these. People who block each other don't see each other's catches.
- Comments are shown with your name, @username and avatar to everyone who can see that catch. You and the owner of the catch can delete them.
- Invite links you share (raccollect.com/u/<your @username>) open your profile in the app, or for someone without the app a page on raccollect.com that shows your @username and where to get the app.
- Share cards go through your phone's share sheet to the app you pick. A card shows your @username and, only if you choose, the area. That app's own terms apply.
- Sticker packs for WhatsApp and Messages (iMessage) are made on your phone. When you add a pack, your stickers go to that app on your phone, and its own terms apply.
- Service providers that work for us are listed in section 7.
- We share data with authorities only when the law requires it.
We don't sell data or show ads. The anonymous usage statistics in section 2 go only to PostHog, crash reports only to Firebase Crashlytics and server error reports only to Sentry; all three work for us.
7. Services we use
| Service | What for | Data | Where |
|---|---|---|---|
| Supabase | Accounts, database, sticker storage, the identification function, sign-in emails | Everything in section 2; the photo only passes through | Database and storage in the EU (Frankfurt, Germany) |
| Anthropic | Identifying what a photo shows | The small photo and the item list | United States |
| Sign in with Google (if you use it); place names and on-device photo tools on Android | Sign-in token; coordinates for a place name | Google's own servers | |
| Apple | Place names on iPhone | Coordinates for a place name | Apple's own servers |
| OpenFreeMap | Map pieces | IP address and the map area loaded | OpenFreeMap's servers |
| PostHog | Anonymous usage statistics (only while "Share anonymous usage data" is on) | The usage statistics in section 2 with a random app ID; your IP address is discarded on arrival and not stored | EU (Frankfurt, Germany) |
| Firebase Crashlytics (Google) | Crash reports | The crash reports in section 2, with the account tag and a random installation ID | Google's servers, including the United States |
| Firebase Cloud Messaging (Google) | Delivering notifications (only if you allow them) | Your device's notification token and the notification's text | Google's servers, including the United States |
| Resend | Sending email: sign-in emails to you, and emails to us about reports, feedback and the daily totals | Your email address and the email's content; in emails to us, report and feedback details with the account tag | EU |
| Sentry (Functional Software, Inc.) | Reports of unexpected errors on our server | The error, the server function, the app version and the account tag; never your name, email address, photos or places | EU (Frankfurt, Germany) |
8. Transfers outside the EU
Our main data stays with Supabase in the EU, and the usage statistics stay with PostHog in the EU. Anthropic is based in the United States. PostHog's, Sentry's and Resend's companies are based there too, and their staff may access the data to support the service. Google (including Firebase Crashlytics) and Apple may handle data outside the EU. When personal data goes outside the EU, we rely on the safeguards in that provider's data processing terms, such as the European Commission's standard contractual clauses. Email us if you want to know more.
9. How long we keep data
| Data | How long |
|---|---|
| Your photo | Not stored by us. On your phone: until its answer is handled, or at most 3 days in the waiting queue. |
| Catches and stickers | Until you remove the catch or delete your account (the sticker file within a day after). |
| Profile, settings, follows, likes, activity, badges, riddles, streak, points, identification records, blocks, new-set email answer, account sign-up record | Until you delete your account (or remove them yourself, where the app lets you). |
| Feedback | Until your account is deleted. A copy in our email stays only as long as we need it to follow up. |
| Notification tokens | Until you sign out, the sign-in session ends or the token is replaced (at most 10 per account); notification counts after 2 days. |
| Comments | Until you or the catch owner delete them, or your account is deleted. A deleted comment's text is removed at once; an empty marker is removed after 7 days. |
| Reports | Kept as a moderation record. A copy of a reported comment is removed 180 days after the report was handled. When an account is deleted, reports are no longer linked to it. |
| Counters (section 2) | Old entries are removed when you next use that feature; all of them when your account is deleted. |
| Guest accounts | Deleted automatically 30 days after they were last used. |
| Usage statistics | At most 12 months, then deleted. Turning the setting off stops new statistics at once. |
| Crash reports | At most 90 days at Firebase Crashlytics, then deleted. |
| Identification call log | 400 days, then only daily totals are kept. When you delete your account, the records are no longer linked to it and stay anonymous. |
| Server error records and Sentry error reports | Error records 30 days; Sentry keeps its reports for at most 90 days. |
| Technical logs and backups | Kept for a limited time by our hosting provider, then removed. |
| Data on your phone | Until you log out (this wipes the app's data on the phone), delete your account or remove the app. |
10. Your rights
You have the right to see, correct and delete your data, to limit its use, to get a copy of it, and to object to use based on legitimate interest. In the app you can:
- make your profile private, stop saving where you catch things or turn off anonymous usage statistics in Settings → Privacy;
- remove the pin of a catch on the map (the catch keeps its sticker);
- change your name, @username, avatar, colour or city in Edit profile;
- remove a catch from its item page (this also deletes its sticker);
- block people and report content;
- delete your account in Settings → Delete account. This deletes your stickers, your account and everything linked to it.
Crash reports have no switch in the app, because they keep the app working. You can object to them by email; we then weigh your objection as the GDPR requires (article 21) and tell you what we did.
For anything else, such as a copy of your data or deleting your account without the app, email raccollect@gmail.com. We answer within one month.
If you think we handle your data wrongly, please tell us. You can also complain to the Dutch data protection authority, the Autoriteit Persoonsgegevens.
11. Age
Raccollect is for people aged 16 and older. When you start, you confirm that you are 16 or older. If we learn that someone younger has an account, we delete it.
12. Security
- All traffic between the app and our servers is encrypted (HTTPS).
- Database rules make sure people can only read what this policy says. Exact places never leave your own records. Stickers are kept in private storage.
- Your sign-in session is stored encrypted on your phone.
13. Data on your phone
The app keeps a copy of your collection, stickers and feed on your phone so it works offline. Logging out deletes it; if some catches or changes aren't saved to your account yet, the app asks first. On Android, the system may include the app's data in your own Google backup if you turned backups on; your sign-in session is left out of that backup.
14. Website
raccollect.com is hosted by Cloudflare. To deliver the pages, Cloudflare processes technical request data such as your IP address. We count visits with Cloudflare Web Analytics: it uses no cookies, doesn't track you across sites and shows us only totals (pages, countries, referring sites, device types). The website doesn't set cookies and has no ads.
15. Changes
We update this policy when the app changes, and change the date at the top. If a change matters for you, we'll let you know before it applies.