IHOR.DEVPRIVACY.md
MENU
AI Translator logo: a green sparkle on a pale mint rounded square

// Privacy · Chrome extension

AI Translator
Privacy Policy

Translate selected or pasted text with AI in Chrome. Pro adds webpage translation, tone controls, optional context, and more local history.

Publisher
IHOR.DEV / Ihor Kharchyshyn
Effective date
October 23, 2026
Last updated
October 30, 2026
Data transmission
Requested source text, optional context, basic Google account data, and subscription/payment records are processed by the translation service and its providers

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

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.

host permissions (http://*/* and https://*/*)
Allows selection controls and requested page translation on ordinary webpages and accessible frames where site access is allowed.
activeTab
Lets the extension access the current tab for actions you invoke, including reading the current selection.
scripting
Runs packaged extension scripts in the active webpage to read a selection or initialize translation controls.
contextMenus
Adds right-click actions for translating selected text and, with Pro, the current page.
storage
Stores local preferences, translation history, popup session drafts, pending input, and active translation state in Chrome-managed storage.
identity
Uses Chrome Identity for Google sign-in with basic account scopes: openid, email, and profile. It does not request access to Gmail, Drive, or contacts.
webNavigation
Tracks document and frame navigation to associate translation with the correct page and cancel outdated jobs.

Permissions are not used for advertising, profiling, analytics, creditworthiness, or any purpose unrelated to the project's user-facing functionality.

3. Remote code

NO_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.

5. Sharing, sales, and advertising

Requested text, optional context, selected languages, and tone are sent to the authenticated translation backend and its AI service at balubenko-ai.web.app, which uses OpenAI. Google/Firebase handles basic account information, authentication, job data, quotas, and subscription access. Local history is not synchronized to a server. AI Translator does not sell page text or use it for advertising. Stripe processes card details on hosted Checkout and billing portal pages; billing receives payment identifiers, subscription status, and paid-period information, not full card details. See https://stripe.com/privacy.

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.