VinnerVi has one purpose: translating or generating subtitles for a video
you choose. To provide that feature, the extension handles the current
video's URL, title, duration, available caption-track information, your
language and display choices, and the subtitle text and timing data needed
for the translation you request.
Before a translation: the extension reads the current page only to find the video and available captions and to place the subtitle controls and overlay. It does not collect your general browsing history or unrelated page content.
When you request Subtitle Translation: the selected video's URL, selected languages, caption-track details, and, when captured in the browser, the selected subtitle text and timing cues are sent to VinnerVi over HTTPS.
When you request Speech Translation: the selected video's URL and your language choices are sent to VinnerVi over HTTPS. Our service retrieves the media from that URL and processes its audio to create subtitles; the extension does not upload your microphone audio.
On your device: the extension stores your sign-in session, preferences, job status, video URLs for requested jobs, and completed subtitles in browser storage so it can restore your settings and show subtitles when you revisit that video. The Apple app also keeps a recent account-specific history snapshot, including requested video URLs, for faster loading.
Subtitle text captured from a signed-in streaming service is sent only
after you press the translate control and confirm the request. We do not
transmit video files, DRM keys, cookies, passwords for video sites, or
unrelated page content.
Android App and Google Play
The Android app includes a browser so you can open websites and watch
videos inside VinnerVi. Websites you visit receive the ordinary network
requests needed to load their pages and media, and may store their own
cookies and site data in the app's browser. Their use of that data is
governed by their own privacy policies. Signing in to a video website
is separate from signing in to your VinnerVi account.
VinnerVi uses the selected video's URL, available caption-track details,
subtitle text and timing, languages, and selected time range to provide
the translation you request. The Android app does not download media
files for upload to our server or record your microphone. For Speech
Translation, the server retrieves and processes the selected media.
The app's translation history records requested jobs; it is not a list
of every website you browse.
Android accounts have their own internal identifier, balance,
subscriptions, and translation history. Signing in with the same email
or Google account on Android and on the website does not merge those
accounts. Apple app accounts are also separate.
2. Data We Collect
Account and authentication data: email address, optional display name, internal account identifier, authentication provider, Google or Apple account identifier when you use those providers, email-verification status, and a securely hashed password when you create an email/password account. We never receive your Google or Apple password.
Translation content and website data: the video URL you submit; video title and duration where available; source and target language; selected time range and caption track; source subtitle or transcript text and timing; generated translation; and job identifier, status, timestamps, errors, and credit usage.
Optional app notifications: when you allow job-ready notifications, we receive an Apple Push Notification service device token and associate it with your current Apple app account. Notification payloads contain the job identifier, not the video URL or subtitle text.
Payments and credits: purchase and subscription identifiers, product and payment status, credit grants, debits, refunds, balance adjustments, and related timestamps. For Google Play purchases, this includes the purchase token or its cryptographic hash, order and product identifiers, billing period, quantity, and verification, acknowledgement, consumption, renewal, and refund state. When Android subscription verification is enabled, purchase tokens may be stored as-is in our encrypted-at-rest, access-controlled service database for read-only billing checks and subscription notifications. The token is removed when the account is deleted; VinnerVi does not cancel, refund or revoke a subscription as part of account deletion. The Android app supplies Google Play with a hashed VinnerVi account identifier to bind a purchase to the correct Android account. Payment-card details are collected directly by Stripe, Apple, or Google Play and are not stored by VinnerVi.
Product analytics: a resettable installation identifier, session identifier, internal account identifier when signed in, extension or app version, browser, operating system, interface language, named product actions, feature settings, translation mode, supported-site category, and purchase outcome. We do not send Google Analytics your email address, full video URL, subtitle text, audio, or payment-card details.
Technical and support data: standard server-request information such as IP address, user agent, request time, requested endpoint, and security or error logs; plus any information you choose to include when contacting support.
3. How We Handle and Use Data
We use the data described above only to:
Authenticate you, secure your session, and provide account recovery.
Find the video you selected, retrieve its captions or audio, transcribe or translate it, deliver the result, and display or export subtitles.
Estimate and charge credits, process purchases, prevent duplicate charges, issue refunds, and maintain required transaction records.
Remember your settings and completed subtitles on your device.
Send requested or essential service communications, such as verification, password-reset, receipt, and job-status messages.
Measure feature reliability and use, troubleshoot failures, prevent abuse and fraud, and improve the subtitle service.
VinnerVi does not sell user data, use it for advertising, use it to
determine creditworthiness or lending eligibility, or collect browsing
activity for an unrelated purpose. Human access is limited to what is
necessary for support you request, security and abuse investigation,
legal compliance, or internal operations, subject to confidentiality and
access controls.
4. How and Where We Store Data
Browser storage: authentication session data, preferences, job tracking, requested video URLs, translated subtitle caches, and analytics identifiers are stored locally by the extension. Account-specific subtitle caches normally remain on the device across sign-out and account switching, separated by account, until you clear extension or browser data or uninstall the extension. Browser storage failures can prevent a cache from being saved. Other local session data may be removed when you sign out.
Apple app storage: a recently loaded page of successful job history, including video URLs and credit totals, is stored locally by account so it can be displayed without another request. The app removes that snapshot when the account is deleted; otherwise it remains until you clear the app's data or uninstall the app. The app only displays the signed-in account's snapshot.
Android app storage: the native sign-in session is encrypted using a key protected by Android Keystore and is also made available to the app's built-in subtitle engine. Preferences, requested-job details, subtitle caches, and browser cookies and site data are stored on the device. Signing out removes the native session and account-specific job memory, but is not a full erasure of the browser profile or all subtitle caches. You can remove local app data through Android's app-storage settings. Clearing local data or uninstalling the app does not delete your server account or cancel a Google Play subscription.
VinnerVi service storage: account, complete job history, credit, payment, subscription, and support records are stored in our service database. Completed subtitle results may be stored in Cloudflare R2 for retrieval while your account remains active; local working copies are temporary. If you allow Apple app notifications, we also store the device's APNs token with your account to send job-ready alerts. Passwords are stored only as one-way hashes, not as readable passwords.
Temporary processing: retrieved media and extracted audio are working files used to complete your request. They are deleted after processing; automated cleanup removes any leftover temporary working files within 24 hours.
Backups: access-controlled backups may contain account and service records and are automatically rotated.
5. Data Retention
Local server working copies of subtitle results are removed after up to 3 days. Completed results backed up to Cloudflare R2 can remain available while your account is active. A copy saved in your browser remains on that device as described above.
Temporary media and audio working files are deleted after processing, with leftover temporary files removed within 24 hours.
Account, job metadata, credit-ledger, purchase, and subscription records are retained while your account is active and then deleted or de-identified when the account is deleted, except where records must be kept for tax, accounting, fraud-prevention, dispute-resolution, security, or other legal obligations.
After an Apple account is deleted, we retain Apple's stable Sign in with Apple subject identifier, the deletion time, and minimal opaque StoreKit wallet and transaction identifiers, without the account's email, profile, history, credit balance, purchase amount, or purchase date. These identifiers prevent repeat credit grants and let the same Apple identity safely restore an ongoing Apple subscription if it later creates a new account.
When a deletion request is processed through our Android deletion system, we retain a platform-scoped SHA-256 hash of the Google subject identifier for Google sign-in accounts, or of the normalized email address for email/password accounts, together with its creation time, for up to two years after deletion to prevent repeated welcome-credit claims. This hash is pseudonymous, not anonymous. Email hashes can be matched by guessing email addresses; we treat these markers as personal data and protect access to them. We also retain minimal Google Play purchase-token hashes, opaque account/order identifiers, refund and notification replay records to prevent duplicate credits and reconcile payment events. We do not retain the deleted account's profile, balance or translation history in these records. Recreating an account does not restore its deleted credits or transfer its old Play purchases to a new account.
When available in your app version, our Android in-app deletion system removes account data in a database transaction and queues stored translation output and all known completed workflow runs for deletion. External cleanup is retried if a service is temporarily unavailable. Local result copies on other server instances expire through normal cleanup. Limited payment and fraud-prevention records described above remain; third-party websites and Google Play retain data under their own policies.
Service backups are retained for up to 30 days before rotation. Deletions therefore may take up to 30 days to disappear from backups.
Server logs and internal alerts, including Telegram messages when enabled, may contain account identifiers, email addresses, requested video URLs, job details and credit information. They are not automatically erased or assigned an expiry by the account-deletion process. You can include removal of these identifiable records in an account or data-deletion request. We review records in our systems and request removal by our service providers, except where records are needed for an ongoing security or fraud investigation, a dispute, or a legal obligation. Records retained for an ongoing case are kept until it is resolved, unless a legal obligation requires longer retention. We explain any applicable retention when responding to your request. Analytics and other processor records follow the applicable processor retention settings and terms.
6. How We Share Data
We share only the data needed for the purposes below. Our current service
providers and the data they may process are:
Google OAuth — sign-in authorization; Google processes the OAuth request and provides an account identifier, email address, and basic profile information.
Google Play — Android purchases and subscription management. Google processes payment-method information and provides purchase and subscription information that our server verifies through the Google Play Developer API. Google Play notifications also report purchase lifecycle changes, such as renewals, cancellations, and refunds.
Apple — Sign in with Apple, App Store payments, and optional job-ready notifications through Apple Push Notification service; Apple processes signed account and transaction identifiers and notification delivery data.
Google Gemini — subtitle and transcript text, timing context, and selected language needed for AI translation.
Groq — temporary audio segments and language context for speech-to-text transcription. When translation fallback is used, Groq also receives the subtitle or transcript text, timing context, and selected language needed to translate it.
Telegram — operational alerts when enabled, sent to a restricted administrator chat. Alerts may include account email and sign-in provider, job identifier, requested video URL, source and target languages, job status, credit usage and remaining balance, and error details. These messages support service operation, troubleshooting and security; they are not user-facing messages or advertising.
Google Analytics — the product-analytics fields listed in Section 2.
Stripe — email address, purchase selection, transaction identifiers, and payment information that you provide directly to Stripe for web payments and subscription management.
Google Cloud — application hosting and processing; it may process translation content, job data, and technical logs.
Supabase — hosted database infrastructure for account, job, credit, purchase, and subscription records.
Cloudflare — DNS, network delivery, security, stored subtitle results, and backup storage; it may process IP addresses, request metadata, service data, and backup copies.
Sentry — error and performance monitoring when enabled; it may receive an internal user ID, email address, job ID/type, submitted video URL, error details, and technical request context.
Google Workspace/Gmail — delivery of verification, password-reset, job-status, support, and other service emails; it processes the recipient address and message content.
The video platform, content delivery network, or network provider used to retrieve the video you selected — receives the ordinary request details needed to retrieve that URL. The provider varies with the site you ask VinnerVi to process.
We may also disclose data when required by law, to protect users or the
service, or as part of a merger, financing, acquisition, or sale of assets,
subject to appropriate confidentiality and notice obligations. We do not
sell, rent, or trade personal information.
7. Security
User data transmitted to VinnerVi by the apps and extensions is sent over HTTPS. We use access
controls, one-way password hashing, restricted production credentials,
backups, and security monitoring to protect stored data. No method of
electronic transmission or storage is completely secure, so we cannot
guarantee absolute security.
8. Website Cookies and Local Storage
The VinnerVi website uses local storage for authentication and service
preferences. Google Analytics may store analytics identifiers; where
consent is legally required, website analytics remains disabled until
consent is provided. The browser extension uses extension storage as
described in Section 4. Firefox users can disable optional technical and
interaction analytics in the extension's permission settings.
9. Your Choices and Account Deletion
You may delete your account and associated data from Account settings in
the Apple app, or request deletion by contacting us at
[email protected]. We will
process emailed deletion requests within 30 days. We may retain limited
records where required by law or necessary to resolve fraud or disputes.
For Android, use our account-deletion request page.
You do not need the app installed. If your app version offers
Settings → Delete account, you can also request deletion
there with the Google account used for VinnerVi or your current VinnerVi
password. If that option is unavailable or cannot complete, contact
support using the request page. Your Android profile, translation
history and unused credits are permanently removed; your separate web
and Safari accounts are unaffected. If a translation is still running,
wait for it to finish and try again, or contact support for help.
When using this in-app option, the app clears the deleted account's local job memory and queues its
UUID-scoped subtitle caches for removal. Display preferences, unrelated
accounts' subtitle caches, and third-party browser cookies and site data
are not erased; remove the app's local storage in Android settings if
you also want to erase the entire browser profile.
To request deletion of your VinnerVi Android account
(the VinnerVi: AI Subtitles app on Google Play)
without the app installed, email
[email protected]
from the account's email address and state that the request is for
Android. We may verify ownership before deleting the account and its
associated data. Do not send your password or purchase token. Because
Android, Apple, and website accounts are separate, specify any other
VinnerVi account you also want deleted. The same email address alone
does not authorize deletion of your other platform accounts.
Cancel any active VinnerVi subscription in Google Play before
deleting your Android account. For in-app deletion, where available, VinnerVi checks subscription
billing status but does not cancel, refund or revoke a subscription during
deletion. If billing may continue or we cannot check its status, we keep
your account and let you retry. Account access and unused credits are lost
immediately on successful deletion, even if a paid period remains; old
Google Play purchases do not transfer to a newly created Android account. An emailed request
also requires ownership verification and a review of the account's billing status.
Deleting an Apple account does not automatically cancel its subscription;
use Apple Account subscription settings to stop future renewal. For a
website subscription, cancel using the billing controls provided by
VinnerVi or Stripe, or contact support if those controls are unavailable. You can
cancel a Google Play subscription without deleting your Android account
through Google Play's Payments & subscriptions settings.
We may retain limited transaction and replay-prevention identifiers
where necessary to prevent duplicate credit grants, reconcile refunds,
or meet legal obligations, as described in Section 5.
You can clear locally stored subtitles, job tracking, and preferences
from the extension's Settings. Depending on your location, you may also
have rights to access, correct, export, restrict, object to, or delete
personal data. Contact us to exercise those rights.
10. Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will
revise the "Effective date" at the top of this page. Continued use of the
Service after changes are posted constitutes your acceptance of the revised
policy.
11. Contact and Data Controller
VinnerVi is operated by SK95 Engineering AB, organization number
559587-8363, Torsbyslingan 10, 139 51 Värmdö, Sweden. If you have
questions about this Privacy Policy, please contact us at
[email protected].