Privacy Policy
Last updated: May 13, 2026
The short version
TextMojify runs offline for translation. The translator itself never sends a network request to do its work.
We do send anonymous analytics via Firebase Analytics (a Google service) so we can understand how the app is used and improve the emoji dictionary. This includes text you type into the in-app translator screen, which is logged alongside its translation. It is not tied to your name or any account — Firebase only sees a random anonymous identifier per install.
The system keyboard extension and the share-sheet extension are NOT instrumented at all— those targets don't link any analytics SDK, run entirely offline, and never communicate with our analytics provider. Only the main app's translator screen logs.
What we collect
- App and screen views (which screens you visit)
- The text you type into the in-app translator screen, paired with its translation. Both directions — Mojify (words → emoji) and Decode (emoji → words). Used to debug missing dictionary entries and prioritize new emoji mappings. Logged when you tap Copy, and (for Decode) when you pause typing for 1.5 seconds. Each text value is truncated to 95 characters.
- Which emojis appear in translated output — e.g. “🔥 was produced 12,000 times this week.”
- Which theme is currently active (Default vs Pirate vs …)
- Counts of theme switches and tip-jar interactions
- Tip purchases, including the tier (Espresso / Matcha / Hojicha)
- A random anonymous install identifier that Firebase assigns. It cannot be tied back to you, your email, or any account.
What we do NOT collect
- Anything you type into your system keyboard, including when our keyboard extension is active. The keyboard extension never logs keystrokes.
- Content from the share-sheet flow (when you Share → TextMojify from another app).
- Your name, email, address, phone, or contact list.
- Your precise location.
- Any identifier that links analytics events back to you specifically.
Tips & payments
If you tip via the Tip Jar, the purchase is processed by:
- App Store(iOS) — via Apple's standard in-app purchase flow
- Play Store (Android) — via Google Play Billing
- Stripe via RevenueCat (Web) — your card details go directly to Stripe; TextMojify never sees them.
On our side we retain only the tier purchased and a timestamp. No personal identifiers, no receipts, no card data.
How to opt out
- iOS: Settings → Privacy & Security → Analytics & Improvements → toggle off “Share iPhone Analytics.” You can also disable advertising identifier under Tracking.
- Android: Settings → Google → Ads → Reset advertising ID and turn on “Opt out of Ads Personalization.”
- Web: Most browsers offer a “Do Not Track” setting and cookie controls. TextMojify on web only fires analytics if you complete a purchase.
Retention
Firebase Analytics retains event data for 14 months by default. Tip-purchase records live with Apple, Google, or Stripe per their respective policies.
Why we log translator input
TextMojify's dictionary is hand-curated. We learn which phrases are missing or mistranslated by seeing real (anonymous) usage. Without this signal we'd be guessing at which words to add next. If you're uncomfortable with this, the opt-out instructions below disable all Firebase event collection, including the translator-input events.
Sub-processors
- Google (Firebase Analytics) — anonymous usage events
- RevenueCat — purchase event routing
- Stripe — web payment processing
- Apple and Google — App Store / Play Store payment processing
Children
TextMojify is not directed at children under 13.
Changes
We'll update the “Last updated” date above if this policy changes. Material changes (new sub-processors, new data types) will be called out at the top of this page.
Contact
Questions? Email hello@textmojify.com.