ReadAware

Privacy Policy

Last updated: September 20, 2026

ReadAware is a local-first reading app. Books and reading data are stored on your device. Optional sync is end-to-end encrypted. Optional AI sends relevant text to a model provider, directly with your own key or through our relay with built-in AI. The app has no ads or analytics; website measurement is described separately below.

This policy covers the ReadAware apps and the readaware.app website ("we" is the ReadAware developer). For any question or request, write to hi@ahpx.me.

On your device

Everything the app works with — imported books, highlights, notes, reading progress and statistics, preferences, and the app's internal event log — is stored locally on your device. None of it is uploaded unless you enable one of the optional features below. Diagnostic logs are plain local files: they record technical events, never the text of what you read, and they leave your device only if you explicitly send a diagnostic report.

Sync — optional

If you connect a sync account:

  • Account data. Your email address identifies the account and receives sign-in links (delivered through our email provider, Resend). Alongside it we keep technical account records: plan tier, storage used, and session data.
  • Your content is end-to-end encrypted. The synced event log and your book files are encrypted on your device, with a key derived from a passphrase only you know, before anything is uploaded. Our server stores ciphertext: we cannot read your books, highlights, or notes. If the passphrase is lost, we cannot recover the data — that is the point.
  • Operating the service, the server necessarily processes standard connection metadata — IP address, timestamps, object sizes — for delivery, quotas, and abuse prevention. The sync relay runs on Cloudflare infrastructure.
  • Prefer your own storage? A transport plugin (for example WebDAV) syncs the same encrypted envelopes to a server you control, and our relay is never involved.

Payments — optional

Paid plans are processed by Stripe under Stripe's own privacy policy. We never see your card details; we receive the email you paid with, the plan, and the subscription status.

AI — optional

AI features run after you configure them. With your own API key, relevant selections, passages, questions, and context go directly to your selected provider under its terms. Your key is encrypted on your device. Built-in AI instead forwards these requests through our relay to the upstream model provider over TLS. The relay processes plaintext to forward requests and meter usage, but does not persist request or response content. The model provider processes the text under its own terms. Sync encryption does not make AI requests end-to-end encrypted to you alone.

Web search and images — optional

If you enable web search, queries and requested page URLs are sent to the search provider you select, using your own provider key. Search and page reading use that same provider where supported. These requests are separate from encrypted sync and are processed under the search provider's terms.

Displaying an image preview can download a public image into the app's local cache; the image host receives the network request and associated connection metadata. When image content is included in an AI request, it is sent to your selected model provider. Image input depends on the model's capabilities.

Local API — optional

The local API is disabled by default. When enabled, it listens only on this computer and requires a separate access token. It lets an authorized assistant read library metadata, book text, annotations, reading records, and scoped memory while ReadAware is running. It does not provide write operations or expose settings, model keys, or raw files.

You choose which assistant receives the connection token. That assistant may send retrieved data to its own provider; review its configuration and terms before connecting it. Resetting the token invalidates previous tokens, and disabling the API stops local access. These actions cannot recall data another assistant has already received.

Diagnostic reports — optional

If something breaks, you can send us a diagnostic report from the app. It contains the app's technical logs (no reading content) and is stored with the app version, platform, and a hashed IP address, used solely to debug the problem.

Deleting your data

  • Local data is yours to delete with the app.
  • Settings → Data & Sync → Delete account permanently removes your account, the synced event log, and every uploaded file from our server, and cancels any active subscription.
  • For any data request beyond that, email hi@ahpx.me.

The website

readaware.app is served by Cloudflare Workers and Static Assets. We use cookie-free Cloudflare Web Analytics for aggregate traffic and performance, and a first-party endpoint backed by Cloudflare Analytics Engine for landing entries and download clicks. The latter records only a coarse source category (such as Google, Bing, ChatGPT, GitHub, or direct), public landing/current page paths, and the selected release asset, platform and advertised release version. It does not record IP addresses, identifiers, raw referrers, query strings, fragments, email addresses, or reading content. Session storage keeps the source category, landing page and expiry for a 30-minute attribution window, without a visitor ID. Both measurements respect Do Not Track and Global Privacy Control; sign-in pages are excluded. Click counts are not installations or unique people. Cloudflare still processes connection metadata to deliver and protect the site.

Children

ReadAware is not directed at children under 13, and we do not knowingly collect personal data from them.

Changes

When this policy changes, we will update this page and the date above; meaningful changes are also called out in the release notes.