SayAgain — Privacy Policy
SayAgain is a browser extension that lets you capture, translate, and replay phrases from YouTube subtitles. This policy explains, in plain terms, what data the extension handles, why, and who it is shared with. We keep the list deliberately short — SayAgain collects only what it needs to do its job.
1. Who we are
SayAgain is an independent project operated by the extension's developer ("we", "us"). For any privacy question or request, contact us at the address in the Contact section below.
2. What we collect
The extension works without an account. If you choose to create one, and as you use the features, the following data is handled:
Account information
- Email address — collected only if you create an account, so you can sign in and recover access. Account sign-in is handled by our authentication provider, Supabase; the account emails it sends (confirmation code, password reset) are delivered through our email provider, Resend.
Saved phrases ("cards")
When you save a phrase, we store the information needed to show and replay it later:
- the phrase text and its translation;
- the source video's title, URL, and identifier, and the timestamp of the phrase within the video;
- the target language and the time you saved the card.
Settings and subscription
- your preferences (for example, your native language and the hover-to-pause option);
- your subscription status, and — if you subscribe — a customer identifier provided by Stripe so we can recognise your subscription. This identifier is used only on our server and is never exposed to the extension.
What we do NOT collect
- No record of your browsing. We do not see, log, or store the pages you visit or the videos you watch. The one exception is deliberate and listed above: when you save a phrase, the card keeps that video's address and title, so it can replay that exact moment later. Videos you merely watch leave no trace with us.
- No analytics, telemetry, advertising, or tracking of any kind.
- No payment card details — see Payments.
3. How we use your data
- To provide the core features: translating phrases and storing your saved cards and settings so they are available when you return and across your signed-in devices.
- To operate accounts: sign-in, email confirmation, and password reset.
- To manage subscriptions: recognise whether your plan is active and unlock the corresponding features.
We do not use your data for advertising or profiling, and we do not sell or rent it to anyone.
4. Who we share data with (service providers)
SayAgain relies on a small number of trusted providers that process data on our behalf, strictly to deliver the features above:
| Provider | Purpose | Data involved |
|---|---|---|
| Supabase | Database and account authentication (sign-in, account emails) | Email, saved cards, settings, subscription status |
| Resend | Delivering account emails (confirmation code, password reset) on Supabase's behalf | Your email address and the message contents (e.g. the verification code) |
| Google Cloud Translation | Translating the phrase text you ask to translate | The phrase text and the target language (no account identity attached) |
| Google Cloud Run (Frankfurt, EU) | Hosting our server — the one that translates, syncs cards and serves the review player page | Everything the extension sends us passes through it: phrase text, saved cards, account requests |
| Cloudflare | Our domain and the secure connection to our server | Requests to our server pass through Cloudflare, which terminates the encrypted connection |
| Stripe | Processing subscription payments and the billing portal | Payment details you enter on Stripe; a subscription/customer identifier |
| Google Chrome Web Store | Distributing and updating the extension | Governed by Google's own policies |
Each provider processes data only as needed for its function and under its own privacy terms.
5. Payments
Subscriptions are not switched on yet — the current version of the extension cannot take a payment at all. This section describes how it will work when they are.
Subscription payments are processed entirely by Stripe. When you upgrade, you are taken to a Stripe-hosted page and enter your card details directly with Stripe. We never receive, see, or store your card number. We only learn from Stripe whether your subscription is active, plus an identifier that lets us match it to your account.
6. Browser permissions
The extension requests only the permissions it needs:
storage— save your cards and settings on your device and sync them when signed in.alarms— schedule background retries (for example, re-attempting a translation that failed).identity— support signing in with Google.- Access to
youtube.com— read subtitles on the page so you can capture phrases. - Access to our own backend server — send phrases for translation and sync your cards. It is never granted access to any other website.
7. Data retention and deletion
We keep your data for as long as your account exists. You can request deletion of your account and associated data at any time by contacting us at the address below; we will remove it from our database. Cards you keep only on your device (before signing in) are removed when you clear the extension's storage or remove the extension.
8. Data security
All communication between the extension, our server, and our providers uses encrypted HTTPS connections. Access to the database is restricted to our server, and account credentials are handled by our authentication provider, not stored by the extension.
9. Children
SayAgain is not directed at children under 13, and we do not knowingly collect data from them.
10. Changes to this policy
We may update this policy as the extension evolves. Material changes will be reflected here with a new "Last updated" date. Continued use of the extension after an update means you accept the revised policy.
11. Contact
For any privacy question, or to request deletion of your data, contact us at: flsfedorovlev@gmail.com.