Privacy

Vila privacy policy

Effective date: September 29, 2026 · vila@allgood.living · Terms

This English text is provided for convenience. The Chinese version governs if the two differ.

Vila (Video Language Acquisition, "the extension") helps you acquire languages through bilingual subtitles, vocabulary marking, saved study material, review and optional AI speaking practice on YouTube videos. This policy explains how the extension handles data.

Data we process

The extension processes locally in your browser: the current YouTube video's ID, title, subtitle text, timestamps, subtitle language, playback progress and paused state; the words and sentences you save, along with review ratings, review history and review schedules; learning goals, the saved items linked to them, writing drafts and sentence patterns you have edited; settings and local caches such as source and translation language pairs, vocabulary difficulty filters, AI switches, subtitle caches, and AI analysis and word-card caches; and external-service connection settings retained from older versions.

When you use an optional Vila account, the extension also processes the uid, display name, email, avatar and authentication tokens provided by Google/Firebase. When you use speaking practice, the extension processes the selected video range, a limited set of learning records, lesson state, microphone audio, transcripts of your conversation with the voice coach, per-turn evaluations and the post-session report. When you submit video issue feedback, the extension processes the video ID, issue type, any description you choose to write, the submission time, and the extension version, release channel, browser name and version, operating system, architecture, interface language and time zone. When you submit product feedback in settings, the extension processes the feedback category you select, the description you write, the optional reply email you provide, the submission time and the same set of version and device-environment information. When you subscribe and enable hosted AI, the extension and the Vila server also process subscription status and validity, AI allowance usage, request token counts and cost estimates, and the subtitle text required to provide the feature (see "Optional hosted AI" below).

How data is used and where it is stored

This data is used only to display and align subtitles, control study playback, mark and look up vocabulary, save and review study material, generate AI or speaking practice you actively request, sync the account learning data you explicitly select, and receive feedback you actively submit.

When you are not signed in, learning data stays in your browser’s local storage and local IndexedDB. You can use local features without registering or signing in. External-service connection settings retained from older versions stay on your device, are excluded from account sync and are not sent to Vila, Firebase or the developer’s servers. Required connection information is sent only to your chosen provider when you actively use the corresponding feature. Legacy direct text features send the necessary subtitles straight to that provider, without passing through Vila. You can turn AI off at any time and delete local settings by clearing the extension’s data in Chrome or uninstalling it.

Website analytics

On public marketing pages, we count source categories, landing pages, page languages and Chrome Web Store link clicks to understand which information helps people find Vila. A random identifier in the current tab groups visits for 30 minutes. The server retains only daily-hashed deduplication records with a two-day expiry and aggregate source/page counts with a 90-day expiry; the cloud platform deletes expired records asynchronously. Analytics uses no tracking cookies, is not linked to Vila accounts or extension learning data, and collects no complete query strings, full referrer URLs, conversations, captions, reports or audio. Store clicks are not installations.

Do Not Track or Global Privacy Control stops collection. You can also opt out below; the preference is stored locally in this browser and resets if site data is cleared. Payment, billing and authentication pages do not run analytics. Vila’s analytics collections store no IP addresses or raw User-Agent strings; Google Cloud may still retain infrastructure request and security logs.

Word pronunciation playback

Pronunciation text comes from files included with the extension. When you click a word's speaker button, Chrome's speech feature may process the word even when Vila's AI switch is off. The English accent choice (US or UK) and Chinese voice choice (Mandarin or Cantonese) are saved on this device and also apply to saved words and review cards. Speech requests do not pass through Vila's servers.

Optional Vila account and sync

Only after you read the sync disclosure in the extension, actively check the consent box and sign in with Google does Vila process account identity through Google Firebase Authentication and sync the saved words, word contexts, saved sentences, review logs, learning goals, goal-item relationships, drafts and user-edited sentence patterns in your account partition to Google Cloud Firestore. Firebase Functions are used to generate account data exports and perform recursive account deletion. Google/Firebase is a service processor required to provide these features.

Sync does not include external-service connection information, raw microphone audio, subtitle caches, automatically generated sentence patterns you have not edited, video playback progress or local speaking reports. On first sign-in, if anonymous learning data already exists locally, the extension first warns about shared-device risk and asks you to merge, keep separate or confirm deletion; data of uncertain ownership is never uploaded automatically.

Cloud learning data is retained until you delete the account in extension settings, or longer where the law requires. Account deletion recursively removes that account's Firestore subcollections, account Storage objects and the Firebase Auth user. You can also download a JSON copy of your account data from the settings page before deleting. To maintain security and reliability, Firebase/Google may retain authentication, request, error and security logs briefly under its own service rules; Vila does not use these logs for advertising profiles.

Video issue feedback you submit

