PRIVACY

Privacy Policy

Effective date: October 12, 2026

PopEar is an iOS app that helps you practice English listening using curated YouTube clips and a spaced-repetition review system. This policy explains what we collect, how we use it, and your rights over it.

We keep this simple because the app is simple: no ads, no advertising trackers, no selling data, no marketing profiling. Beyond your learning activity, your settings and, if you choose Sign in with Apple, your sign-in details, we collect first-party usage analytics and crash reports, used solely to fix bugs and improve the app — all described below.

What we collect

Account identifier

  • When you first open the app, Supabase generates an anonymous user ID for you. This ID is not tied to your name, email, phone, or any real-world identity. You can use PopEar fully without providing any personal information.
  • If you choose Sign in with Apple (it is optional, and it lets you get your saved cards back on another device), Apple gives us an identifier for your Apple account and an email address: your own, or a private relay address if you pick Hide My Email. We also keep a token from Apple, which we need to cancel the sign-in link when you delete your account. Apple also sends a few technical details of the sign-in, such as whether the email address is verified and when you signed in. We do not ask Apple for your name, and we never see your Apple password.
  • After you sign in, your account ID is linked, in our database, to that email address. If you sign in on another device with the same Apple account, that device uses the same account, and so the same saved cards.
  • An earlier version of the app (until September 2026) asked for a name during setup. If you typed one then, we still store it with your profile. The app no longer asks for a name or shows it.

Learning activity

  • Which clips you watch and when (watch history).
  • Your progress within a clip (step completion, playback position, phase within Step 2).
  • Your ratings of clip difficulty.
  • Sentences and words you save, and the flashcards they become.
  • The letters you have typed into an unfinished fill-in-the-blank exercise, so that you can continue it later. They are deleted when you finish the clip.
  • Spaced-repetition review outcomes (cards reviewed, your ratings, timestamps).
  • Derived scores (vocabulary score, listening score, daily streak).
  • How far you got in the first-time setup, and how many cards are saved on your device (a number we use to keep your devices in sync).

App preferences

Settings you configure inside the app, including your native language (and its name, if you type one under "Other"), learning goal, and skill level. These are stored both on your device and on our servers so they persist across reinstalls and across devices.

Device information

Technical information the app needs to run (iOS version, device model). Our sign-in system also records the IP address and the app and device description (user agent) of each session, as a security record. We do not build a device fingerprint and we do not use this for advertising.

Usage analytics

To understand which features actually help people learn — and where they get stuck — we record a small set of in-app events. These are derived signals, not the content of what you do:

  • When you open the app.
  • Which clips you open, which learning steps you reach, and when you leave or finish a clip.
  • Whether a fill-in-the-blank answer was correct, revealed, or wrong — the result only, never the text you type.
  • When you replay a clip or a sentence, and at what playback speed.
  • When you tap a highlighted word, and when you save one (the curated word itself, not anything you enter).
  • When you switch between typing and tap mode, and when you open review.
  • When a first-time tip is shown, how long it stays up, and how you close it.
  • How long a video takes to load and start, and whether loading failed (for example, because the phone was offline).
  • When you start Sign in with Apple, and whether it worked — on a failure, an error code only, never your email address.
  • When the app has no more clips to recommend at your level.

These events are stored on our own Supabase backend — there is no third-party analytics company involved. Each event carries your account ID, a random per-install ID, a per-session ID so we can follow a single session, and the app version. The events themselves hold no name and no email address.

Crash and error reports

When the app hits a crash or an unexpected error, it sends a diagnostic report to Sentry, our error-monitoring provider. A report includes what went wrong (an error message and stack trace), your device model and iOS version, your IP address, and a short trail of the in-app actions leading up to it, associated with your account ID so we can tell whether a bug hit one person or many. Sentry derives an approximate location (roughly city level) from that IP address, which helps us see whether a problem is specific to one country or network; we do not use it for anything else, and we never collect GPS or precise location. We deliberately do not capture screenshots, screen recordings, or the text you type. With no crash involved, the app may also send Sentry a small signal at each start (so that crash-free sessions can be counted) and a sample of timing measurements. Everything sent to Sentry carries a few labels: your level and learning goal, whether your account is anonymous, and whether you use typing or tap mode.

Feedback you send us

If you tap Send feedback in the app, a feedback form opens in your browser. The form is hosted by Tally, and its link carries your account ID and an install ID, so we can connect your feedback to your account. The form collects what you write and, only if you choose to give it, your email address.

