ottershelf

Ottershelf privacy policy

Effective date: 2026-09-28

This policy describes how the Ottershelf Android app (package io.github.ottershelf) handles information. Ottershelf is an open-source reading app for self-hosted BookOrbit servers, published by the Ottershelf project. Its source code is available at https://github.com/redmundmcmund/ottershelf, so every statement below can be checked against it.

Summary

Your BookOrbit server

Ottershelf is a client for a BookOrbit server that you or someone else operates. Everything your library and reading history consist of lives on that server, and the app exchanges it with that server only. The server’s operator, not the Ottershelf project, controls that data and decides how it is stored, logged, retained and deleted, under that operator’s own privacy practices. Like any web server, the server may record connection details such as your IP address, the time of each request and the app’s user agent.

Information the app handles

Sign-in

Sent to your server

The app sends your server what it needs to work, as a result of what you do in the app:

Your server may in turn contact metadata or cover providers that its operator has configured (for example when you search for a book request or a cover). The app does not contact those providers; cover previews are loaded through your server.

Received from your server

Book details, covers and book files, your library’s lists, statistics, achievements and the other information the server provides for your account are downloaded to display them and, when you choose Download, to keep books on the phone for offline reading.

Look up: Wiktionary and Wikipedia

When you select text in a book and tap Look up, the app sends the selected word or phrase (at most twelve words; longer selections are not sent) to Wiktionary (en.wiktionary.org) and Wikipedia (in the book’s language or English), which are operated by the Wikimedia Foundation. It may also load a thumbnail image from Wikimedia’s servers. These requests:

Wikimedia’s handling of these requests is described in the Wikimedia Foundation privacy policy. The book’s language, used to choose the Wikipedia edition, is read from your own server.

Other apps you choose

The app hands information to another app only when you ask it to: sharing a highlight, a quote card image or exported highlights through Android’s share sheet; sending selected text to a dictionary or translation app installed on your phone; or opening a link in your browser. What those apps do with it is governed by their own policies.

Camera and photos

The camera is used only after you grant the permission, and only for:

Instead of the camera you can pick an existing image with Android’s Photo Picker, which gives the app access only to the image you pick.

Information kept on your phone

The app stores on the phone, in its private storage unless noted:

The app’s data is excluded from Android backups and device-to-device transfers, so it does not leave the phone through them.

Permissions

Permission Why the app requests it
INTERNET To connect to your BookOrbit server and, on Look up, to Wiktionary and Wikipedia.
ACCESS_NETWORK_STATE To notice when the connection returns and send progress saved offline.
CAMERA ISBN scanning, page photos for quotes and cover photos; requested only when you start one of these. The camera is optional.
POST_NOTIFICATIONS Download progress (with Cancel) and results, and the reading timer’s notification and countdown alert; requested when first needed.
FOREGROUND_SERVICE, FOREGROUND_SERVICE_DATA_SYNC To keep a book download you started running while the app is in the background.
RECEIVE_BOOT_COMPLETED To restore a running reading timer’s notification and countdown alarm after the phone restarts or the app is updated.
WAKE_LOCK Added by Android’s WorkManager library, to keep background work such as downloads and sync from being interrupted while it runs.

The app also declares a permission restricted to itself (io.github.ottershelf.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION, added by AndroidX), which other apps cannot use. It does not request location, contacts, microphone, storage, phone, calendar or account permissions.

Third-party services and SDKs

Ottershelf contains no analytics, advertising, attribution, crash-reporting or telemetry SDKs, and no Google Play services or Firebase libraries. Barcode scanning (zxing-cpp) and text recognition (Tesseract, with its English model bundled in the app) run entirely on the phone. The ebook reader’s WebView is set to opt out of sending usage metrics. The only third-party service the app contacts is Wikimedia, as described above.

Children

Ottershelf is not directed at children and does not knowingly collect information from anyone. It shows only content from the BookOrbit server you sign in to; which content that server holds is up to its operator.

Security

No system is perfectly secure. You can report a vulnerability as described in SECURITY.md.

Deleting your information

The app does not create accounts; accounts are created on the BookOrbit server.

Changes to this policy

Changes are published in this file in the project’s repository, with a new effective date, and its history is visible there. A change that affects what the app sends or to whom is also noted in the release notes of the version that introduces it.

Contact

Questions about this policy can be asked by opening an issue at https://github.com/redmundmcmund/ottershelf/issues. Please report security problems privately as described in SECURITY.md rather than in a public issue.