CMDV Reader

CMDV Reader privacy policy

Last updated 11 October 2026.

CMDV Reader collects nothing about you.

This is not a statement about how carefully we handle your data. There is no data. The app has no account system, no analytics, no crash reporting, no advertising, and no tracking of any kind. No information about you or your reading is transmitted to us, because there is no "us" to transmit it to. No server belonging to this app exists.

What stays on your device

Your library, your reading positions, your highlights and notes, your reading statistics, your settings, and the search index built from your books. All of it is stored on your device, in this app's own storage, and is included in your own iPhone or iPad backups if you make them.

Usernames and passwords for your servers are stored in the device keychain. They are never included in exports, and they are never included in sync.

What leaves your device, and only where you send it

The app makes network requests to exactly two kinds of destination, both of which you configure:

  1. Your library server, to list books, download them, and fetch covers.
  2. Your sync server, if you set one up, to exchange reading positions, highlights, sessions, and settings between your own devices. Everything sent to it is encrypted on your device under a key derived from a passphrase only you hold, so the server cannot read what it stores. Book files are never synced.

Both are servers you choose and, in the expected case, run yourself. This app's authors operate neither and can see neither. If you configure no servers, the app makes no network requests at all.

One detail about sync worth stating plainly: the contents of what is synced are encrypted and unreadable to the server, but the server does see which of your devices is talking to it. Each device sends its own identifier and the name you gave it, along with the timing and size of each sync, so that the server can keep devices apart and let you revoke one. That is visible only to whoever runs your sync server, which is expected to be you.

Permissions

The app asks for camera access only when you pair a second device for sync, to scan the pairing code shown on your other device. Nothing is photographed, recorded, or sent anywhere, and the camera is not used for anything else.

It asks for local network access so it can reach a book server running on your home network, such as Calibre-Web, Komga, or Kavita. It does not scan or catalogue your network.

Diagnostics

The app can produce a diagnostic report to help with a problem. It is assembled on your device and shown to you first. It goes nowhere unless you choose to send it, and passwords, tokens, and other credentials are removed from it before you see it.

Reading aloud

Text-to-speech uses the voices installed on your device and runs entirely on the device. Nothing being read is sent anywhere.

Children

The app collects no personal information from anyone, including children.

Third parties

There are no third-party SDKs for analytics, advertising, or attribution. The open-source components the app is built from are Readium for EPUB and comic rendering, SwiftSoup and Fuzi for parsing, SQLite.swift for the search index, Zip and ZIPFoundation for archives, CryptoSwift, DifferenceKit, and GCDWebServer, which serves book content to the reader locally on the device. None of them communicates with anyone on their own behalf.

Changes

If this policy ever changes, the updated version will be posted here with a new date. Since the app collects nothing, any change would be to describe the app more accurately rather than to widen what is collected.

Contact

support@cmdv.dev