What we do not collect

  • No phone number, GPS or precise location, contacts, photos, health data, or any identifier we don't need — and no name, except one typed during setup in an earlier version of the app (see Account identifier).
  • No advertising SDKs, ad networks, or cross-app tracking.
  • No selling, renting, or sharing your data with advertisers or data brokers.
  • No screen recordings or screenshots, and no record of what you type — with three exceptions, all listed above: the letters in an unfinished fill-in-the-blank exercise, the name of a language if you type one under "Other", and a name typed during setup in an earlier version of the app. Feedback you choose to send us through the form is covered above. The usage analytics and crash reports described above are for diagnosis and for improving the app — never used for advertising or resale.

How we use your data

We use the data above solely to:

  • Deliver the learning experience (play clips, track progress, run spaced repetition).
  • Personalize which clips are recommended to you based on your in-app activity and skill level.
  • Diagnose bugs, monitor crashes, and understand which features help learners so we can improve the app.
  • Read and answer the feedback you send us.

We do not use your data for advertising, profiling outside the app, or any purpose not listed here.

Where your data is stored

  • On your device: progress and flashcard data is stored locally on your iPhone using SQLite and AsyncStorage. Your Supabase session token is stored in the iOS Keychain.
  • On our servers: the same data is synced to a Supabase Postgres database so you don't lose progress if you reinstall or switch devices. Supabase, Inc. is our backend provider; their privacy policy is at supabase.com/privacy.
  • With Sentry: crash and error reports are sent to Sentry's infrastructure in the European Union for diagnosis.
  • In backups: every night an automated job that runs on GitHub's servers makes a copy of our database, as protection against losing data. The copy is encrypted before it is stored, kept for 14 days, and can be opened only with a key that we hold.

All data in transit is encrypted with HTTPS/TLS. Server-side access is restricted by Row Level Security so each user can only read and write their own rows.

International data transfers

Our backend runs on Supabase's infrastructure in Singapore, crash reports are processed by Sentry in the European Union, feedback you send through the form is stored by Tally, also in the European Union, our database backups are made and stored by GitHub in the United States, app update checks go to Expo, and our daily report is posted to Discord, both also in the United States. Depending on your location, your data may be processed in or transferred to these or other countries as part of normal cloud service operations. Where required by law (such as for users in the European Union or United Kingdom), we rely on standard contractual clauses or equivalent legal mechanisms to safeguard your data during transfer.

Third parties

PopEar uses a small, deliberate set of third-party services:

  • Supabase: backend database, authentication, and file storage. The data described above is stored on Supabase infrastructure.
  • Sentry (Functional Software, Inc.): crash and error monitoring. When the app hits a crash or error, a diagnostic report is sent to Sentry so we can find and fix it; these reports are processed on Sentry's infrastructure in the European Union. Their privacy policy is at sentry.io/privacy.
  • Tally (Tally BV, Belgium): our feedback form. What you submit, together with the IDs its link carries, is stored on Tally's servers in the European Union. Their privacy policy is at tally.so/help/privacy-policy.
  • GitHub (GitHub, Inc., United States): runs our automated jobs, including the nightly database backup, the data-sync check and part of the daily report described below, and stores the encrypted backup files for 14 days. A stored file can be opened only with a key that we hold; a job's log can hold the first eight characters of an account ID. Their privacy statement is at docs.github.com/en/site-policy/privacy-policies.
  • Expo (650 Industries, Inc., United States): delivers app updates. When the app starts, it asks Expo's update service whether a newer version exists; that request carries your IP address, a random ID for this installation, the app's version and, after a failed start, a short technical error message. Their privacy policy is at expo.dev/privacy.
  • Discord (Discord Inc., United States): receives our own reports and alerts, in private channels that only we read. Each morning an automated report of the app's numbers is posted there. Besides totals, it holds one line for each of a few users who were active that day: the first six characters of the account ID, how many days ago the account started, the level, and that day's activity (for example, clips completed, cards saved, and the title of a clip in progress) — never a name or an email address. A weekly report lists a few users in the same way, and an alert from our data-sync check can carry the first eight characters of an account ID with card counts. A short written summary of the daily totals is produced by Google's Gemini service, which for that summary is sent the totals only and nothing about a single user. Discord's privacy policy is at discord.com/privacy.
  • YouTube: video clips play through YouTube's official iframe player. When you watch a clip, your device communicates with YouTube directly to stream the video, and YouTube's privacy policy applies to that interaction (policies.google.com/privacy). We do not control what YouTube collects during playback, and PopEar does not tell YouTube who you are. The small web page that holds the player is loaded from GitHub Pages, where the maker of the open-source player component we use keeps it; that request carries the video's ID and your IP address. By using PopEar, you are also bound by the YouTube Terms of Service, which you can find at youtube.com/t/terms.
  • Apple: distributes the app via the App Store and, if you choose it, provides Sign in with Apple — both under Apple's own privacy practices.

