Privacy Policy
Magic Audiobook Player
Who We Are
Magic Audiobook Player ("we", "our", "the app") is a free audiobook player for iOS and Android, developed and operated by the Magic Audiobook Player developer. You can reach us at magicaudiobookplayer@gmail.com. This Privacy Policy explains what information the app uses, where it is sent, how it is protected, and how you can delete it.
Information We Collect
The app processes the following categories of information:
- Google Account profile — When you sign in with Google to use your Google Drive library, the app receives your account email, display name, and profile photo from Google to show your account on your device. We do not store them on our servers.
- Google Drive content (audiobook files) — The app works with the audiobook folder you choose (or one it creates for you) and a hidden app-specific data folder used for cross-device sync. When you connect a library, that folder is shared with our librarian service account, which lists it so the app can build your library. Audio, cover images, and file names from that folder then stream through our backend service to your device. The app does not browse unrelated Drive content.
- Playback data — Your listening position, bookmarks, library list, and preferences are stored on your device and, for cross-device sync, in the hidden app-data folder of your own Google Drive.
- Book details for AI features — When you ask for a "Story so far" recap or an AI character list, the book title, author, chapter titles up to your position, and your position in the book are sent to our backend so it can write a recap for where you are.
- Audio for AI features — When a recap is made from what you have heard (Deep Scan, when available), short audio slices from the part of the book you already listened to, or a transcript made on your device, are sent to our backend for processing.
- App identifier and AI usage counts — The app creates a random identifier when it is installed and sends it with AI requests. Our backend uses a SHA-256 hash of it to count your monthly AI allowance (for example, 2 recaps and 1 AI character list per month) and to apply daily limits that prevent abuse. It is not linked to your name or Google account. Settings › About shows a short "Support ID" derived from it, which you can share with us for support.
- Crash reports — When the app crashes or hits an error, Firebase Crashlytics receives a stack trace, device model, OS version, app version, the Firebase installation ID, and may include recent app log messages. Reports are associated with a SHA-256 hash derived from your Google account (never the email itself) so we can connect reports from the same device.
- Reports you send — If you use "Report a Bug" or "Report this recap", your email app opens a pre-filled message (device and app details, and the recap text when reporting a recap). You can read and edit it before sending; nothing is sent unless you send the email.
How We Use Your Information
- To read and stream the audiobooks in the folder you connected
- To save and sync your playback progress across your devices
- To deliver the AI features you ask for (recaps, character lists, narrated recaps, cover art) and to count their monthly allowance and daily limits
- To find cover art and chapter information for your books
- To diagnose crashes and improve app stability
We do not use your information for advertising, profiling, training machine-learning models, or any purpose unrelated to the features above. The app contains no ads and no advertising identifiers.
Data Security
We protect your data using the following mechanisms:
- Encryption in transit — Communication with Google Drive, Google Sign-In, our backend service, and the services listed below uses HTTPS with TLS 1.2 or higher. When casting, the device may serve audio to a Chromecast over a temporary token-gated HTTP connection on your local network.
- Encryption at rest (cloud) — Files in your Google Drive and the hidden app-data folder are encrypted at rest by Google. Our short-term caches and counters are encrypted at rest by Cloudflare.
- Encryption at rest (device) — Downloaded audiobooks and playback data are stored in the app's sandboxed storage, protected by the platform's file-based encryption (iOS Data Protection, Android File-Based Encryption) when a device passcode or screen lock is set.
- Credential protection — Google sign-in tokens are kept by the platform's secure credential store through the Google Sign-In SDK and are never written to logs or crash reports. During first-time library setup, the app may send our backend a one-time Google folder-picker authorization code so the backend can share the selected folder with the librarian; the resulting short-lived token is used only for that step and is not stored.
- API key isolation — All AI provider keys are stored only as server-side secrets and are never embedded in the app.
- Least-privilege scopes — The app asks Google only for
https://www.googleapis.com/auth/drive.file(the files and folders you choose or the app creates),https://www.googleapis.com/auth/drive.appdata(the hidden sync folder), plusopenid,https://www.googleapis.com/auth/userinfo.email, andhttps://www.googleapis.com/auth/userinfo.profilefor sign-in. The app cannot read, change, or delete unrelated Drive files. - Usage limits — AI requests are counted per install (monthly allowance), limited per device and per network each day, and paused for everyone if a daily spending cap is reached.
- Access revocation — You can revoke the app's Google access at any time at Google Account Permissions. The librarian's folder share is separate: disconnect the library in the app, or remove the share in Google Drive.
No method of sending or storing data over the internet is completely secure. We use the measures above, but we cannot guarantee absolute security, and you use the app at your own risk. If we learn of a security breach that affects your personal information, we will notify you as required by law.
Data Storage
Most of your data stays on your device. Specifically:
- On your device — Your library list, playback positions, bookmarks, preferences, recaps you generated, and audiobooks downloaded for offline listening.
- In your own Google Drive — Your audiobook files, plus a small sync document (positions, bookmarks, settings) in the hidden app-data folder that only this app can read.
- On our backend (Cloudflare Workers) — We do not keep audio, streamed files, or transcript request bodies after a request completes. We do store: (a) monthly AI allowance counters, keyed by a hash of the app identifier and the month, kept until about a week after that month ends, and a marker for each delivered AI result (a hash of what was asked) kept 35 days so a retried request is not counted twice; (b) daily request and transfer counters, keyed by hashed device or network identifiers or by library identifiers, which expire around the next UTC day; (c) shared recap cache entries keyed by hashes of book title, author, and chapter/position, kept 7 days, with no device or user identifier; (d) while a library is connected, the list of files the librarian found (file IDs, types, and sizes); disconnecting removes it and records a revocation marker so old credentials stop working, and cached folder checks can remain up to 12 hours without restoring access; (e) chapter-lookup results (Audible ASIN, chapter map, runtime), keyed by a hash of title and author, for up to 30 days; (f) stop records for listening links you stopped, as described under Optional Audiobook Sharing.
AI Features
AI features are optional, clearly labelled, and still in development: results may contain mistakes or spoilers, and you can report a bad result from the app. Before first use, the app asks your permission for each kind of AI data transfer; you can withdraw it in Settings › Data & Privacy. Requests go through our Cloudflare Workers backend, which keeps provider keys off your device, applies the monthly allowance and daily limits, and forwards only what each step needs to these processors:
- Google LLC (Gemini API) — receives book details and chapter/position context for recaps and character lists, and may receive a transcript plus title and author for recaps made from what you heard. Recaps may use Google Search grounding to find sources. Gemini API Terms.
- OpenAI, L.L.C. — receives recap text (and the book title and author as narration instructions) to create narrated audio, and a cover prompt plus a SHA-256 hash of the app identifier to generate cover art. OpenAI Privacy Policy.
- xAI — receives recap text to create narrated audio only when OpenAI's narration is unavailable. xAI Privacy Policy.
- Groq, Inc. — receives short audio slices from the part of the book you already heard and returns a transcript (Deep Scan, when available). Groq Privacy Policy.
- Exa — may receive a book title and author to find the audiobook's catalog number for chapter lookup. No audio or transcript is sent. Exa.
- Audnex (open audiobook metadata service) — receives a catalog number (ASIN) to look up chapter titles. No user content is sent. Audnex.
Drive access for streaming Deep Scan. For a book streamed from Google Drive, the app may send our backend a short-lived Drive access token or a library credential so the backend can read only the audio slice being transcribed. It is used for that request only and is never stored or logged.
Other Services the App Uses
- Google Sign-In and Google Drive API — sign-in and access to your audiobook folder. Google Privacy Policy.
- Cloudflare, Inc. — hosts our backend, caches, and counters, and streams your library's files to you. Like any web service, it receives standard request details (IP address, time, requested path). Cloudflare Privacy.
- Firebase Crashlytics (Google) — crash reporting, as described above. Firebase Privacy.
- Google Books and Open Library (Internet Archive) — receive a book's title and author to find cover art when a book has none.
- Internet Archive / LibriVox — provide the free public-domain audiobooks in the Catalog; playing one requests its audio from them.
- Apple iTunes Search — receives podcast search words and returns podcast listings and charts.
- Podcast hosts — the servers of podcasts you follow receive requests for their feeds and episodes, as with any podcast app.
- Google Cast (Chromecast) — plays audio on your cast device over your local network.
Each of these services receives only what is needed for its task and is bound by its own terms and privacy policy. We share data with them only to provide the app's features, and we require the processors we send your data to (Google, OpenAI, xAI, Groq, Exa, Cloudflare) to protect it at least as well as this policy describes.
Google API Services User Data Policy
Magic Audiobook Player's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Specifically:
- The app uses Google Drive data only to provide and improve the audiobook playback and AI recap features described in this policy.
- The app does not transfer Google user data to third parties except as necessary to provide the app's user-facing features (including the AI processors above and the listening-link recipients you choose), to comply with applicable law, or as part of a merger, acquisition, or sale of assets with notice to users.
- The app does not use Google user data for serving advertisements.
- The app does not use Google user data to determine creditworthiness or for lending purposes.
- A human can review Google user data only where (a) you have given explicit consent, (b) it is necessary for security purposes (such as investigating abuse), (c) it is required to comply with applicable law, or (d) the data is aggregated and used for internal operations consistent with the User Data Policy.
Optional Audiobook Sharing
When you create a listening link, anyone who holds or receives that link can access metadata and audio within its selected file or folder scope. Only share books you have the right to share. Links expire after the 7-, 30-, or 90-day period you choose. Stopping a share or disconnecting the library prevents future access, but cannot erase copies a recipient already downloaded.
The signed link contains a random grant ID, your library registration and root folder IDs, the selected file or folder IDs, and issue/expiry times. Treat it as an access credential. For each stopped link, the backend stores a revocation flag and schedules its deletion one minute after the link expires. These stop records do not contain the audiobook or the link itself.
Data Sharing
We do not sell, rent, or trade your personal information. Book details, transcripts, and audio slices go to the AI processors above only to deliver a feature you asked for. We never share Google user data with advertising networks, data brokers, analytics providers, or anyone outside the purposes described in this policy.
Legal Bases (EEA and UK)
Where the GDPR or UK GDPR applies, we process personal data: to provide the app you asked for (performance of a contract — playback, library, sync); with your consent (AI features, which ask before first use; you can withdraw consent in Settings › Data & Privacy at any time); and for our legitimate interests in keeping the app working, secure, and free of abuse (crash reports, usage limits). Withdrawing consent does not affect processing that already happened.
International Transfers
Our service providers (including Google, Cloudflare, OpenAI, xAI, Groq, and Exa) may process data in the United States and other countries whose data protection laws differ from yours. Where required, these transfers rely on the providers' safeguards, such as the European Commission's Standard Contractual Clauses.
Legal Disclosures and Business Transfers
We may disclose information if required to do so by law or a valid legal request, or when we believe in good faith that disclosure is needed to protect the rights, property, or safety of our users, the public, or us, or to investigate fraud, abuse, or security issues. If the app is involved in a merger, acquisition, or sale of assets, information may be transferred as part of that transaction; this policy will continue to apply to it, and we will give notice before it becomes subject to a different policy.
Other Websites and Services
The app links to and works with services we do not control (for example Google Drive, podcast hosts, and the Internet Archive). Their own terms and privacy policies govern what they do with your information; we are not responsible for their content or practices.
Your Rights
Depending on where you live (for example in the EEA, the UK, or California), you may have the right to access, correct, delete, or receive a copy of your personal information, to object to or restrict its processing, and to complain to your local data protection authority. Most data lives on your device and in your own Google Drive, where you control it directly; for anything on our side, email us (include your Support ID from Settings › About). We will not discriminate against you for exercising these rights. We do not sell personal information and do not share it for cross-context behavioral advertising.
Data Retention & Deletion
Your data is stored on your device and in your own Google Drive. You can delete it at any time:
- In the app — Settings › "Delete All My Data" erases your library, playback positions, bookmarks, and preferences on the device, removes the app's sync data from your Google Drive, disconnects the librarian, stops your listening links, and signs you out.
- Uninstall — Uninstalling removes all data stored on your device.
- Google Account — You can revoke the app's access at Google Account Permissions. To end the librarian's folder share, disconnect the library in the app or remove the share in Google Drive.
- Email — Contact magicaudiobookplayer@gmail.com to ask us to delete data or to confirm it was deleted. Including your Support ID (Settings › About) helps us find your AI usage counters.
Server-side records expire on their own: monthly allowance counters about a week after their month ends, delivered-result markers after 35 days, daily counters around the next UTC day, shared recap cache entries within 7 days, and chapter-lookup results within 30 days. Library file lists are removed when you disconnect. Stop records for listening links are scheduled for deletion one minute after the link expires.
Children's Privacy
The app is not directed at children under 13, and we do not knowingly collect personal information from children under 13.
Permissions
The app may ask for these device permissions:
- Audio files (Android: music and audio) — to play audiobooks you keep on your phone. The app does not ask for access to your photos or videos on Android.
- Notifications — playback controls, download and upload progress, and new-episode alerts for podcasts you turn them on for.
- Background audio and transfers — to keep playing, and to finish downloads and uploads, when the app is in the background.
- Bluetooth — to work with Bluetooth audio devices.
- Local network — to find and cast to Chromecast devices.
- Photos (iOS, only when you choose a picture) — to set a picture for a character or a book cover.
- Speech recognition (iOS) — on-device transcription of audiobook audio for recaps, when that feature is available. The app never records you.
Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be posted on this page with a new date below, and material changes will also be announced in the app or on the store listing. Continuing to use the app after a change takes effect means you accept the updated policy.
Contact Us
If you have questions about this Privacy Policy, or want to exercise any of the rights described above, contact us at magicaudiobookplayer@gmail.com.
Last updated: September 26, 2026