Effective 1 March 2026 · Last updated 19 October 2026 · Version 1.12
The short version. If you use Foxed for free, your entire library stays on your device and never leaves it without your consent. We don't sell your data, and your books, ratings and reading history are never shared with advertisers — that's true across every plan, including Premium with cloud sync on. Free users see ads from Google AdMob, which uses your device's advertising identifier and basic device information; ads are only personalised if you agree. Cloud sync happens only if you choose Premium and explicitly enable it.
Foxed is a reading tracker application for iOS and Android, owned and operated by Rebecca Brown, trading as "Foxed", a sole trader based in the United Kingdom. Where this policy says "Foxed", "we", "us" or "our", it means the individual data controller responsible for your personal data.
For the purposes of the UK GDPR and the Data Protection Act 2018, we are the data controller — we decide how and why your personal data is processed.
We are registered with the UK Information Commissioner's Office (ICO), registration number ZC166256. You can verify this on the ICO register.
| Data | Who | Where stored | Purpose |
|---|---|---|---|
| Book library, ratings, shelves, notes, reading sessions | All users | Your device (SQLite). If you turn on cloud sync (Premium), a copy is also kept in Cloud Firestore (see the cloud copy row below) | Core app functionality |
| App settings and preferences | All users | Your device. If you turn on cloud sync (Premium), your display name and your "Count rereads towards goal" setting are also copied to Cloud Firestore. Everything else, such as your theme, your Month in Books colour and your consent choices, stays on your device only | Remembering your display name, theme, defaults, consent choices |
| Beta-testing email address and preferred test platform | People who sign up for beta testing on getfoxed.app | Mailjet | Sending the relevant beta-testing invitation, feature previews and occasional feedback requests |
| One-way hash of IP address | People submitting the waitlist form | Cloudflare Durable Objects | Rate-limiting the form and preventing abuse |
| Email address | Premium only | Firebase Authentication | Account login for cloud sync |
| Book library, earned badges (with the date each was earned), your display name and reading-goal setting (cloud copy) | Premium with sync on | Cloud Firestore | Cross-device sync and backup |
| Crash reports (error code and the place in the app it came from) | All users | Firebase Crashlytics | Identifying and fixing bugs. On by default — turn off in Settings → Privacy → Send crash reports |
| Installation identifier (a random ID for this install of the app) | Premium users who enable sync | Cloud Firestore | Recording which install deleted a synced book, so a deletion isn't undone by another device |
| Anonymous app usage analytics, including subscription events (trial started, renewed, cancelled) | Opted-in only | Firebase Analytics | App improvement — off by default. Turn on or off in Settings → Privacy → Share app usage data |
| Advertising identifier (IDFA / GAID) and device information | Free users | Google AdMob | Serving and measuring native ads. The identifier is only used for personalised ads if you consent. |
What we do not collect: location, contacts, microphone data, financial information, or the specific book titles and reviews you log — those never appear in an analytics event.
GDPR requires a lawful reason — a "legal basis" — before we process any personal data. Think of it as a permission slip.
| Processing activity | Legal basis | What this means |
|---|---|---|
| Storing your book library locally | Legitimate interests | This is the core purpose of the app |
| Crash reporting | Legitimate interests | Fixing crashes benefits all users. Reports are stripped to the error code before they are sent, but may still be linked to you indirectly, so we treat them as pseudonymous rather than anonymous. You can object at any time by turning them off in Settings |
| Account creation and cloud sync | Consent + contract | You explicitly agree when upgrading to Premium |
| Installation identifier for cloud deletions | Contract | Needed to make cloud sync work correctly: without it, a book you delete on one device can be restored by another |
| Beta-testing email | Consent | You ask us to contact you about beta testing by signing up; you can unsubscribe at any time |
| Waitlist abuse prevention | Legitimate interests | Protecting the form and mailing list from automated or excessive sign-up attempts |
| Usage analytics | Consent | Asked before enabling; off by default |
| Personalised advertising | Consent | Via Google's consent framework; you can decline |
Google / Firebase — Firebase Authentication, Cloud Firestore, Crashlytics and Analytics. Cloud Firestore keeps your cloud copy in UK/EU data centres (see section 05). Firebase Authentication is a global Google service, so your email address and the scrambled form of your password may be processed outside the UK/EU under Google's standard safeguards (international data transfer agreements). Transfers to the US are made under Standard Contractual Clauses. Firebase privacy policy
Google AdMob — free-tier users may see native ads in Foxed. Premium users see no ads. In the UK and EEA, Google's consent form asks for your choices before any ad is requested. Personalised ads require your consent. If you decline, Google may show non-personalised or limited ads, or no ad at all. On iOS, Apple's tracking prompt asks separately whether ads may use your device's advertising identifier. Your books, ratings and reading history are never sent to AdMob. Google privacy policy
Cloudflare — hosts getfoxed.app, provides the Turnstile human-verification service, and stores the temporary, one-way-hashed IP rate-limit record used to protect the waitlist form. Cloudflare privacy policy
Mailjet — processes the email address and test-platform preference you give us through the getfoxed.app waitlist form, so we can send the messages and relevant beta-testing invitation you asked for. Mailjet privacy policy
Google Books API and Open Library API — when you search for a book, the search term goes to these APIs. No personal data is sent, just the query.
RevenueCat — manages Premium subscriptions. It receives your Foxed account ID, store transaction and receipt details, device and platform information, storefront, and app version to verify subscription status. It never receives your book data. If you turn on Share app usage data, RevenueCat also receives your device's Firebase Analytics ID so it can send subscription events to Firebase Analytics; turning it off removes it. RevenueCat privacy policy
Apple App Store and Google Play — all payments are processed by Apple or Google. We never see your card details.
We do not sell your data to anyone. No data brokers, no marketing companies. The services above receive only what they technically need to function.
Free users. Your entire library, reading sessions and app data live exclusively on your device in a local SQLite database. They never leave it. Delete the app and the data goes with it.
Premium users. When you enable cloud sync, a copy of your library, earned badges, display name and reading-goal setting is stored in Google Cloud Firestore in UK/EU data centres. Your email address and a one-way, scrambled form of your password are held by Google's Firebase Authentication, which may process them outside the UK/EU under Google's standard safeguards (international data transfer agreements). Firebase security rules mean only your authenticated account can read it — no other user, and not us.
Backups. To protect Premium readers against data loss, we keep backups of the cloud copy of your library and of sign-in accounts (your email address and a one-way, scrambled form of your password, never the password itself). Sign-in account backups are encrypted. Both kinds of backup are stored in UK/EU data centres. Cloud library backups are kept for up to 8 weeks and sign-in account backups for 35 days, and both are then deleted automatically. Backups are never restored into the live service except to recover from a serious failure, such as data loss, and are not used for anything else. Free users' data is never backed up by us, because it never leaves your device.
| Data | Retention period |
|---|---|
| Local device data | Until you delete the app or clear it in Settings |
| Account and cloud data | Until you delete your account. Deleted from the live service within 7 days |
| RevenueCat subscription record | Usually deleted within minutes after account deletion. An active Apple or Google subscription can recreate it; a weekly check deletes a recreated record within 30 days |
| Backups of cloud data | Up to 8 weeks, then deleted automatically |
| Backups of sign-in accounts (email address and scrambled password) | 35 days, then deleted automatically |
| Installation identifier | Stored inside your cloud records, so it goes when you delete your account |
| Crash reports | 90 days (Crashlytics default) |
| Analytics data | 14 months (Firebase default) — consent required |
| Waitlist email address and test-platform preference | Until you unsubscribe or we stop operating the waitlist and marketing list; we review the list periodically and remove addresses that are no longer needed |
| Waitlist rate-limit record | One hour |
Under GDPR you have the following rights.
Access — ask for a copy of all personal data we hold about you.
Rectification — ask us to correct inaccurate data.
Erasure — delete your data yourself in the app: Profile → Settings → Delete Account. Your account and cloud data are deleted from the live service within 7 days, as required by Apple and Google. Copies in our backups are deleted automatically within 8 weeks, and until then they are only used to recover from a serious failure.
Portability — export all your book data as a CSV file (Premium: Settings → Export Data).
Objection — object to processing based on legitimate interests. For crash reporting you can do this directly in the app: Settings → Privacy → Send crash reports. For anything else, contact us and we will assess the request.
Restriction — ask us to limit how we use your data while a dispute is resolved.
Withdraw consent — unsubscribe from waitlist emails using the link in every email, or withdraw consent for analytics, personalised ads and cloud sync in Settings (for app usage analytics: Settings → Privacy → Share app usage data; for ads in the UK and EEA: Settings → Privacy → Ad privacy choices; for tracking on iOS: the device's Settings → Privacy & Security → Tracking). This doesn't affect the lawfulness of processing before withdrawal.
We respond to all rights requests within one calendar month, as GDPR requires.
Foxed is intended for users aged 18 and over. Book search results (powered by the Google Books and Open Library APIs) are not filtered for mature content, so we cannot guarantee the catalogue is appropriate for younger readers. We do not knowingly collect personal data from anyone under 18. If you believe someone under 18 has used Foxed and provided personal information, contact us and we will delete it promptly.
The app. No cookies. Your library is stored with SQLite and MMKV, both entirely on your device. For free users, Google's Mobile Ads SDK also stores your ad consent choices and ad-related data on your device, and may read your device's advertising identifier where you allow it.
getfoxed.app. No tracking cookies and no third-party analytics scripts. The waitlist form sends your email address and selected test platform to Mailjet. To protect that form, we use Cloudflare Turnstile and temporarily store a one-way hash of your IP address for one hour; we do not store the IP address itself. The relevant providers are listed in section 4 above.
We may update this policy as the app gains features or the law changes. Material changes are announced by in-app notification and the "last updated" date above changes with them. We will not reduce your rights without your explicit consent.
Contact address: Rebecca Brown, Level One, Basecamp Liverpool, 49 Jamaica Street, Liverpool, L1 0AH
privacy@getfoxed.app
getfoxed.app
Information Commissioner's Office
ico.org.uk · 0303 123 1113
Wycliffe House, Water Lane, Wilmslow, Cheshire, SK9 5AF
If you are based in the EU, you may instead contact the data protection authority in your country of residence.