Privacy Policy

Last updated: October 14, 2026

Peekabug helps you photograph a bug, identify it, and build a personal collection. We built the app to collect as little data as possible. This policy explains what happens to your information.

The short version

  • Accounts are optional. Without one, your collection lives only on your device. If you create one, it syncs to our backend so you do not lose it when you switch or reinstall.
  • When you scan a bug, the photo is sent to our AI provider to identify it and saved on your phone as the card's picture. We keep no copy.
  • Location is optional and only ever approximate (rounded to about 1 km). Bug Brief uses the map position or place you choose, not a precise track of where you are.
  • If you turn on notes from Peeka, the app sends our server a push token, a location rounded to about 1 km and a small interest card about your collection, with no name or account.
  • The app sends anonymous usage events and error reports to our database. They carry a random app ID, not your name, email or account.
  • This website sets no cookies and runs no third-party analytics. It counts a few anonymous events, such as App Store link taps, as totals with no IP address or ID.
  • We do not sell your data, show ads, or use your data for advertising.
  • You can delete your account and all synced data any time, from inside the app.

What we collect and why

Bug photos (when you scan). Your photo is sent through our proxy to Google's Gemini API to recognise the bug and generate its facts. We use the paid API tier; under Google's Gemini API terms, prompts and responses sent through the paid API are not used to improve Google's products, and Google logs them only for a limited period to detect abuse. The model is Gemini 3.8 Flash for free use and Gemini 4 Argon for Peeka Pro; each is the other's automatic fallback. The photo and the result are then saved on your device as the card in your collection; the photo is kept in the app's Documents folder, so it is part of your own iPhone or iCloud backup. We keep no copy on our own servers. Our server is a lightweight proxy that forwards the request and holds our API keys. If you have an account, your synced collection holds only a reference to where the photo is stored on your phone, not the photo itself, so a new phone gets your cards back without their photos. With each scan the app sends a random app ID that is not linked to your name or account. Our proxy uses it to enforce a daily scan limit (a counter deleted after two days) and keeps a note of which days that ID scanned, for 90 days, so we can count daily users.

Web bug identifier (peekabug.com/identify). When you upload a photo on our website, it is resized in your browser, sent over HTTPS to our proxy and forwarded to the same AI provider to be identified. We keep neither the photo nor the result. To enforce the free daily limit, our proxy stores a hashed daily counter derived from your network address (never the address itself), deleted after two days. The number of scans you have used today is kept in your browser's local storage.

Website counts (peekabug.com). The website sets no cookies and runs no third-party analytics or ads. When the web identifier shows a result or reaches its daily limit, when the app prompt or its download QR code comes into view, or when you tap an App Store link, the page sends our proxy a short note saying only what happened, where on the site, the page language and the kind of device (iPhone, Android, computer or other). The note carries no cookie and no device or user ID, and we do not store your IP address with it. It is kept only as part of anonymous daily totals, for 90 days. To limit abuse, our proxy also keeps a hashed daily counter derived from your network address (never the address itself), deleted after two days, as for the web identifier. That counter is never linked to the totals. When you open a page from a link that someone shared with the site's Share button, the page also sends a note that a shared link was opened, with only the page type and language; the ?s= marker is removed from the address right away, and no cookie, no ID and no IP address are stored with it. App Store links on the site carry a label naming the page they came from (for example web_result_gate), so Apple's App Store Connect can show us aggregated App Store page views and downloads per page; Apple does not tell us who tapped or downloaded.

Ask Peeka, bug profiles, stories and monthly reports. For Ask Peeka, your question, the recent messages in that chat and the name of the bug are sent to the same AI provider to write an answer. To write a bug's profile, its name is sent; profiles are cached by species and language (not by person) for up to 30 days. For Peeka Pro stories and monthly reports, the facts the text is built from are sent: the bug's name, season, time of day and, when location is on, the city, country and weather of the find; for a monthly report, the month's counts, species names and cities. No name, email or account is sent with these.

Approximate location (optional). If enabled, we use your approximate location (rounded to about 1 km) to record where, in what weather, and season you made a discovery, to show your local Bug Brief, and to set the sky over your Bug Hotel. We never collect precise or background location. The rounded place is stored with your collection on your device; if you have an account, the rounded place on each card syncs with your collection. You can turn location off any time in the app (Me → Location) or in iOS Settings, and the app works without it.

Weather. When location is enabled, approximate coordinates are sent to Open-Meteo to fetch current weather. For notes, our server does the same with the rounded notes location.

Bug Brief. The place or approximate coordinates you choose on the map, and a month (or a species name, for its season chart), are sent to iNaturalist to fetch species counts and licensed photos, usually through our proxy; if the proxy is slow, the app asks iNaturalist directly, so iNaturalist also sees your network (IP) address. No name, email or account is included. Results fetched through our proxy are cached (by place, month or species, never by person) for up to 30 days; the species lookup behind a season chart for up to 90 days. For Peeka's daily note in Bug Brief, the place's coordinates rounded to about 10 km and your app language are sent to our server; nothing is stored for it.

Place search. Text you type in the map search is handled by Apple Maps on your device when your device language matches the app language, and otherwise by iNaturalist's place search, through our proxy or directly from your phone if the proxy is slow. Searches sent through our proxy are cached by the search text, not by person, for up to 30 days.

Your collection and progress. Cards, hotel guests, XP, badges, saved trips, the name you enter and your settings are stored on your device. The app also keeps a backup copy of this save in the app's Documents folder, so it is included in your own iPhone or iCloud backup. Without an account your collection is not uploaded. Only the small parts described on this page leave your device, for the feature that needs them: the notes interest card below, and the bug names and facts sent to write text above.

Account (optional). If you create an account, we store your email address and sync your collection, progress and the name you enter to our backend (Supabase) so they follow you across devices, protected by per-user row-level security. Delete it any time from Me → Account & sync → Delete account.

Purchases. Peeka Pro is sold through the App Store. RevenueCat receives an anonymous app user id and the purchase receipt from Apple to confirm your subscription. We never see your payment details. Deleting your account does not cancel a subscription; manage or cancel it in your App Store account settings.

Notes from Peeka (optional). Reminders about a saved trip and the daily bug quiz reminder are scheduled locally on your device. If notes from Peeka are on and location is allowed, the app sends our server the following when it starts and when you turn notes on:

  • a push token (an address for this app on this phone, issued by Expo and Apple);
  • a location rounded to two decimal places (about 1 km);
  • your app language;
  • an interest card: the Field Guide's current riddle bug (if you have not found it yet), the Field Guide sets you are one bug short of and the missing bug, find anniversaries in the next two weeks (the bug's name, the month and day of the find and how many years ago), and which kinds of notes you chose.

No name, email, account, photo or full collection is sent. The server stores this under the push token, along with when notes were first turned on and which notes were sent on which days, so it never sends more than one a day or repeats itself. Once an hour, a job checks the weather and recent public iNaturalist sightings for that area and sends at most one note a day, only when something is actually happening nearby, plus a one-time welcome note when you turn notes on. Notes are delivered through Expo's push service and Apple. Turning notes off in the app, or turning location or notifications off (in Me, or in iOS Settings, from the next app start), deletes this record from our server. If the push service reports that Peekabug is no longer installed or allowed to notify, we delete the record the next time a note would go out. Otherwise it is deleted automatically after 60 days without an update (the app opening or a note being sent).

Usage events and error reports. The app records what happens in it so we can fix and improve it: for example onboarding steps, which screens and buttons you use, scan results (the bug's name, confidence and rarity), whether notes were turned on or opened, paywall views, purchases completed or failed, and app errors. Each event carries a random app ID created on your device, the app version and the platform, and is stored in our database (Supabase). It is not linked to your name, email or account, and resetting your progress does not change the ID.

What we do NOT collect

  • No password beyond what your sign-in method requires; no contacts, no photo library access beyond the photo you choose to scan.
  • No advertising identifiers, no third-party analytics SDKs, no cross-app tracking. Our own usage events are described above and are never used for advertising.
  • No precise or background location.

Service providers

  • Google (Gemini API): receives your scan photo, question text and the facts for stories and reports to return a result (Gemini 3.8 Flash for free use and Gemini 4 Argon for Peeka Pro; each is the other's automatic fallback). We use the paid API tier: under Google's Gemini API terms, prompts and responses sent through the paid API are not used to improve Google's products; Google logs them for a limited period only to detect abuse. Neither the photo nor the answer is stored by us.
  • iNaturalist: receives a place, a place search or approximate coordinates and a month, or a species name, for Bug Brief and seasons, through our proxy or directly from your phone (with your IP address) when the proxy is slow. No name, email or account.
  • Open-Meteo: receives approximate coordinates for weather. No personal identifiers.
  • Apple: Maps, place search, the App Store, subscriptions and notification delivery, under Apple's own privacy policy.
  • Expo: delivers notes (the push token and the note's text) and app updates.
  • Cloudflare: runs our request proxy and hosts this website; standard request logs.
  • Supabase: if you sign in, stores your email and synced collection with per-user row-level security; also stores the anonymous usage events and error reports.
  • RevenueCat: subscription status, keyed by an anonymous app user id.

Requests are sent over encrypted (HTTPS) connections. A plain-language summary of each provider is on our data sources page.

Children

Peekabug is intended for a general audience of all ages and is not directed to children under 13. We do not knowingly collect personal information from children. Accounts are optional; an account holds an email address and the name you enter in the app, if any. If you believe a child has created an account or provided information you would like removed, contact us or use the in-app account deletion.

Data retention

On-device data remains until you delete it in the app or uninstall Peekabug. If you have an account, your synced data is kept until you delete your account; resetting your progress while signed in also clears your synced collection. Our AI and weather providers process each request to return a result. Notes records on our server are deleted when you turn notes, notifications or location off, when the push service reports the app is gone, or after 60 days without an update. Scan counters are deleted after two days and the daily-use note after 90 days. Website counts are deleted after 90 days; their hashed anti-abuse counter after two days. Bug Brief, place search and bug profile caches on our proxy hold nothing about you and expire within 90 days (most within 30). Usage events and error reports are not linked to an account, so deleting your account does not remove them; they currently have no fixed deletion date.

Your choices

  • Turn location or notifications off any time in the app's settings or in iOS Settings. Turning notes off in the app also deletes the notes record on our server.
  • Delete your account and all synced data in the app: Me → Account & sync → Delete account.
  • Delete on-device data by resetting your progress (Me → Reset progress) or uninstalling the app.

Changes

If we change this policy, we will update the date above and, for material changes, note it in the app.

Contact

Questions? Email hello@myrddin.ai.

Terms of Use · Data sources · Safety promise