We do not use any third-party SDK for advertising, ad targeting, cross-app tracking, or selling your data. Our usage analytics run on our own Supabase backend, not a third-party analytics service.

Data retention

  • Learning activity (watch history, flashcards, reviews) is kept as long as your account exists, because it's what makes the app useful.
  • If you delete your account using the in-app button, your server-side data — including the usage-analytics events tied to it — is removed from our live database as soon as the app reaches our servers. For an anonymous account, if the app cannot reach them at that moment, it still erases the data on your device and tries again the next time it opens; in rare cases the server copy can remain, tied to no email address. After an anonymous account is deleted, an empty sign-in record (an ID and timestamps) also remains in our sign-in system. Encrypted backups made before the deletion still hold the data until they expire, at most 14 days later. We use a backup only to recover from a data loss, and we do not put back data that we know you deleted. If you signed in with Apple, we also try to cancel the sign-in link with Apple; if that attempt fails, we keep the Apple token and your Apple account identifier so that the link can still be cancelled later. If you request deletion by email, we remove your server-side data within 30 days.
  • Diagnostic crash reports sent to Sentry age out automatically under Sentry's retention schedule; they are not erased by the in-app delete, but they hold only the technical diagnostic data described above, tied to your account ID and not to your name or email.
  • Feedback you send through the form is kept with Tally, not in our database, so the in-app delete does not reach it. Email us and we will delete it.
  • Local data on your device is removed when you delete the app. However, your account credentials are stored in the iOS Keychain, which persists across app uninstalls. This means reinstalling PopEar on the same device will restore your existing account along with all server-side data. To fully delete your account and all associated data, use the in-app delete option or request it by email (see Your Rights below).

Your rights

At any time you can:

  • Access your data: email us and we will provide a machine-readable export.
  • Delete your data: the fastest way is in the app: open the Profile tab, tap Delete my data, and confirm. This removes your profile and your learning data from our live database as soon as the app reaches our servers, wipes local data on your device, and signs you out; encrypted backups expire within 14 days (see Data retention above). If you can't access the app, email us with the subject line "Delete my account" along with your account ID or, if you signed in with Apple, the email address you used; we will delete your server-side data within 30 days and confirm by reply.
  • Ask questions: email us about anything in this policy.

If you are in the European Union, United Kingdom, or California, you have additional rights under GDPR, UK GDPR, or CCPA, including access, correction, deletion, portability, and objection. Exercise them by contacting us at the email above.

Children

PopEar is not directed at children under 16, and we do not knowingly collect data from children under 16. We do not actively verify age beyond the App Store's age rating system and the parental controls available on iOS. If you believe a child has used the app, contact us and we will delete their data.

Security

  • Data in transit is encrypted with TLS.
  • Session tokens on iOS are stored in the Keychain, which is hardware-backed.
  • Server data is protected by Supabase's security controls and per-user Row Level Security policies.

No system is perfectly secure, but we follow industry-standard practices and only collect what the product actually needs.

Changes to this policy

We may update this policy as the app evolves. The July 26, 2026 update added the Usage analytics and Crash and error reports sections to describe first-party diagnostic data the app now collects; it did not add advertising, tracking, or any sale of your data. The October 12, 2026 update describes things the app already did and this page had not said: Sign in with Apple, our 14-day backups, four more kinds of recorded events, the letters kept for an unfinished exercise, a name kept from an earlier version of the app, the services that deliver updates and host the player page, timing measurements sent to Sentry, our own daily report, and what can remain after a deletion. It also did not add advertising, tracking, or any sale of your data. When we make material changes we update the effective date at the top of this page, and where a change would meaningfully expand what we collect, we will surface a notice in the app.

Contact

Email: [email protected]