ihor@dev:~$ cat privacy.md
Privacy at a glance
This Privacy Policy explains how IHOR.DEV / Ihor Kharchyshyn handles information when you use AI Translator. Its purpose is: translate requested text with AI, authenticate access, enforce source-character allowances, manage subscriptions and reservations, and operate the translation service.
Data transmission: Requested source text, optional context, basic Google account data, and subscription/payment records are processed by the translation service and its providers. Details are explained in the sections below.
1. Information processed or collected
The extension performs only the processing required to provide the feature or service requested by the user:
- The extension reads the text you enter or select, or eligible visible page text when you start page translation. In the default icon mode, selecting text alone does not send it for translation. Optional instant mode sends selected text automatically.
- Page translation replaces text nodes while preserving page structure. Original text needed for restoration stays in the page memory and is discarded when that page closes.
- Language, tone, selection, interface, and theme settings stay in Chrome-managed storage. Local history stores source text, translations, selected languages, and translation options in this Chrome profile: up to 1,000 entries or 25 MiB, removing the oldest when needed. Free shows the latest 20 entries; Pro gives access to up to 1,000. Downgrading alone does not delete older entries. History is not synchronized across devices; you can disable recording, delete individual entries, or clear it. Popup session drafts and pending requests can also be stored locally to resume work. History is isolated by account and billing environment and retained locally after sign-out; signing out clears the authentication session.
- The extension skips form controls, editable areas, code blocks, hidden content, and its own interface. It does not send full page HTML, browsing history, cookies, passwords, or form field values. Visible page text can still include personal information; request translation only for text you want processed.
- When you enable Pro page context, up to 2,000 characters of visible surrounding page text are transmitted to the backend and AI provider with the translation. Input fields, passwords, hidden text, and page HTML are excluded from context. Tone and language choices accompany the request. Page context is optional; do not include text you do not want processed.
- An optional review prompt keeps a device-local counter of up to five successful job identifiers, dismissal count, and next eligible time without translation text or review analytics. A local welcome flag prevents the onboarding page from reopening after the first installation.
2. How permissions are used
HTTP and HTTPS site access lets the packaged content script display selection controls and translate eligible page text and accessible frames. Page text is sent only when you request a translation or enable instant selection mode. Permissions are used for translation and its associated controls.
Permissions are not used for advertising, profiling, analytics, creditworthiness, or any purpose unrelated to the project's user-facing functionality.
3. Remote code
Executable extension code is packaged with the extension. The translation service returns translation data, which is not evaluated or executed as JavaScript.
4. Storage, retention, and deletion
Firestore translation jobs temporarily contain source text, optional context, output, account ownership, and job state. Job and idempotency records expire 24 hours after creation; Firestore TTL deletion is asynchronous and may happen later. Character counters and active reservations contain quantities and periods rather than page text or URLs. Subscription records contain account and Stripe identifiers, revisions, status, and paid-through dates to grant and revoke access. Historical purchase records retain original payment terms, units, refunds, disputes, and settlement data for accounting and support; they are not automatically converted or deleted during the subscription transition. Account, payment, and authentication records have separate retention purposes and are not promised deletion after 24 hours. Local history remains in this Chrome profile until removed, cleared, evicted under the 1,000-entry or 25 MiB storage cap, or local extension data is cleared. Uninstalling removes local extension storage but does not cancel a subscription or delete server records.
6. Security
Production service connections use HTTPS. The backend verifies Firebase authentication and restricts job access to the owning account. Authentication tokens stay in the extension’s trusted context and are not shared with webpages. Operational logs are designed to exclude translation text and credentials. Protect your browser profile and use translation only for content you want sent to the service.
7. Chrome Web Store Limited Use
Google account information is used for sign-in and account display. Translation text is used to fulfill requested translations and operate that service. These data are not used for personalized advertising or unrelated profiling.
8. Cloud processing and optional context
When you request translation, source text, selected languages, tone, and optional Pro context are transmitted to the authenticated backend and then its AI provider. Full-page mode can submit newly eligible text while active. Page context is optional and can include personal data; only enable it for content you want processed. Provider handling is governed by the OpenAI privacy policy and Google privacy policy; no promise of zero provider retention is made.
9. Google account information
Chrome Identity and Firebase Authentication handle Google sign-in. Basic account information can include an account identifier, name, email address, and profile image when supplied by Google. This information supports authentication, account display, and usage limits. Account records are separate from temporary translation jobs.
10. Your controls and deletion requests
You can stop page translation, restore originals, disable selection translation, sign out, or uninstall the extension. Restoring text changes the webpage display; it does not delete a translation already sent to the backend. Sign-out and uninstalling do not automatically delete the server account or temporary job records.
For access, account deletion, or other privacy requests, contact ihorkharchyshyn@gmail.com. Requests are reviewed by the developer; there is no self-service account deletion control or promise of immediate removal from every provider. Do not send passwords, authentication tokens, or private page text in support messages.
11. Historical image jobs
Image translation is not offered in the current Free/Pro interface. Previously accepted image jobs may finish under their original reservations. Their original and result files remain owner-only with 24-hour access expiration and asynchronous cleanup; the transition does not erase historical payment or settlement records.
12. Character allowances and subscriptions
Free includes 100,000 source characters per UTC calendar month. Pro is $4.99 USD/month or $39.99 USD/year and includes 2,000,000 source characters per monthly subscription anniversary; yearly billing still renews quota monthly. Monthly unused characters do not carry over. Quotas are reserved for jobs, charged after success, and released for failures/cancellation/expiration. Payment uses BALUBENKO billing and Stripe with the same Google account. Historical one-time purchases remain recorded, but new translations do not consume purchased words or automatically convert them to subscription characters. See the subscription terms.
13. Changes to this policy
Changes to functionality or data handling will be reflected on this page with an updated revision date.
14. Contact
For privacy questions about AI Translator, contact IHOR.DEV / Ihor Kharchyshyn at ihorkharchyshyn@gmail.com.