You can report missing subtitles, timing mismatches, segmentation, language or other issues from the video sidebar. Only after you click submit does the extension write the video ID, issue type, any description you entered under "Other issue", client and server timestamps, and the extension version, release channel, browser name and version, operating system, architecture, interface language and time zone to an operations feedback collection through the Firebase Function Vila uses. This material is used only to investigate subtitle compatibility and improve the product.

Issue feedback does not include subtitle body text, watch history, the raw User-Agent, external-service connection information or your Google account uid; the cloud record notes only whether you were signed in or anonymous at submission. Feedback is retained only as long as needed for troubleshooting and product improvement. To locate a specific report, contact us at the address above with the video ID and approximate submission time.

Product feedback you submit

You can submit opinions, feature suggestions, fault descriptions or subscription questions from "Overview · About and feedback" in extension settings. Only after you click submit does the extension write the feedback category you selected, the description you wrote (up to 1000 characters), the optional reply email you provided, client and server timestamps, and the extension version, release channel, browser name and version, operating system, architecture, interface language and time zone to an operations feedback collection through the Firebase Function Vila uses. This material is used only to reply to you, investigate faults and improve the product.

The reply email is optional and you can submit without it; the extension does not prefill it from your account email. Product feedback does not include subtitle body text, watch history, the raw User-Agent, external-service connection information or your Google account uid; the cloud record notes only whether you were signed in or anonymous at submission. Feedback is retained only as long as needed to reply, troubleshoot and improve the product. You may also skip this form and email us directly at the address above.

Optional paid managed AI

AI is off by default. Vila’s AI service is enabled only after you sign in, read the data-processing disclosure in settings and actively consent.

In that mode, to deliver the feature you requested, the following is sent to Vila's server running on Google Cloud Functions and then forwarded to the model provider you selected (OpenAI or Google Gemini): the original subtitle text within a fixed window around your current playback position, the unfamiliar words marked by the local word list, and the vocabulary difficulty tier and language pair you selected; or the single word and its containing sentence that you clicked to look up.

Vila's server does not retain subtitle text, translation text or word-card text long term. The server stores: the account uid, subscription status and validity, monthly and daily allowance usage, token counts and cost estimates, and a request ledger (request identifier, model, status, time). To support retries after a network interruption without double billing, the ledger keeps a copy of the result valid for 24 hours. Expired results are no longer returned for retries, after which the database removes the record asynchronously via TTL; physical deletion may lag expiry. Runtime logs record only structured summaries (error code, provider, task type), never request or response bodies.

You can withdraw consent in settings at any time; the extension stops using hosted AI immediately. Allowance usage already recorded is a billing and reconciliation record, is retained with the account, and is deleted when you delete the account.

Hosted text AI does not process raw microphone audio. Real-time speaking practice, enabled separately, does process live audio and asks for consent separately before starting; see below.

Optional live speaking practice

Live speaking practice never starts on its own. Only after you select a video chapter or subtitle excerpt, click to start practice and grant microphone permission does the extension process the subtitle context required for that session, a limited set of local learning records, lesson instructions, microphone audio and practice transcripts. Long chapters or fixed excerpts use at most 80 subtitle segments; the full video and its original audio track are never uploaded.

Legacy direct connections use the OpenAI or Google Gemini service you previously selected. Lesson planning and detailed evaluation requests are sent by the extension directly to the AI provider you chose; lesson state, mastery and reports are managed by the extension client. The subtitle context, lesson instructions, transcripts and audio required to deliver the feature travel directly between your browser and that provider. Raw microphone audio is processed only during an active connection and the extension does not store it. Lesson state, transcripts, evaluations and post-session reports are saved in the current browser's local IndexedDB and are not synced to a Vila account.

In hosted speaking mode using AI credits or legacy Pro Voice access (which reuses the hosted AI consent in settings), the session's subtitle context, limited learning records, lesson state, practice transcripts and live microphone audio are sent to Vila's Google Cloud Run service and forwarded to OpenAI (older settings may also select Google Gemini). Vila only forwards live audio and does not store raw audio; active lessons and transcripts are held only in the server's temporary memory (a lesson is valid for about 65 minutes and is then cleared), while reports remain local. The per-video shared lesson plan cache contains no personal learning records, live conversation or transcripts. The server separately stores the account's monthly speaking usage, temporary connection metering records and a daily lesson-preparation count; these contain no audio or transcripts and are deleted with the account. Pausing or disconnecting stops speaking metering. The legacy self-hosted OpenAI service still uses a browser-to-OpenAI WebRTC audio path.

Data sharing

