Privacy Policy for Translator

Last updated: April 29, 2026

Overview

Translator ("the Extension") is a browser extension that translates web page content and user-input text using user-configured OpenAI-compatible large language model (LLM) APIs. The Extension does not operate any backend servers, does not collect analytics or telemetry, and does not sell or share any user data with third parties.

Data We Collect

The Extension stores the following data locally on your device:

DataStoragePurposePII?
LLM provider settings (API keys, endpoints, custom headers, model preferences)chrome.storage.syncAuthenticate with your configured LLM APIYes — API keys are secrets
Language preferences & UI settingschrome.storage.syncRemember your translation preferencesNo
Custom prompt templateschrome.storage.syncPersonalize translation behaviorNo
Translation results (cached)IndexedDB (local)Avoid redundant API calls; auto-deleted after 7 daysPotentially — reflects content you translated

Data Sent to External Services

When you translate text, the following is sent only to the LLM API endpoint you configured:

The Extension does not route your data through any intermediary servers. Network requests go directly from your browser to the API endpoint you specified.

Language Detection

By default, the Extension uses franc-min, a local-only N-gram language detection library that runs entirely in your browser. No network requests are made for language detection in this mode.

If you configure a remote language detection provider (e.g., Google Translate free endpoint or a custom API), the text to detect will be sent to that provider's endpoint. This is optional and only happens when you explicitly configure a remote detection provider.

Data Retention

Data Sharing

The Extension does not share, sell, or transmit any data to any party other than the LLM API endpoints you configure. There are:

Settings Export & Import

The Extension allows you to export and import your settings. Exported settings may contain API keys. You have the option to encrypt the export file with a passphrase (AES-256-GCM). Without a passphrase, API keys are stored in plaintext JSON. We recommend always using a passphrase when exporting settings.

Permissions

PermissionJustification
storageStore your settings and preferences in chrome.storage.sync
activeTabAccess the content of the current tab when you trigger translation
alarmsSchedule periodic cleanup of expired translation cache entries
<all_urls> (host permission)Run the content script on any page to translate visible paragraphs

Third-Party Libraries

All bundled third-party libraries operate locally within the browser and do not make network requests or collect data:

Children's Privacy

The Extension is not directed at children under 13. We do not knowingly collect personal information from children under 13.

Changes to This Policy

We may update this policy from time to time. Changes will be reflected in the "Last updated" date above. Continued use of the Extension after changes constitutes acceptance of the updated policy.

Contact

If you have questions about this privacy policy, please open an issue on our GitHub repository:

https://github.com/HodgeWen/translator/issues