Privacy Policy
Your privacy matters to us. This policy explains what data FluttX Reader collects, why we collect it, and how we protect it.
Table of Contents
Introduction & Overview
FluttX Reader ("we", "our", or "us") is an EPUB reader application developed by the FluttX team. We are committed to protecting your personal information and your right to privacy.
This Privacy Policy describes how we collect, use, disclose, and safeguard information when you use our mobile application FluttX Reader (the "App"). Please read this policy carefully. If you disagree with its terms, please discontinue use of our App.
We operate on a privacy-first, offline-first principle. The App is fully functional without an internet connection. Cloud-based features (Cloud Sync, analytics, crash reporting) are optional or operate transparently in the background to improve your experience. We never sell your personal data.
Information We Collect
We collect information only to the extent necessary to provide and improve the App. Below is a detailed breakdown of what we collect and why.
2.1 Account Information
If you choose to enable Cloud Sync, you may sign in using your Google account. Through Google Sign-In, we receive:
- Email address — used as your unique account identifier
- Display name — shown in the app's account area
- Profile photo URL — displayed as your account avatar
Google Sign-In is entirely optional. You can use all core reading features without creating an account.
2.2 Usage Data (Firebase Analytics)
We use Firebase Analytics to understand how users interact with the App. This helps us identify which features are most valuable and where we can improve. Data collected includes:
- App events (e.g., book opened, chapter navigated, feature used)
- Screen views and navigation paths
- Session duration and frequency of use
- Feature engagement (themes applied, atmospheres activated, notes created)
- In-app purchase events (item viewed, purchase initiated, purchase completed)
- Reader Gems events (gems earned, gems spent, gem source, shop item purchased)
- Rewarded ad events (ad started, ad completed, ad skipped, daily limit reached)
Analytics data is collected in aggregate and pseudonymously. It is associated with a Firebase installation ID, not your personal identity. You can opt out of analytics collection in the App's Settings.
2.3 Crash Reports (Firebase Crashlytics)
When the App encounters an error or crash, Firebase Crashlytics automatically collects a report to help us fix the issue. Crash reports include:
- Device model and manufacturer
- Operating system version and device orientation
- App version and build number
- Stack traces and error messages
- Time of the crash
- Free memory and disk space at time of crash
Crash reports do not include the content of your books, highlights, notes, or any personally identifiable text you have entered.
2.4 Reading Data (Cloud Sync)
If you enable Cloud Sync, the following reading data is stored in Firebase Cloud Firestore under your authenticated account:
- Book metadata (title, author, file hash for deduplication)
- Reading progress (current chapter, scroll position, percentage read)
- Bookmarks and their positions within books
- Highlights and associated colors
- Notes attached to highlights
- Saved quotes
- Reading goals and session history
This data is stored solely to sync your reading experience across devices. It is never used for advertising or shared with third parties for commercial purposes. Cloud Sync is an entirely optional, opt-in feature.
2.5 Device Information
For crash reporting and compatibility purposes, we collect basic device information:
- Device model and hardware identifiers
- Android OS version
- App version number and build code
- Screen resolution and density
2.6 Push Notification Token
If you grant notification permission, Firebase Cloud Messaging (FCM) assigns your device a push token. This token is used exclusively to deliver reading reminders and app announcements. We do not use push tokens for advertising. You can revoke notification permission at any time in your device's Settings or within the App.
2.7 Reader Gems & Advertising
Reader Gems is a virtual currency system built into the App. Gem balance, transaction history, and trial entitlements are stored locally in the App's SQLite database on your device. If you enable Cloud Sync, your gem balance is also backed up to Firebase Firestore under your account.
The App includes an optional rewarded video advertising feature powered by Google AdMob (Google LLC). You may choose to watch a short rewarded video ad to earn Reader Gems. Watching rewarded ads is entirely voluntary — ads are only shown when you explicitly tap "Watch Ad". The App never shows banner ads, interstitial ads, or any ad that interrupts your reading.
When you watch a rewarded ad, Google AdMob may collect:
- Your device's advertising identifier (Google Advertising ID / GAID)
- IP address and approximate location derived from IP
- App interaction signals related to ad viewing
- Device model, OS version, and screen characteristics
We apply the following ad content filters to block inappropriate categories: gambling, betting, casino, alcohol, adult dating, mature content, and political advertising. However, ad content is served by Google and we cannot guarantee the complete absence of all potentially sensitive content.
You may limit ad tracking on your Android device by enabling "Opt out of Ads Personalization" in Settings → Google → Ads. This does not remove ads but limits personalized targeting.
AdMob data is subject to Google's Privacy Policy, available at policies.google.com/privacy and Google's advertising policies at policies.google.com/technologies/ads.
2.8 Third-Party Library Catalogs (Discover Tab)
When you use the Discover tab to search or download ebooks, the App makes HTTPS requests directly to public-domain catalogs:
- Project Gutenberg (www.gutenberg.org)
- Open Library (openlibrary.org)
- Standard Ebooks (standardebooks.org)
To complete these requests, your device shares your IP address and the App's User-Agent header with these platforms. This network communication is necessary to retrieve search indices, curated list metadata, book cover images, and EPUB files. These external platforms are operated independently; please refer to their respective terms and privacy statements for information regarding how they process network traffic.
How We Use Your Information
We use the information we collect for the following purposes:
- Provide core app functionality — reading books, tracking progress, managing your library
- Cloud Sync — synchronizing your reading data across multiple devices when you opt in
- App improvements — analyzing usage patterns to prioritize features and fix usability issues
- Bug fixes — diagnosing and resolving crashes and errors using Crashlytics reports
- Push notifications — sending reading reminders and important app updates you have subscribed to
- Subscription management — verifying your premium subscription status to unlock features
- Customer support — responding to support requests you submit via email
We do not use your data for targeted advertising, profiling, or any purpose beyond what is listed above.
Firebase & Google Services
FluttX Reader uses several Firebase services provided by Google LLC. Firebase acts as a data processor on our behalf under Google's standard data processing terms. The Firebase services we use are:
| Service | Purpose |
|---|---|
| Firebase Analytics | App usage events and engagement metrics |
| Firebase Crashlytics | Crash and error reporting |
| Firebase Remote Config | Feature flags, pricing, and update management |
| Firebase Cloud Messaging | Push notifications |
| Firebase Authentication | Google Sign-In for Cloud Sync |
| Cloud Firestore | Cloud storage for synced reading data |
| Cloud Storage for Firebase | Cloud backup file storage |
| Firebase Cloud Functions | Text-to-speech (Read Aloud) service |
| Google AdMob | Optional rewarded video advertisements for earning Reader Gems |
Data processed through Firebase is subject to Google's Privacy Policy, available at policies.google.com/privacy. Firebase stores data on Google Cloud infrastructure, primarily in the United States, with compliance for global data protection regulations.
In-App Purchases
FluttX Reader offers premium subscriptions, themes, and reading atmospheres for purchase through Google Play Billing. All payment processing is handled entirely by Google Play.
We do not collect, process, or store any payment information — including credit card numbers, billing addresses, or bank details. All financial transactions occur within Google's secure payment infrastructure.
For subscription and purchase records, we receive a purchase token from Google Play which allows us to verify your entitlement to premium features. This token does not contain any payment details.
For questions about billing, refunds, or purchase history, please refer to your Google Play account or contact Google Play support.
Cloud Sync
Cloud Sync is an optional premium feature that allows you to back up and synchronize your reading data across multiple devices.
- Opt-in only: Cloud Sync is disabled by default. You must explicitly enable it and sign in with your Google account.
- Your data stays yours: All data synced to Cloud Firestore belongs to you. You can delete your cloud data at any time from within the App.
- Offline-first: The local SQLite database on your device is always the source of truth. Cloud Sync is a backup layer — the App works fully without it.
- Data security: Firestore security rules enforce that only your authenticated account can read or write your data. No other user or FluttX employee can access your synced reading data.
- Backup files: When you create a local backup file (.fluttxbackup), it is stored on your device. If you upload it to Cloud Storage, it is protected by the same security rules.
Push Notifications
With your permission, FluttX Reader may send push notifications to remind you of your reading goals, streaks, and app updates.
- Notification permission is requested at an appropriate moment during onboarding and is entirely optional.
- You can withdraw notification permission at any time in your device Settings under Apps > FluttX Reader > Notifications, or in the App's Settings > Notifications.
- We do not send promotional or advertising notifications to third parties. Notifications are sent only on your behalf (e.g., your own reading reminders).
- Your FCM push token is stored only for the purpose of delivering notifications to your device and is not shared with any third parties.
Data Retention
We retain different categories of data for different periods based on the purpose for which they were collected:
- Local data (books, progress, notes, highlights) — stored on your device indefinitely until you delete it or uninstall the App.
- Cloud Sync data — retained in Firebase Firestore as long as your account is active. Deleting your account or disabling Cloud Sync removes your data from our servers.
- Crash reports — retained by Firebase Crashlytics for 90 days from the date of the crash.
- Analytics events — retained by Firebase Analytics per Google's standard retention periods (up to 14 months).
- Account information — retained while your account is active. Deleting your account removes your Firebase Auth record and associated Firestore data within 30 days.
To request deletion of your data, contact us at [email protected].
Your Rights
Depending on your location, you may have the following rights regarding your personal data:
- Right of Access — You have the right to request a copy of the personal data we hold about you.
- Right to Rectification — You can update or correct inaccurate personal information through your Google account settings or by contacting us.
- Right to Erasure — You can request deletion of your personal data. You may delete your Cloud Sync data directly from within the App, or contact us to request full erasure.
- Right to Data Portability — You can export your local reading data using the built-in backup export feature (Settings > Backup & Restore > Export Backup).
- Right to Opt Out of Analytics — You can disable Firebase Analytics collection in Settings > Privacy > Data & Analytics.
- Right to Withdraw Consent — You may withdraw consent for Cloud Sync at any time by signing out in Settings > Account > Sign Out.
To exercise any of these rights, please contact us at [email protected]. We will respond to your request within 30 days.
Children's Privacy
FluttX Reader is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13.
If you are a parent or guardian and you believe your child under 13 has provided personal information to us through the App, please contact us at [email protected]. We will promptly delete such information from our records.
If you are under 18, please review this policy with a parent or guardian before using Cloud Sync or making in-app purchases.
Security
We take the security of your data seriously and implement appropriate technical and organizational measures:
- Encryption in transit — All data transmitted between the App and Firebase servers is encrypted using TLS/HTTPS.
- Encryption at rest — Data stored in Firebase Firestore and Cloud Storage is encrypted at rest by Google Cloud.
- Firestore security rules — Our Firestore database is protected by rules that restrict each user to accessing only their own data.
- Secure storage — Subscription entitlement data is stored using Android's Keystore-backed secure storage.
- No password storage — We do not store passwords. Authentication is delegated entirely to Google Sign-In.
While we strive to use commercially acceptable means to protect your personal information, no method of transmission over the internet or electronic storage is 100% secure. We cannot guarantee absolute security, but we continuously work to improve our security practices.
Changes to This Policy
We may update this Privacy Policy from time to time to reflect changes in our practices, technology, legal requirements, or other factors.
When we make material changes, we will notify you by:
- Updating the "Last updated" date at the top of this page
- Displaying an in-app notification on the next launch after the change
- For significant changes, sending a push notification (if you have enabled them)
Your continued use of the App after the effective date of any changes constitutes your acceptance of the revised policy. We encourage you to review this policy periodically.
Contact Us
If you have any questions, concerns, or requests regarding this Privacy Policy or our data practices, please contact us:
We aim to respond to all privacy-related inquiries within 30 days.
Also see our Terms & Conditions · Last updated June 18, 2026