Data is shared only where necessary to deliver features you explicitly chose: Chrome's speech feature may process a word when you click to hear it; when you open Discover, the extension loads thumbnails of the suggested videos from YouTube's image server (i.ytimg.com), so YouTube/Google receives those image requests for public videos along with ordinary network information such as your IP address and browser details, but none of your learning data; Google/Firebase handles optional sign-in, account sync, export, deletion, video issue feedback you submit, and the server-side execution and metering of hosted AI; the AI provider you select handles the text, transcripts, audio and external-service connection information needed for optional AI and speaking features; in hosted AI mode, OpenAI or Google Gemini processes subtitle text forwarded by Vila's server; separately enabled hosted speaking also forwards live audio and practice transcripts through Vila's server; a Vila speaking service address configured at build time or retained from older settings handles only hosted speaking lessons you actively start. When you buy or upgrade a subscription, Paddle acts as merchant of record and handles payment and tax information; we do not receive full payment card details. Apart from these service processors, and where legal or security requirements apply, we do not transfer user data to other third parties.

We do not sell user data, and we do not use it for advertising, profiling, credit assessment or any purpose unrelated to the extension's core language learning, sync, support and security features.

Subscription management and payment

You can sign in with Google on the website's subscription management page. That sign-in only identifies the subscription account and does not enable the extension's learning-data sync; use the same account as the extension. The page keeps sign-in state only for the current page session.

With subscription purchases open, Paddle acts as merchant of record and handles payment, taxes, invoices, refunds and payment method information. Vila provides your account email to Paddle to create a payment customer, and stores on the Firebase server the mapping between the account uid and the Paddle customer, transaction and subscription identifiers, together with plan, status and validity, in order to grant access, prevent duplicate purchases and process cancellation or refunds. Vila does not receive full payment card details. Payment notifications retain only the event identifier and processing time for deduplication, not the notification body. Temporary authorization links for subscription management are generated on demand and not stored in the database.

Before deleting an account yourself, you must first cancel any renewing or still-valid subscription and wait for it to end; for immediate deletion, contact vila@allgood.living so the account is not billed again after deletion. Account deletion clears the payment account mapping and entitlement information Vila stores. Transaction, tax and legally required records that Paddle keeps independently are governed by its privacy policy. The account JSON export includes learning data; subscription transactions and invoices are available in Paddle's subscription management.

For packs and new monthly plans, Firebase stores allocations, spent/reserved/refunded quantities, expiry dates, rate versions and purchase, text, voice, refund and expiry activity. Paddle customer, transaction, subscription and adjustment identifiers support reconciliation and deduplication. Metering records contain no audio or conversation content; raw microphone audio is not stored. Account deletion clears Vila wallet data through the existing process; records independently retained by Paddle under law are unaffected.

Data retention and deletion

Locally stored external-service connection information, settings, caches, saved items, review records, speaking transcripts and reports remain in your browser until you clear the extension's data through Chrome or uninstall the extension. You can also export or import a local learning archive from the settings page. Uninstalling does not automatically delete cloud data for a signed-in account; use "Recursively delete account and cloud data" in settings first, or request it at the contact address above.

Hosted AI result copies expire after 24 hours and are no longer returned for retries; the request ledger is then removed asynchronously by database TTL, and physical deletion may lag expiry. Allowance usage and subscription records are billing and reconciliation records retained with the account and deleted when the account is deleted. Video issue feedback is retained only as long as needed for troubleshooting and product improvement, as described above. Your chosen AI provider and Google/Firebase may retain request, authentication, security or error logs under their own service rules; please also review those providers’ privacy policies.

Security

The extension requests optional permissions for a site only after you configure or enable the corresponding AI or speaking service; account features additionally require access to Firebase authentication, database and Functions domains. Google sign-in opens a fixed-origin account chooser bridge through a temporary Offscreen Document and closes it on success, cancellation or failure. Scheduled sync runs only when you have explicitly consented, are still signed in and the account scope matches. Account data is partitioned by Firebase uid and restricted by Firestore security rules on fields, size and owner access. Do not share sign-in credentials or private learning data with others.

Chrome Web Store user data policy

The extension may process the personally identifiable information, authentication information, website content, user activity, personal communications or user-generated content and audio listed by the Chrome Web Store, but only for sign-in, sync, support and the language learning, AI and speaking features you explicitly chose. "Website content" here includes subtitle text: sent straight to the previously selected provider by legacy direct connections, and forwarded to the model provider through Vila's server in hosted AI mode. The extension does not collect general browsing history, precise location or health information. It processes the purchase, subscription, credit and transaction identifiers described above, but does not receive full card numbers. Our use of user data complies with the Chrome Web Store User Data Policy, including the Limited Use requirements: data is not sold or used for personalized advertising; it is not transferred except as necessary to provide or improve features, comply with the law or protect security; and the developer does not allow humans to read user data except with your consent for a specific support request, or where legal and security requirements apply.

Policy updates

If this policy changes materially, we will state the new effective date in the extension's update notes or on this page. Continuing to use the updated extension means you accept the updated policy.