🌱 Data Ownership
Your study statistics, saved vocabulary, and preference settings remain stored in your web browser.
Site Operator & Contact Information
This project is published as COSYlanguages. For questions about this site, contact cosylanguages@gmail.com. This repository does not identify the legal operator, postal address, or applicable jurisdiction; those details must be confirmed by the operator before this page can serve as a complete legal notice.
Third-Party Requests
When you visit pages across COSYlanguages (including home, practice, courses, and blog pages), your browser makes network requests to the following external domains:
- Google Fonts (`fonts.googleapis.com` & `fonts.gstatic.com`): Used to load site typography fonts (Fraunces, DM Sans, Nunito, Lora).
- WhatsApp (`wa.me`): Contact links for student inquiries and course registration.
- Telegram (`t.me`): Public channel and direct message contact links.
- COSY Ecosystem Repositories (`cosylanguages.github.io`): Links and data fetches to companion ecosystem sites including COSYtools, COSYgames, COSYevents, COSYmanuals, COSYdata, and COSYplatform.
- Supabase (`iajkejcmoykubthlwfra.supabase.co`, sign-in only): The sign-in page sends the submitted email and password to Supabase Auth. After sign-in, it requests the account's `role` from the `profiles` table. The Supabase client can persist an authentication session in browser storage.
- jsDelivr (`cdn.jsdelivr.net`, sign-in only): Delivers the Supabase JavaScript client used by the sign-in page.
Local Storage & Session Storage Usage
COSYlanguages uses your browser's `localStorage` to preserve your learning state between visits. The stored keys include:
cosy-dict: Saved vocabulary items in your personal notebook.cosy-mistakes: Logged practice errors for targeted revision.cosy-streak: Active daily practice streak count.cosy-last-practice: Date timestamp of your last completed practice session.cosy-points: Total accumulated experience points (XP).selected-speaking-club-level: Saved CEFR level choice for speaking club filtering.cosy-i18n-lang&cosy_lang_lock: Interface language preference and lock state.cosy_audience_preference: Presentation adaptation preference (Children, Teens, Adults, Seniors).cosy_accessibility_text_scale&cosy_accessibility_reduced_motion: Accessibility display preferences.
Service Worker Caching (`sw.js`)
The site registers a service worker script (`sw.js`) operating under cache name `cosy-v5`. It uses a network-first strategy for HTML, CSS, and JS files, and a cache-first strategy for media assets (images, logos). This enables offline practice for cached static pages.
Messaging & Direct Communications
WhatsApp and Telegram links open services operated by third parties. Messages sent through them may include account identifiers and any personal information the sender chooses to share. This repository does not document how long COSYlanguages retains or uses those messages; consult the service providers' privacy information and contact COSYlanguages before sharing sensitive information.
Children's Privacy
This repository does not publish an age limit, parental-consent process, or child-specific data policy. The sign-in page uses Supabase Auth, and messages may be sent through WhatsApp or Telegram. Parents and guardians should contact cosylanguages@gmail.com before a minor creates or uses an account or shares personal information. The operator must confirm and publish the applicable policy.
Local Storage Audit & Management Console
🎛️ Local Storage Console
Inspect or clear the variables COSYlanguages has currently saved in your browser: