Privacy
Privacy Policy
Last updated: October 12, 2026
Leaf & Spine was built on a simple idea: your reading life belongs to you. No account is required, and no personal information is collected. This page describes the little we do handle, and why.
Information We Collect
- Anonymous user IDs (Firebase Authentication)
- Purchase history (stored locally and in Firebase)
- Device identifiers for push notifications (Expo Push Token)
- Crash reports, if you leave them enabled (stack traces, device model, OS version, app version)
How We Use Information
- To provide in-app purchase functionality
- To prevent fraud and validate purchases
Data Storage
- Purchase data is stored securely in Firebase
- User IDs are anonymized
- We do not collect your name, email address, or the contents of your library. Books, highlights, notes and reading progress stay on your device, unless you choose to sync your reading progress with your own servers or KOReader, as described below.
Push Notifications
- We may send push notifications to remind you to use the app
- We collect a device identifier (push token) to deliver these notifications
- You can disable notifications in your device settings at any time
- Push tokens are sent to Expo Push Service for delivery only
Crash Reports
When the app closes unexpectedly, it can send a report so the fault can be found and fixed. This is on by default and can be turned off at any time in Settings › Privacy › Send crash reports.
A crash report contains:
- The technical stack trace of the failure
- Your device model, manufacturer, operating system version, and app version
- Device characteristics such as screen size, available memory and storage, battery level, timezone and language
- The list of Android permissions the app has been granted
- A randomly generated identifier for your installation of the app, so repeat reports can be recognised as coming from one device. It resets if you reinstall and is not linked to you, your device's hardware, or any account
- Which screen you were on, and the type of book open (PDF, EPUB, or audiobook)
- Country and region derived by our crash reporting provider. Your IP address is not stored
A crash report never contains:
- The titles, authors, contents, or file names of your books
- Your highlights, notes, drawings, or reading progress
- Your name, email address, or account details
Crash reports are processed by Sentry (Functional Software, Inc., United States) and are not used for advertising or analytics.
Your library
Your books, highlights, notes, drawings and reading progress are stored on your device and are never sent to us. If you choose to back up, they are copied to your own Google Drive account, as described below. If you look up a book's details, its title and author are sent to Open Library, as described under Looking Up Book Details.
Google Drive Backup
Backup and restore is optional. Nothing is sent to Google Drive unless you start a backup or restore yourself.
When you sign in with Google:
- Google shares your name, email address and profile picture with the app to complete sign-in. These stay on your device and are not sent to us
- The app asks only for access to files it creates in your Drive. It cannot see, open or change any other file in your Google Drive
What a backup contains:
- A backup file (leaf_and_spine_backup.json) with your library details, highlights, notes, drawings, reading progress, shelves and reading settings, plus your device's platform and model so you can tell backups apart
- If you choose to include them, copies of your book files, kept in a folder named "Leaf & Spine Books"
How it is handled:
- Backups go directly from your device to your Google Drive. They never pass through or are stored on our servers, and we cannot read them
- Your Google data is used only to back up and restore your library. It is never sold, shared, used for advertising, or used to train AI models
- You can delete your backup at any time by removing those files from your Google Drive
- You can remove the app's access to your Google account at any time at myaccount.google.com/permissions
Leaf & Spine's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
iCloud Backup
On iPhone and iPad you can back up to iCloud Drive instead of Google Drive. It is optional, and nothing is saved there unless you start a backup yourself.
- The backup uses the Apple ID already signed in on your device. The app does not see your Apple ID, name or email address
- A backup contains the same things as a Google Drive backup: the leaf_and_spine_backup.json file, and copies of your book files if you choose to include them
- Files are saved in a "Leaf & Spine" folder in your iCloud Drive, which you can see and delete in the Files app
- Apple syncs the files between your devices. They never pass through or are stored on our servers, and we cannot read them. Apple's handling of iCloud data is covered by Apple's privacy policy
Looking Up Book Details
You can ask the app to find a book's title, author and cover in Open Library. Nothing is looked up unless you tap Look up details.
- Only the words in the search box are sent, usually the book's title and author as they appear in your library
- If you apply a cover, the image is downloaded from Open Library to your device
- Open Library, run by the Internet Archive, receives these requests as it would from a web browser, including your IP address. Its handling of them is covered by the Internet Archive's terms of use and privacy policy
- Nothing about the search is sent to us
Your Own Servers
With Premium you can connect the app to a server you run or use: an OPDS catalogue (such as Calibre, Komga or Kavita), a WebDAV folder, or Audiobookshelf. Nothing is sent to a server unless you add it.
- The app talks to the server directly from your device. Nothing passes through us
- The server's address and your user name are stored on your device. Your password is kept in your device's secure keystore and is sent only to that server
- Books you download come straight from the server to your device
- If you sync your reading progress with a server, your place in books downloaded from it, and when that place changed, is sent to that server, and a newer place there is brought back to your device
KOReader Sync
If you sign in to KOReader sync, your place in your books is kept in step with KOReader on your other devices. Nothing is sent unless you sign in.
What is sent to the sync server you choose:
- Your KOReader user name, and an MD5 hash of your password (as KOReader itself sends)
- A randomly generated identifier for this installation of the app, and the app's name as the device
- For each EPUB, PDF or comic you read: your place in it (a page, or a chapter and a percentage) and a fingerprint calculated from the book's file
How it is handled:
- The fingerprint identifies the file, not the book. The book's title, author and contents are not sent
- The server filled in for you is KOReader's own (sync.koreader.rocks), run by the KOReader project, not by us. Its operator's privacy practices apply to what it receives. You can use your own server instead
- Nothing about it passes through or is sent to us
- Signing out stops it. Places already sent stay on that server
Free Book Catalogues
When you browse or search in Discover, your search is sent to the catalogue you are browsing. Books you download come straight from those catalogues to your device.
Third-Party Services
- Firebase (Google)
- Google Sign-In and Google Drive (only if you use backup)
- Apple iCloud Drive (only if you back up to iCloud)
- Google Play In-App Billing
- Apple App Store In-App Purchase
- Sentry
- Open Library and the Internet Archive (book details, covers and free books)
- Project Gutenberg (via Gutendex), Standard Ebooks and LibriVox (free books and audiobooks)
- Servers you connect yourself, and KOReader's sync server (only if you use them)
Contact
Email: expera.forge@gmail.com
Your library stays yours.