Privacy policy
01Who we are
Mossglen turns web pages and YouTube videos into calibrated reading material. It is a Chrome extension (ID cofjpdekcclaniimffbbkonekpijpbdc), a website at mossglen.app, and an API at api.mossglen.app. This policy covers all three, whether you are signed in or using Mossglen as a guest.
Mossglen is operated by iafine, an independent developer, who is the data controller for everything described here. For any privacy question, or to exercise any right in section 12, write to support@mossglen.app.
02At a glance
| Question | Answer |
|---|---|
| Do you sell my data? | No. Never, to anyone, at any price. |
| Do you use my data for advertising? | No. We run no ads and give nothing to ad networks. |
| Do you track every page I visit? | No. The extension only reads a page after you activate it on that page. |
| Do I need an account? | No. In guest mode your word list and saved articles stay on your device. |
| Where is my data stored? | Cloudflare D1 (SQLite), on Cloudflare’s global network. |
| Can I have it deleted? | Yes. Email support@mossglen.app and we complete deletion within 30 days. |
| Do you see my password? | No. It is converted to a verifier on your own device and never leaves it in plaintext. |
| Do you see my card number? | No. Payments are handled entirely by Creem. |
03What we collect, and why
These are all the categories we collect. Each one states what the data is and why we need it. We do not collect anything that is not listed here.
Account information
What: Your email address, a password verifier, optionally your Google account identifier if you sign in with Google, and the date you created the account.
Why: To create and secure your account, sign you in, and contact you about it.
Learning profile and onboarding answers
What: Your target language, interface language, daily study-minutes goal, topic interests, the motivation and timeline you told us, your chosen speech voice and rate, and your plan status.
Why: To choose material at the right level on the right topics, read it in the voice you picked, and apply your plan’s entitlements.
Ability estimates
What: Your vocabulary and passage ability estimates, an estimated vocabulary size, a confidence value, your confirmed tier, and a dated history of these values with the reason each one changed.
Why: This is the core of the product: it decides what you can read next and shows how you are progressing.
Reading material you bring in
What: For each article or video you open in the reading view — the title, the extracted body text, the source URL, the language, the word count, an estimated difficulty, and for videos the subtitle segments and their timings. We also store what AI generates from that text: quiz questions, full translations, and sentence breakdowns.
Why: So the reading view, translation, quiz, and review features work, and so reopening an article does not repeat the same AI work.
Reading records and quiz answers
What: Per article: your reading speed, comprehension accuracy, how many lookups you made, how long you read, the answers you chose, and the resulting change to your ability estimate.
Why: To feed the ability model and to show you your own history.
Vocabulary and review history
What: Each word you save — the word, its language, its phonetic form, its meaning in your native language, an example, the sentence you found it in, any AI note attached to it, and which article it came from — plus its spaced-repetition state (repetitions, interval, stability, difficulty, last reviewed, next due) and every review grade you have given it.
Why: To run the review schedule and to show a word in the context where you actually met it.
Pip conversations and your learner model
What: Every message you exchange with Pip, including which article it related to and any context passage attached, together with a learner model derived from your activity. That model can include vocabulary domains you are weak in, grammar patterns you struggle with and the evidence for each, notes on your reading, listening, and writing, notes on your motivation, topics you appear interested in, and corrections you have made to its assumptions. We keep a versioned history of it.
Why: So Pip answers with memory of you instead of starting cold, and so you can see and correct what the system believes about you.
Interaction logs
What: Each word lookup (the word, its language, the article, whether you saved it, the time); session events (kind, article, duration, and a small structured payload); and a record of each AI call made for you (exit, provider, model, purpose, duration, success or failure). AI call records contain neither the prompt nor the response.
Why: To power your statistics and streaks, diagnose failures, and detect abuse.
Usage counters
What: How many full translations and Pip turns you used, per day.
Why: To apply the plan limits published on our pricing page.
Billing information
What: If you subscribe: your Creem subscription, customer, and product identifiers, the billing interval, the subscription status, the current period’s start and end, and any cancellation date. We also store the raw webhook payloads Creem sends us, checkout session identifiers, and — if you ask for a refund — your stated reason and a usage snapshot (purchase date, days elapsed, translations used, Pip turns used, AI calls, words saved, articles read).
Why: To give you what you paid for, process cancellations and refunds, and keep the accounting records we are required to keep.
Support and feedback
What: When you send feedback: your email, the type and text of your message, which page you sent it from, the referring page, your browser user-agent, your interface language and locale, your time zone, your viewport size, your IP address, and the country derived from it.
Why: To reproduce what you are reporting and to reply. If you would rather not send the technical context, email support@mossglen.app directly instead of using the in-product form.
Abuse prevention
What: Your IP address, paired with a request category and a date, as a counter.
Why: To rate-limit requests so one person cannot exhaust a shared resource. This applies to guests as well as signed-in users, and is the only case where we process an IP address for someone without an account.
04What stays on your device
The extension keeps the following locally, in browser storage, and never transmits it to our servers:
- Your dictionary lookup cache, so a word you have already looked up needs no network the second time.
- Your reading preferences and interface settings.
- Your sign-in token.
- In guest mode, your entire word list (up to 500 words) and your saved articles (up to 20). None of it reaches our servers; if you later create an account you can choose to upload it.
The extension requests the unlimitedStorage permission for one reason only: so the browser does not evict this local cache.
05What we do not collect
To be explicit, Mossglen does not:
- Log the pages you browse. There is no background history collection; the content script does nothing until you activate it.
- Read content on pages you have not activated.
- Record keystrokes, mouse movement, or form input.
- Receive your password, your Google password, or your card number.
- Use tracking cookies or pixels, or embed any third-party analytics or advertising SDK.
- Collect precise location, contacts, health data, financial accounts, or biometrics.
- Profile you for any purpose other than teaching you a language.
06Legal bases for processing
If you are in the EEA or the UK, we rely on these bases under the GDPR:
| Purpose | Legal basis |
|---|---|
| Running your account; delivering reading, vocabulary, review, translation, speech, and Pip; billing | Performance of a contract, Art. 6(1)(b) |
| Rate limiting, fraud and abuse prevention, service security | Legitimate interests, Art. 6(1)(f) |
| Keeping accounting and tax records | Legal obligation, Art. 6(1)(c) |
| Replying to your support request | Contract, or legitimate interests |
| Any future processing we introduce and describe as optional | Consent, Art. 6(1)(a), withdrawable at any time |
07Why the extension asks for each permission
Chrome shows a permission list at install time. Here is what each one is for:
| Permission | What we use it for |
|---|---|
| storage, unlimitedStorage | Keep your preferences, sign-in token, guest word list, and dictionary cache on your device |
| tabs | Read the active tab’s URL and title so we can open the reading view for that page |
| identity | Google Sign-In, and nothing else |
| alarms | Schedule your review reminders |
| declarativeNetRequest | Two fixed rule sets: the Referer header embedded YouTube playback needs, and the user-agent the Microsoft speech endpoint needs. No rule inspects, redirects, or blocks your ordinary browsing |
| Content script on all sites | Place the activation affordance and the click-a-word interface. It stays inert until you activate Mossglen for that page |
| Access to our API domain | Sync your learning data |
| Access to specific publishers and YouTube | Fetch article and subtitle text when you open or search for material there |
09International transfers
Mossglen runs on Cloudflare’s global network, so your data may be processed outside your own country, including in the United States. Our AI, speech, translation, and payment providers may likewise process data outside your country. Where we transfer personal data out of the EEA or the UK we rely on the European Commission’s Standard Contractual Clauses or another lawful transfer mechanism.
10How long we keep data
| Data | Retention |
|---|---|
| Account, learning profile, ability estimates, vocabulary, reading records, Pip history, learner model | While your account exists; deleted within 30 days of a deletion request |
| Interaction logs: lookups, session events, AI call records | 180 days, then deleted on a rolling basis |
| Rate-limit counters, which include your IP address | 7 days |
| Sign-in handoff codes | Minutes; purged once used or expired |
| Feedback messages | 24 months |
| Billing records, invoices, subscription and refund history | As long as tax and accounting law requires, up to 7 years, even after account deletion. This is a legal obligation we cannot waive on request |
| Shared article text and generated study material | Kept as learning material; your personal link to it is deleted with your account |
| Server request logs held by Cloudflare | 3 days |
11Security
Your password never leaves your device in plaintext; only a derived verifier is sent, and we store only a salted and peppered hash of it. Traffic between the extension, the website, and our API is encrypted with TLS. Access to the production database is restricted to the operator. Session tokens are short-lived and are cleared from your browser as soon as they are rejected.
No system is perfectly secure. If we discover a breach affecting your personal data we will notify affected users and any required regulator without undue delay, and within 72 hours of becoming aware where the GDPR requires it.
12Your rights, and how to use them
Whoever you are and wherever you live, you may ask us to:
- Give you access to a copy of the data we hold about you.
- Port it to you in a machine-readable format.
- Correct anything inaccurate, including what the learner model believes about you.
- Delete your account and the data tied to it.
- Restrict or object to processing, including processing based on legitimate interests.
- Withdraw consent where we relied on it, without affecting what happened beforehand.
Email support@mossglen.app from the address on your account. We confirm within 7 days and complete the request within 30 days. There is no charge, and we will never restrict your use of the product because you asked.
You can also reduce what we hold without contacting us: use Mossglen as a guest and nothing leaves your device, or turn off the cloud features and keep the local skeleton — clean reading view, click-a-word lookup, and speech.
If you are in the EEA or the UK you may complain to your local data protection authority. If you are in California you have the right to know, delete, correct, and opt out of sale or sharing; we neither sell nor share personal information as the CCPA and CPRA define those terms, and we offer no financial incentives for data.
13Children
Mossglen is not directed at children under 13, or at anyone under 16 in the EEA, and we do not knowingly collect their data. If you believe a child has created an account, write to support@mossglen.app and we will delete it.
14Chrome Web Store Limited Use
Our use of information received from Google APIs, and all data collected through the Chrome extension, adheres to the Chrome Web Store User Data Policy, including its Limited Use requirements. Specifically:
- We collect and use your data only to provide and improve the user-facing features described in this policy.
- We transfer your data to no one except the providers listed in section 8, or as required by law, or as part of a merger announced in advance.
- We do not sell your data and do not use it for advertising, retargeting, personalised advertising, or credit and lending decisions.
- We do not allow humans to read your data, except with your explicit consent for a support request you started, where it is necessary for security or to comply with law, or where the data is aggregated and de-identified.
15Changes to this policy
If we change this policy we update the date at the top. For any change that materially affects what we collect, what we do with it, or who receives it, we will tell you in the product or by email before it takes effect.
16Contact
Write to support@mossglen.app for privacy questions, data requests, or anything else in this document.