Effective date: September 1, 2026 · Last updated: October 16, 2026
This Privacy Policy explains how TC Fusion LLC ("TC Fusion," "we," "us," or "our") handles personal data when you use the Norae mobile application and related services (together, the "Service"). It also describes your rights under the EU and UK General Data Protection Regulation ("GDPR"), the California Consumer Privacy Act ("CCPA/CPRA"), and other applicable laws.
Norae is published by TC Fusion LLC, a limited liability company registered in the United States. For privacy questions, contact privacy@tcfusion.dev. TC Fusion is the data controller for the processing described here.
Norae is designed to need as little about you as possible. We do not ask for a name or phone number. An account, with your email address, is optional and only needed for Back up and sync.
| Category | Examples | Where it goes |
|---|---|---|
| Learning data | Saved words, review schedule and results, streaks, daily goal, watch history, level estimate | Your device, in an on-device database. If you turn on Back up and sync, a copy also goes to our servers (Supabase, United States), tied to your account. |
| Account (optional) | Email address, how you sign in (emailed code, Apple or Google), an account identifier, and when you signed up and last signed in | Supabase (United States). Sign-in code emails are sent through Resend (United States). With Apple or Google we receive only your email address (or Apple's private relay address) and a sign-in token, never a password. |
| Catalog requests | Requests for clips and transcripts at your level and chosen topics | Our content servers. These requests are not tied to an account; server logs may briefly contain your IP address for security and abuse prevention. |
| Product analytics | Pseudonymous events such as "app opened," "video watched," "word saved," "paywall viewed," plus device model, OS version, app version, coarse country | PostHog (European Union). Keyed to a random device-generated identifier, not to your identity. |
| Crash diagnostics | Stack traces, device model, OS version, app version, breadcrumb of screens visited | Sentry (United States). |
| Subscription status | Whether a trial or subscription is active, product purchased, purchase and expiry dates, a store-issued transaction identifier | RevenueCat (United States) and the app store you purchased from. Keyed to an anonymous identifier, not to your name. |
| Ad measurement | App installs and app opens from Meta's SDK; trial starts and subscription starts and renewals sent by RevenueCat, with the amount and currency; device and app details; an anonymous identifier created on your device; your advertising identifier only if you allow tracking | Meta Platforms (United States and European Union), from Meta's SDK on your device and from RevenueCat's servers through Meta's Conversions API. We never send your saved words, watch history, name, or email. |
| Support correspondence | Whatever you choose to write to us, and the email address you write from | Our email provider, kept only as long as needed to resolve the issue. |
We do not collect your contacts, photos, precise location, microphone or camera input, or health data. We collect your device advertising identifier only if you allow tracking when we ask, and you can change that answer later. Meta's SDK, which measures our ads, is the one advertising-related SDK in Norae, and we never show ads inside the app.
Everything that makes Norae yours — the words you saved, when they're next due, how many clips you've watched, your streak — lives in a local database on your phone. We designed it this way deliberately: it means there is no profile of your learning on our servers to leak, subpoena, or sell.
If you never make an account, we hold no copy of this data. Delete the app, reset it or switch phones, and your saved words and progress are gone unless you kept a copy some other way. Your subscription is not affected, as Section 5 explains.
In Settings you can sign in with a code we email you, with Apple, or with Google. While you are signed in, the app copies your saved words and their review schedules, your review history, watch history, daily activity and streak, achievements, playlists, the content you asked us to add, and a few preferences (such as your daily goal, level and appearance) to our servers every few minutes, and brings down what your other phones saved. The copy on your phone is still the one the app reads from, so it works the same offline.
We use that copy only to back up and sync your progress. We don't analyse it, build a profile from it, or share it with anyone except Supabase, which stores it for us. Free or promotional access, notification settings and other settings that belong to one phone are never copied.
Sign out and the phone keeps its data and stops syncing. Delete your account in Settings, under Back up and sync, and we delete the account and its copy straight away. "Delete my data" clears the phone but leaves the account's copy alone, so signing in again brings it back.
Norae does not host, download, or re-upload video. Every clip plays inside the official YouTube player, embedded in the app, and each clip credits and links back to the channel that made it.
Transcripts, translations, and word glosses shown alongside a clip are produced by us in advance, stored in our catalog, and served identically to everyone at that level. They are not generated from anything about you.
Norae is a paid app: after the introduction, access requires a subscription. Purchases are handled entirely by Apple or Google. We never see or receive your card number, billing address, or app-store account credentials.
We use RevenueCat to check whether a purchase is valid and still active. RevenueCat identifies your purchase with a random, app-generated identifier — not your name or email. This is what lets "Restore purchases" work if you reinstall the app or get a new phone. Your subscription is not linked to your Norae account.
We use PostHog (hosted in the European Union) to understand how the app is used in aggregate — which screens people reach, where onboarding loses people, whether a feature is working. Events are keyed to a random identifier generated on your device. We do not combine this with any identity, and we do not use it for advertising or cross-app tracking.
PostHog can also reconstruct a session as a redacted screen recording, so we can see where the app confuses people: which screens were visited and where taps landed. Redaction happens on your device before anything is sent. Every piece of text, every image and every video is replaced with a blank rectangle, so a replay never contains a caption, a video frame, a word you saved, or anything you typed. Replays are keyed to the same random identifier, kept for 30 days, and the analytics switch in Settings turns them off along with everything else in this section.
We use Sentry to receive crash and error reports so we can fix bugs. Reports contain technical diagnostics, not your saved words or learning history.
We run ads for Norae on Facebook and Instagram. To see which of those ads bring people who go on to try the app or subscribe, we send Meta a short list of events. Meta's SDK inside the app reports installs and app opens. RevenueCat sends trial starts, subscription starts, and renewals from its own servers through Meta's Conversions API, with the amount and currency of the purchase.
Those events carry an anonymous identifier that Meta's SDK creates on your device, your device and app details (model, OS version, app version, language, IP address), and your advertising identifier if you allowed tracking. Your name, email, phone number, saved words, watch history and learning progress are never part of it. We do this so we spend less on ads that don't work. Meta may also use these events for its own purposes under the Meta Privacy Policy, and you can review or disconnect what apps send it under Activity off Meta technologies.
On iOS we explain what we are asking for in our own words, and then Apple's App Tracking Transparency prompt appears. Say no and we do not share your advertising identifier, and Meta is told that tracking is not permitted, which limits what Meta may do with the events. You can change your answer any time in Settings > Privacy & Security > Tracking. On Android, Settings > Google > Ads lets you reset or delete your advertising ID.
The analytics switch in Settings turns off Meta's event logging and advertising identifier collection on your device. Meta's SDK still starts with the app, so a launch may register once as an anonymous app open. The subscription events RevenueCat sends from its own servers carry on while you have a subscription, without your advertising identifier.
| Purpose | Legal basis |
|---|---|
| Delivering the video catalog and learning content you request | Performance of a contract (Art. 6(1)(b)) |
| Validating and restoring subscriptions | Performance of a contract (Art. 6(1)(b)) |
| Product analytics to improve the app | Legitimate interests (Art. 6(1)(f)) — improving a service you chose to use, using pseudonymous data. Where local law requires consent for analytics, we ask for it. |
| Crash diagnostics and security/abuse prevention | Legitimate interests (Art. 6(1)(f)) |
| Measuring which of our ads lead to trials and subscriptions | Legitimate interests (Art. 6(1)(f)): pseudonymous events about our own ads, with the opt-outs in Section 6 |
| Sharing your advertising identifier for that measurement | Consent (Art. 6(1)(a)), given through Apple's tracking prompt or your Android ad settings, and withdrawable in the same place |
| Keeping your optional account and syncing your progress | Performance of a contract (Art. 6(1)(b)): the Back up and sync you asked for |
| Responding to support requests | Legitimate interests (Art. 6(1)(f)), or performance of a contract |
These providers process limited data on our behalf:
| Provider | Purpose | Region |
|---|---|---|
| Supabase | Video catalog, transcripts, content pipeline; optional accounts and the synced copy of your progress | United States |
| Resend | Sending sign-in code emails for optional accounts | United States |
| PostHog | Product analytics | European Union |
| Sentry | Crash and error diagnostics | United States |
| RevenueCat | Subscription validation and restore | United States |
| Meta Platforms, Inc. / Meta Platforms Ireland Ltd. | Advertising measurement (Meta SDK, Conversions API) | United States and European Union |
| Google (YouTube) | Video playback in the embedded player | Global |
| Apple / Google Play | App distribution, payment processing, and Sign in with Apple or Google if you choose it | Global |
| Cloudflare, Google Firebase | Domain, DNS, and this website | Global |
Depending on where you live, you may have rights to access, correct, delete, restrict, or object to the processing of your personal data, to data portability, and to withdraw consent. California residents have rights to know, delete, correct, and to opt out of "sale" or "sharing." We do not sell personal information. Sending Meta the pseudonymous ad measurement events described in Section 6 may count as "sharing" for cross-context behavioral advertising under the CCPA/CPRA, so you can opt out: decline tracking on iOS, turn the analytics switch off in Settings, or write to privacy@tcfusion.dev.
If you never made an account, most of your data isn't identifiable to you by us, so the fastest way to exercise deletion of your learning data is to delete the app. For analytics, crash, or subscription records, write to privacy@tcfusion.dev — to locate the right records we may need the anonymous identifier shown in the app under Settings, and/or your app-store receipt. We respond within 30 days.
If you are in the EEA or UK, you also have the right to lodge a complaint with your local data protection authority.
Your learning data lives on your phone, so deleting the app deletes it. We hold no copy of it unless you made an account.
If you made an account, delete it in the app under Settings, Back up and sync, Delete account. That deletes the account and the synced copy of your progress right away. You can also ask us from the account's email address at privacy@tcfusion.dev.
For analytics, crash, subscription and ad measurement records, write to privacy@tcfusion.dev. Include the anonymous identifier shown in the app under Settings, your app-store receipt, or both, so we can find the right records. We delete or anonymise them within 30 days, and we ask RevenueCat and Meta to do the same with the identifiers we hold. Whatever Meta has collected on its own side, you can manage under Activity off Meta technologies.
Norae is not directed to children under 13 (or under 16 where local law sets that age), and we do not knowingly collect personal data from them. The app displays third-party video from public YouTube channels; while we curate the catalog for language learning, we recommend parental judgement for younger teenagers. If you believe a child has provided us personal data, contact us and we will delete it.
We are based in the United States and some of our providers are too. Where personal data is transferred out of the EEA or UK, we rely on the European Commission's Standard Contractual Clauses (and the UK Addendum where applicable) or another approved transfer mechanism.
Data in transit is encrypted with TLS. Access to our systems is limited to people who need it and protected by multi-factor authentication. Keeping your learning data on your device, and copying it to our servers only if you turn on Back up and sync, is itself a deliberate security measure. The synced copy can only be read through your own signed-in session. No system is perfectly secure, and we cannot guarantee absolute security.
If we change this policy materially, we will update the date at the top and, where the change is significant, notify you in the app. Continuing to use the Service after a change means you accept the updated policy.
TC Fusion LLC — privacy@tcfusion.dev
Support: support@tcfusion.dev