LangLearn App Privacy Policy

Last updated: 28 August 2026

This policy covers the LangLearn language-learning app for Android and iOS and the website it is built on, language.ctoteachings.com. It is separate from, and more specific than, the CTO Teachings website privacy policy, which covers our consulting business. CTO Teachings is the controller of the information described here.

LangLearn helps you learn a language by tracking which words you know and giving you reading passages and audio pitched at that level. Everything below follows from that: we keep the information needed to know your level and remember your material, and we do not build an advertising or behavioural profile from it.

The Short Version

  • You sign in with Google. We receive and store your email address, display name, and profile picture URL.
  • We store your learning progress — the language you are studying, your word level, which words you have marked known, and the passages and playlists you have saved.
  • There are no ads in this app, and no advertising, analytics, or attribution SDKs of any kind.
  • We do not sell your personal information, and we do not share it for advertising or cross-context behavioural advertising.
  • The app never asks for your contacts, location, camera, photos, or microphone. Microphone access is affirmatively blocked in the app's manifest.
  • You can ask us to delete your account and data at any time through our contact page.

Information We Collect

Account information, from Google Sign-In. Signing in is the only way to use the app. We use Google Sign-In with the email and profile scopes, and from the identity token Google returns we store: your email address, your Google account identifier, your display name, and the URL of your Google profile picture. Your display name and picture URL are refreshed each time you sign in. We do not request or hold a Google access or refresh token, so we cannot read your Gmail, Drive, contacts, calendar, or anything else in your Google account — the only thing we ever receive is the identity token that proves who you are.

Learning data. As you use the app we store, against your account: the language you are learning and your native language; your word level and how many new words you want introduced; the status of individual words (known, learning, unknown); references to the passages you have generated or saved; the playlists you have created and their names and ordering; and the timestamps of these changes. If you request a language we do not yet support, we record that request together with your email address so we can tell you when it is available.

Diagnostic and crash information. When something fails, the app and the website report the error to Sentry, our error-reporting provider, so we can fix it. A report contains the error and its stack trace, the platform, the app version, and which part of the app failed. The app's native shell does not attach your name, email, or account identifier to these reports.

Session recordings, on error only. The web interface inside the app uses Sentry's session-replay feature, and we are telling you plainly what that captures: for a session that hits an error, it records a reconstruction of what was on screen, including text and anything you typed in that session. It is switched on only for sessions that encounter an error — ordinary sessions are not recorded — and it exists so a bug report shows what actually happened rather than a stack trace with no context. If you would rather this did not apply to you, contact us.

Technical information. Our servers receive the ordinary technical details of any internet request — IP address, device and app version, and which requests were made — and log them for security and debugging. The app itself sends no analytics or usage-tracking events: there is no event pipeline, and nothing records what you listened to, for how long, or when.

What We Do Not Collect

The app requests no permission for contacts, location, camera, photo library, calendar, or the microphone. The Android manifest explicitly blocks the microphone and audio-settings permissions, so the app cannot request them even by accident. The permissions it does declare are internet access, keeping the screen awake, notifications, and the foreground-service permissions Android requires to keep audio playing while the screen is off — that is the whole list. The app has no advertising identifier use, no App Tracking Transparency prompt, and no third-party analytics, attribution, or advertising SDK.

Where Your Information Is Stored

Your account and learning data are stored in Google Cloud Firestore, in a Google Cloud project we control. Audio and passage files are stored in Google Cloud Storage. Crash and error reports go to Sentry. These providers process this information on our behalf and may store it in countries other than yours; we take reasonable steps to keep it protected in line with this policy.

On your device. Your sign-in session is held as a token in the device's own encrypted keystore (iOS Keychain / Android Keystore), so you do not have to sign in on every launch. If you download passages for offline listening, the audio and the passage text are written to the app's private storage area, where no other app can read them. Deleting the app removes both.

A Note About Shared Passages and Audio

Reading passages and their audio are stored in a publicly readable cloud bucket, addressed by unguessable URLs, so that they can be played quickly by the app and the website. That means a passage's text and audio should be treated as shareable content rather than private notes. Your progress — your word level, which words you know, and which passages are yours — is not public and is only readable through your signed-in account. Do not put anything you consider confidential into a passage.

Passages Generated Through Your Own AI Assistant

Passages can be created by connecting LangLearn to your own AI assistant. When you do that, the passage text is produced by that assistant under your account with that provider, and their privacy terms apply to that step. What reaches us is the finished passage.

How We Use Your Information

  • to sign you in and keep you signed in;
  • to track your level and choose material that matches it;
  • to store and return the passages, playlists, and word lists you have created;
  • to produce the audio for a passage (the passage text is sent to Google Cloud Text-to-Speech for synthesis);
  • to diagnose and fix crashes and errors;
  • to keep the service secure and available, and to meet legal obligations.

Where data-protection law applies, we rely on the performance of our agreement with you (running the app), our legitimate interests (security, debugging, and improving the service), and your consent where we ask for it.

How We Share Information

We do not sell your personal information, and we do not share it for advertising. We share it only with the service providers that make the app work — Google (sign-in, Cloud Firestore, Cloud Storage, and Text-to-Speech), Sentry (error reporting), and Cloudflare (hosting of the website and this page) — each of which processes it on our instructions and for the purposes described here. Beyond that we disclose information only where we are legally required to, where it is necessary to protect our rights or someone's safety, or to a successor entity in a merger or reorganisation of our business.

Data Retention

We keep your account and learning data for as long as your account exists, because it is your progress — deleting it would reset your level. Error reports and session replays are retained by Sentry under its own retention schedule, on the order of weeks to months, not indefinitely. When you ask us to delete your account we delete your account record and your learning data as described below.

Deleting Your Account and Data

There is no in-app delete button today, and rather than imply otherwise: to delete your account and your learning data, ask us through our contact page from the email address you signed in with, and we will action it and confirm when it is done. You can also ask for a copy of what we hold about you, or for a correction. Passages you created that are already in the shared catalogue may remain there without your account attached.

Your Rights and Choices

Depending on where you live, you may have the right to access, correct, update, or delete your personal information, to object to or restrict certain processing, to withdraw consent, and to request a copy of your data. Reach us through our contact page and we will respond in line with applicable law. You can also sign out of the app at any time, which clears the session stored on your device.

Children's Privacy

LangLearn is not directed to children, and we do not knowingly collect personal information from children. Signing in requires a Google account.

Security

Sign-in and every request to our servers use encrypted connections. Your session token is held in the device's encrypted keystore rather than in browser storage. Access to production data is limited to the people who need it. No system is perfectly secure, but we work to protect your information and to limit who can reach it.

Changes to This Policy

We may update this policy as the app changes. When we do, we will revise the "Last updated" date above, and the change takes effect once posted on this page.

Contact Us

Questions about this policy, a request to exercise your rights, or a request to delete your account: please get in touch through our contact page.