Privacy Policy for Éist
Last updated: October 15, 2026
Overview
Éist (“we”, “our”, or “the app”) is an audiobook reader application that converts ebooks (EPUB, PDF) to audiobooks using AI-powered text-to-speech technology. This privacy policy explains how we handle your information. Éist is governed by Irish law.
Data Collection
Data We Do NOT Collect
- No required account: You do not need an Éist account to use the app. Optional email collection and subscription verification are described below.
- No in-app advertising profile: App analytics is not used to serve advertising. The marketing website's advertising-attribution processing is described below.
- No precise device location: The app does not request device location access. Website and analytics providers can derive an approximate country or region from network information as described below.
- Device only: Text used for speech generation stays on your device when you use Device only. Cloud Assist is described below.
Optional Email Collection
Éist never asks for an email address to use the app. The only times we collect one are when you choose to submit it in-app, for one of two purposes:
- Trial-ending reminder: If you ask to be reminded before your free trial ends, we collect the email you enter so we can send that one reminder.
- Newsletter: If you sign up for our newsletter, we use double opt-in. You must confirm via a link in a confirmation email before we send anything further.
Legal basis: Consent. You actively submit your email for a specific, stated purpose.
Processing: Emails are sent via Resend (EU region), used solely for email delivery. We store your email address together with a record of when and how you gave consent.
Retention: We keep your email until you unsubscribe or ask us to delete it. Every email we send includes a one-click unsubscribe link.
To request deletion at any time, email [email protected].
Data Stored Locally on Your Device
The following data is stored in the app's private storage on your device:
- Your books: Ebook files you import (EPUB, PDF) are stored in app storage.
- Reading progress: Bookmarks, chapter positions, and playback state.
- App settings: Voice preferences, playback speed, theme settings.
- Downloaded voice models: AI voice models for offline text-to-speech.
Usage Analytics (PostHog)
To improve the app, we collect pseudonymous usage analytics via PostHog when analytics is enabled. Usage analytics is enabled by default unless you have previously disabled it. You can turn it off in Settings → Privacy, and your saved choice is preserved. This helps us understand which features are used and fix bugs. The app initially uses an identifier generated for the installation, then links its PostHog profile to the pseudonymous app user ID issued by RevenueCat. This lets feature-use and subscription events be analysed together. If you share your RevenueCat support ID with us, we can use it to find the related analytics history when investigating a problem.
What we collect:
- A stable installation identifier and RevenueCat's pseudonymous app user ID
- Device model, manufacturer, and OS SDK version
- Feature-use events such as app opens, books imported or deleted, playback started or paused, chapters completed, voice or speed changes, subscription actions, voice downloads, bookmarks, highlights, and reading tools
- Event properties that can include an internal book identifier and chapter or segment position, subscription state, referral source, and app configuration or performance details
- Screen views within the app
- Country inferred from the network connection when available. PostHog ingestion removes IP addresses and finer geographic fields before storing these analytics events; network providers still receive connection metadata.
Routine analytics events do not send book titles, authors, full passages, notes, or audio. There are two user-chosen content exceptions: if you submit free-text feedback after declining a paywall, the text is sent to PostHog; and if you use Fix pronunciation, analytics can include the selected word. If you leave “Help improve pronunciation for everyone” enabled when saving a fix, the word and respelling are sent with voice and language details. No surrounding passage is included in that pronunciation contribution.
Opt out: You can disable app analytics anytime in Settings → Privacy. This stops new app analytics events and error reports. It does not delete previously collected events; contact [email protected] to request deletion. Events already queued before opt-out may still arrive.
Error Reports (PostHog)
From version 1.4.7, when analytics is enabled, release builds of the app also send error reports from the app's own code to the same PostHog project. Earlier versions do not send error reports.
What an error report contains:
- The error type and a short generic message. Before sending, the app keeps only its first line, removes anything in quotation marks, file paths, file names, web addresses and email addresses, and shortens it. Database errors send only an error code.
- Where in the app's code the error happened (a stack trace of code locations)
- App version, device model, OS version, and the same pseudonymous identifiers as usage analytics
Error reports do not include book titles, authors, book text, notes, file names or audio. Reports are limited to a few per session. Crashes inside native components (for example the speech engines) are not captured by the app; Google Play and Apple may collect those through their own crash reporting, under their policies. Turning analytics off in Settings → Privacy stops error reports.
Network Usage
Éist uses internet connectivity for:
- Voice model downloads: One-time download of AI voice models from our servers.
- Free book discovery: Browsing public-domain books (Project Gutenberg).
- Book metadata lookup: Fetching book covers and descriptions from the Google Books API.
- Cloud Assist (iPhone and Android): While Cloud Assist is on, upcoming text excerpts needed to prepare speech are sent to Éist's servers and independent cloud providers. The independent provider processing an excerpt can access that excerpt.
Device-only synthesis and playback of audio already on your device stay local. You can turn Cloud Assist off at any time in Settings.
Optional Cloud Assist
Cloud Assist is available on iPhone and Android. On a new install the built-in guide is read by Cloud Assist, and the app shows a notice on screen saying so. That notice also lets Cloud Assist help with your own books on Wi-Fi. Choosing “Use the built-in voice” or switching to Device only in Settings turns it off. If you turn Cloud Assist on yourself in Settings, you confirm a separate prompt first, and a fresh Balanced or Save battery choice allows mobile data by default. If you turn mobile data off, that choice is saved. While Cloud Assist is on, upcoming text excerpts needed to prepare speech are sent to Éist and independent cloud providers. The independent provider processing an excerpt can access that excerpt. Device only keeps synthesis local. Audio already on your device stays local. You can turn Cloud Assist off at any time in Settings.
What Cloud Assist does not keep: book text and audio. The text excerpt and the audio made from it exist only in the service's memory while the job runs and are discarded when it expires or the service restarts. Independent cloud providers can access an excerpt while they process it; Éist cannot guarantee an independent operator's handling of that access.
What Cloud Assist does keep, and for how long:
- An anonymous install ID (a random identifier, not linked to an account, name or email), with when it was created and last used. Deleted 90 days after the install was last active.
- Device keys that prove the request comes from the real app: on Android a public attestation key, its fingerprint, the app package name and version; on iPhone an App Attest key ID and public key, with its environment and a usage counter. Short-lived access tokens are stored only as hashes and deleted a day after they expire. All other key records go with the install ID after 90 days of inactivity. An install that was blocked for abuse is kept as a blocked record for 12 months after it was blocked, then deleted.
- Daily usage counts: how much audio Cloud Assist made for the install each day (for the free daily allowance). Deleted 90 days after that day.
- Session and job records: session and job IDs, times, outcome and error codes, your plan tier, the selected voice and playback rate, how much audio was ready, a one-way hash of the book revision (not the text), and the size and hash of the audio made. The one-way fingerprint (SHA-256) of an excerpt is deleted from the job as soon as it finishes (delivered, cancelled, failed or expired); a replay-protection record derived from it, which stops a retried request from being processed twice, expires within 25 hours. The rest of the job record is deleted about a day after the daily allowance resets (up to roughly two days after the job).
- Consent receipts: which version of the Cloud Assist notice or consent you saw, when, and for notices a fingerprint of the notice wording (not the wording itself, and never your book text). Receipts older than 90 days are deleted, except the newest one, which stays as the record of your current choice while the install ID exists.
- Request-replay and retry records that stop a request being used twice. Deleted within about a day.
- Pro verification (Android): an encrypted, pseudonymous purchase reference, kept as described under Pro Cloud Assist Verification below.
- Operational logs: one line per rejected request with the route, status and error code, and shortened hashes of session or job IDs. They do not contain request bodies, tokens or book text. The service uses your IP address in memory to rate-limit requests and does not store it in its database. Our web server in front of the service does not store IP addresses in its logs.
Pro Cloud Assist Verification
If your Pro access comes from a Google Play subscription, Éist checks that subscription for Android Cloud Assist to apply the appropriate cloud allowance. This sends your purchase token and a subscription-service customer identifier to Éist. The purchase token is used to check the subscription with Google Play; raw tokens are not stored in Éist's application database.
Éist retains an encrypted, pseudonymous reference linking the subscription and its renewals, together with verification and expiry times. This allows cloud usage to remain associated with the subscription when it is renewed or restored. The reference is retained while the verified entitlement is active and for 90 days after its verified expiry. It contains no book text or payment-card details and is not sent to independent speech-processing providers. Turning Cloud Assist off stops new text uploads; it does not immediately erase this subscription reference. You can request deletion at [email protected].
If your Pro access comes from a referral or promotional grant, Éist sends your subscription-service customer identifier to RevenueCat to verify your current entitlement. Cloud Assist does not store that customer identifier in its application database. Your cloud allowance is associated with a pseudonymous installation identifier in the operational records described above; no separate referral-to-cloud registration is needed. These verification details are not sent to independent speech-processing providers. Turning Cloud Assist off stops new text uploads. You can request deletion of retained operational records at [email protected].
Website Analytics (eist.app)
The Éist marketing website (eist.app) offers separate optional choices for analytics and advertising attribution. Cookie-based analytics and advertising attribution stay off until you make a choice, and missing, invalid or expired preferences also keep them off. Until you allow analytics, and unless your browser sends a Global Privacy Control or Do Not Track signal, the website uses the cookieless counting described under PostHog below. This is separate from the in-app analytics described above and applies only when you browse this website.
PostHog (Website Analytics)
If you allow analytics, we use PostHog EU Cloud to record pageviews and page URLs, referrers and campaign parameters, clicks on tagged elements, article scroll depth, app-store button clicks, Web Vitals performance metrics, and an approximate country derived from the request (the IP address is discarded and only the country is kept). A stable per-browser identifier stored in the browser connects events into sessions. We do not use PostHog session recording on this website. If you also allow advertising attribution, the PostHog browser identifier can be added to app-store links for attribution.
Cookieless counting: if you have not allowed analytics (and your browser is not sending a Global Privacy Control or Do Not Track signal), PostHog counts visits without cookies, local storage or a browser identifier. It uses a server-side hash of your IP address, user agent and this site with a salt that rotates daily; the hash cannot be reversed and is not linked across days. PostHog discards the IP address before any location lookup, so cookieless visits store no location at all. No session replay is recorded and no profile is built. The same page-level events are counted, with no browser identifier and no app-store link attribution.
Microsoft Clarity (Heatmaps & Session Replay)
If you allow analytics, we use Microsoft Clarity to record session replays and click and scroll heatmaps. We pass Clarity the same browser identifier used by PostHog so activity in the two services can be linked. We use this to find broken layouts, confusing interactions, and pages that need work. Read Microsoft's Clarity privacy notice for details.
Cloudflare Web Analytics
Our host, Cloudflare, provides pageview, visit, and Core Web Vitals measurements through its independently edge-injected Web Analytics beacon. The website privacy settings described here do not control that edge injection.
TikTok Pixel (Ad Attribution)
If you allow advertising attribution, the TikTok Pixel records page visits. On content pages it can also record the page path and title. The site stores campaign parameters, TikTok click and pixel identifiers, referrer, and first and most recent visit times in your browser for attribution. When you click an app-store link, the browser pixel receives the platform, campaign details, and a generated event identifier. If the server-side TikTok integration is configured, the same click can also send TikTok the page URL, referrer, IP address, user agent, campaign details, click identifier, and pixel identifier. Reddit campaign measurement is governed by the same advertising choice when configured.
Your Website Privacy Choices
You can accept, reject or choose the two purposes separately when first visiting. Use Privacy settings in the footer to change or withdraw your choice at any time. Withdrawal clears accessible first-party tracking identifiers and reloads the page with the withdrawn purpose disabled. Cookies that TikTok, Microsoft or Reddit set on their own domains cannot be read or removed from this site, so clear those in your browser settings. Global Privacy Control and Do Not Track signals keep optional website tracking off. The website and app-store links continue to work when you refuse. You can also request deletion by emailing [email protected].
Third-Party Services
Google Books API
We use the Google Books API to fetch book metadata (titles, covers, descriptions) based on the books you import. Google’s privacy policy applies: policies.google.com/privacy.
Project Gutenberg
We provide access to free public-domain books from Project Gutenberg. Their terms apply: gutenberg.org/policy/terms_of_use.html.
Data Security
- Imported book files, settings, and audio already stored on the device remain in the app's private storage.
- The Cloud Assist processing described above, while it is on, sends upcoming text excerpts to Éist and independent cloud providers.
- Éist retains the limited operational and Pro-verification data described above. Purchase-family references are encrypted at rest.
- Book files and settings are stored in the app’s private storage area.
Children’s Privacy
Éist does not knowingly collect information from children under 13. The app is designed for general audiences to read and listen to books.
Changes to This Policy
We may update this privacy policy from time to time. Changes will be posted on this page with an updated date.
Legal Basis (GDPR)
We process app analytics and configured crash reports on the basis of our legitimate interests in improving app stability and user experience. You can object to this processing by disabling Usage analytics in Settings → Privacy. Optional website analytics and advertising attribution rely on consent through the website privacy choices. Where you provide an email address for a trial-ending reminder or newsletter, we also rely on consent. See "Optional Email Collection" above.
Your Data Rights (GDPR)
Under GDPR, residents of Ireland and the EU have the right to:
- Access: Request a copy of the personal data we hold about you.
- Erasure: Request deletion of your data (except where legally required to retain it).
- Portability: Request your data in a portable, machine-readable format.
- Object: Object to a particular processing purpose by contacting [email protected]. Optional analytics choices can also be withdrawn in the app or website privacy settings.
To exercise these rights, contact [email protected]. We respond within 30 days.
Contact Us
If you have questions about this privacy policy, contact us at [email protected].
Éist is an audiobook reader that works offline once a voice is downloaded. Your books, your device, your privacy.