Privacy Policy
Effective date: October 26, 2026 (extension version 1.1.2) · Applies to the TextFlip browser extension ("TextFlip", "we", "the extension").
Contact for privacy questions and data requests: textflip.app@gmail.com
The short version
- The Flip feature (fixing wrong-keyboard-layout text) runs entirely in your browser. Nothing you type is sent anywhere for Flip.
- Text leaves your browser only when you use Translate or Grammar — and then only the text you chose (or, if you switch on the optional automatic suggestions, the text in the field you are typing in).
- TextFlip never reads or changes password or payment fields.
- We don't sell your data, show ads, or use third-party analytics or tracking. TextFlip has one optional setting, off by default, that shares anonymous daily usage counts (see "Optional usage counts" below). Nothing is collected or sent unless you turn it on.
- We don't store your email address. We store a pseudonymous ID and your subscription status (see below).
What the extension processes, and where it goes
| Feature / data | What is processed | Where it is sent |
|---|---|---|
| Flip | The text you select or type, converted between keyboard layouts. | Nowhere. Processed locally in your browser. |
| Translate — "Google Translate" engine | The text you chose to translate and the target language. | Sent directly from your browser to Google Translate (translate.googleapis.com). |
| Translate — "AI Slang Engine" | The text you chose to translate, the languages, and your pseudonymous ID. | Sent to the TextFlip backend (hosted on Cloudflare), which forwards the text to Google's Gemini API to obtain the translation. We do not store the text. |
| Grammar | The text you chose to check. | Sent directly from your browser to the LanguageTool public API (api.languagetool.org). |
| Account / subscription status | A pseudonymous ID (see next section), trial/subscription state and dates, and — if you purchase — the order ID and license key. | TextFlip backend database (Cloudflare D1). |
| Purchases | Payment details, billing email and receipts are handled by Lemon Squeezy, our payment processor, on its own checkout pages. | Lemon Squeezy. We receive only the order ID / license key and the pseudonymous ID attached to your checkout — not your email or card details. |
| Settings and usage counters | Your language choices, on/off toggles, sites you disabled, the number of Flips you made, and your daily free-use counters. | Stored in your browser's extension storage (some settings may sync across your own browsers through your browser account). Not sent to us — except the optional usage counts below, only if you turn them on. |
| Optional usage counts (off by default) | Only if you turn on "Share anonymous usage counts": per day — the number of successful Flips, whether the free-limit message was shown, the number of Upgrade clicks, whether you are a Pro user — plus the extension version and the pseudonymous ID described below. Never your text, clipboard, websites, page titles, URLs or browsing activity. | TextFlip backend database (Cloudflare D1). |
The pseudonymous ID and the "identity" permissions
To enforce the free daily limits and recognise a paid license, TextFlip uses an ID. If you are signed in to Chrome, the extension reads your Chrome profile's account identifier (the identity / identity.email permissions) locally and immediately turns it into a one-way SHA-256 hash; only that hash is sent to our backend. Your email address and account identifier are never transmitted or stored by us. If you are not signed in (or use a browser without this feature), a random ID generated on your device is used instead. The same permission is also used locally to recognise team/tester accounts. Note that a one-way hash is pseudonymous, not anonymous: someone who already knows an account's identifier could recompute its hash.
Optional usage counts
To learn whether TextFlip is actually useful (not to track you), you can choose to share anonymous daily counts. This is off by default. You can turn it on or off at any time in the TextFlip popup ("Share anonymous usage counts") or on the welcome page shown after installation.
- What is sent: per day, the number of successful Flips, whether the free-limit message was shown, the number of Upgrade clicks, whether you are Pro, the extension version, and your pseudonymous ID (the same one used for the free limit and license; no new identifier is created). Nothing is sent when there is nothing new to report.
- What is never sent: text you typed or corrected, clipboard contents, passwords or form values, website addresses, domains or page titles, browsing history, language choices or any personal contact information.
- Turning it off: TextFlip immediately deletes the counts it was keeping on your device and stops sending. TextFlip works exactly the same whether it is on or off.
- Retention: counts are kept for up to 90 days and then deleted automatically. They are keyed only by the pseudonymous ID, so we cannot look them up from your name or email; they stop being collected as soon as you turn the setting off.
- Limits of anonymity: the ID is pseudonymous, not anonymous (see the section below). Our hosting provider (Cloudflare) also sees technical request data such as IP addresses when any request reaches the backend; we do not store IP addresses. Counts are used only to understand overall product use, are never sold or shared for advertising, and are only viewed by the developer, on the developer's own computer.
Why each permission is needed
| Permission | Why |
|---|---|
| Access to all websites (content script) | So the shortcuts and pop-up work in text fields on any site. The script acts on text only when you use a shortcut, the context menu, or the optional suggestion pop-up, and skips password and payment-related fields. |
| activeTab, scripting | To run the fix in the page you are using. |
| contextMenus | The right-click item "TextFlip: Flip Text Layout". |
| storage | To save your settings and usage counters. |
| alarms | To refresh your subscription status periodically. |
| identity, identity.email | To derive the pseudonymous ID described above (not to read or send your email). |
| translate.googleapis.com, api.languagetool.org, the TextFlip backend | The only servers the extension talks to (Translate, Grammar, account status and the AI translation engine). |
Retention and your choices
- Subscription records (pseudonymous ID, trial/subscription dates, order ID, license key) are kept while needed to provide your license. Ask us to delete them using the contact above.
- Optional usage counts are deleted automatically after 90 days.
- We do not store the text you translate or check. Third parties (Google, LanguageTool) process it under their own policies: Google, LanguageTool, Lemon Squeezy.
- You can turn off the automatic suggestions, disable TextFlip per site from the popup, or uninstall the extension at any time (this removes everything stored in your browser).
- Our hosting provider (Cloudflare) processes standard request metadata such as IP addresses as part of delivering the service.
Chrome Web Store User Data Policy
TextFlip's use of user data complies with the Chrome Web Store User Data Policy, including the Limited Use requirements: data is used only to provide and improve the single purpose described above, is not sold or transferred to third parties except as described here (Google Translate, LanguageTool, Google's Gemini API via our backend and Lemon Squeezy, only when you use those features), is not used for advertising, and is not used to determine creditworthiness.
Children
TextFlip is not directed at children under 13 and we do not knowingly collect their data.
Changes
If we change this policy we will update the date above and, for material changes, note it in the extension's store listing.