Privacy Policy
Last updated: October 6, 2026
Resage is a reading app with an AI reading companion. It is built to keep your reading private by architecture, not just by promise. This policy explains what we do and don't collect, and the choices you have.
The short version. On Mac, iPhone, and iPad, newly imported books are uploaded for cloud preparation after you agree to AI data processing. There is no separate cloud-processing switch or local Digest option. Temporary uploaded originals are deleted when processing finishes, or within seven days if it cannot complete. Without AI consent, you can read with lightweight local parsing and no cloud-preparation upload. Existing books are not reprocessed automatically. Account cloud sync is separate and has its own controls. Completed reading bundles may include the original for reading. When you ask an AI question, relevant passages are sent to the provider; your content is never used for model training.
Who we are
Resage ("Resage", "we", "us") is the developer of the Resage reading application for macOS. You can reach us any time at privacy@resage.app.
Where your files are stored
Imported files are available locally for reading. On Mac, iPhone, and iPad, newly imported books are uploaded for cloud preparation after you agree to AI data processing. There is no separate cloud-processing switch or local Digest option. Temporary uploaded originals are deleted when processing finishes, or within seven days if it cannot complete. Without AI consent, you can read with lightweight local parsing and no cloud-preparation upload. Existing books are not reprocessed automatically. Completed reading bundles may include the original for reading and are retained until you delete the book or account. Account cloud sync is separate: when available, it defaults on for accounts without a saved choice, and you can turn it off in Settings. Existing sync choices are preserved. We never make your files available to another user.
Cloud processing
On Mac, iPhone, and iPad, newly imported books are uploaded for cloud preparation after you agree to AI data processing. There is no separate cloud-processing switch or local Digest option. Temporary uploaded originals are deleted when processing finishes, or within seven days if it cannot complete. Without AI consent, you can read with lightweight local parsing and no cloud-preparation upload. Existing books are not reprocessed automatically.
After you agree to AI data processing: the file is uploaded to our storage over an encrypted connection; it is processed only for you and is never shared with, or compared against, any other user's files; the prepared result is stored for you to download to your devices; and the temporary upload is deleted after processing, or within seven days if processing cannot complete. The completed reading bundle can include the original for reading. We never use uploaded files to train AI models. You can delete a processed book, and everything derived from it, at any time from the app; deleting your account deletes all of it.
If you believe a file uploaded by someone else infringes your copyright, see our copyright policy — uploads are visible only to the account that made them, and we remove infringing material on notice.
Optional account cloud sync
When account cloud sync is available, it is enabled by default for accounts without a saved choice, and Resage stores your originals, prepared text and search indexes, reading progress, bookmarks, collections, and discussion history in your account cloud space. Reading memory (see "Your reading memory" below) is stored with your account and follows the same book lifecycle. This is separate from permission to use AI processing. Transfers use encryption in transit; this service does not offer end-to-end encryption, and Resage can access files for processing. Files are private to your account. Deleting a book hides its files and book-specific learning records from normal views and offers seven days of recovery together. During this period, retained files still use cloud space; permanent deletion queues removal from primary storage and independent backups. Deletion records are replayed after any backup restore. After Plus expires, excess cloud files are kept for 90 days with a visible cleanup list and download or export access; afterward only the selected free-space subset remains in the cloud. Removing a download releases local book files only after a complete cloud copy is verified, keeping reading and learning records. Permanent book deletion or expiration removes the book and its associated records; account preferences, your account-level reading-memory notes, and usage accounting are separate. Your offline device copies are retained when excess cloud files expire. Pausing sync stops automatic uploads.
The AI reading companion
When you ask the AI companion a question, Resage sends only the small amount of text needed to answer it — typically the passage on the page you are reading, or a few relevant passages found by searching the prepared text of your book — to our AI inference provider. This data is:
- Transient. The inference request is used to generate the answer and is not used for training. Local discussion history stays on your device; if you enable account cloud sync, the discussion records are also stored privately in your account.
- Never used for training. Your file content, notes, and questions are never used to train any AI model.
AI discussions are currently processed by OpenAI through its paid API (since October 2, 2026; previously Google Gemini). To answer a question, we send your question, the relevant book passages, and relevant earlier conversations and notes from your reading memory to OpenAI for that request. We do not send your entire book for a discussion. OpenAI's paid embedding API also turns your questions and conversation text into numeric vectors, so Resage can find relevant earlier conversations. In the background, a Google Gemini model through its paid API summarizes long conversations to keep your reading-memory notes up to date. We ask OpenAI not to store these requests; like any API customer's traffic, they may be kept in OpenAI's abuse-monitoring logs for up to 30 days. Search over books that were prepared with our earlier cloud index still sends your question text to Google's paid embedding API to find matching passages. We will update this policy before changing the AI provider used for your data. API-submitted data is not used to train models.
When web search is used, a short query derived from your question is sent to the search provider. The bounded search path uses Brave Search and does not upload your book to that provider. Before registering, you are asked separately to permit this AI data sharing. You can withdraw that permission in Settings → AI Data Sharing. Withdrawal stops new AI discussions and new cloud processing uploads. Queued processing and background memory updates recheck permission before sending data to an AI provider and before saving their results. A request already sent to a provider cannot be recalled; withdrawal prevents subsequent AI calls and result-saving at the next check. Withdrawal does not delete your account, local books, or existing reading memory, and does not withdraw your separate account cloud-sync permission. You can enable AI sharing again in Settings. Older clients without a recorded agreement must update and explicitly agree before using AI features.
Third-party AI access (connectors)
You can choose to connect an AI assistant you use, such as Claude, ChatGPT, Codex or Cursor, to your Resage account. Nothing is connected unless you sign in on resage.app and choose Allow, and you can pick which permissions to grant. A connected assistant can read the files you have read through in Resage (passages of text and their page numbers), see your reading progress, and, only if you allow it, read the notes Resage keeps about you or save its conversations about your files back into Resage. Your existing permission to share data with AI is required, and withdrawing it stops every connected assistant at once.
The assistant is chosen by you. What Resage returns to it is processed by that assistant and its provider under their own terms and privacy policy, which we do not control. Resage does not use your question limits for these conversations, because the assistant answers with its own model. You can disconnect any assistant at any time on your account page. Disconnecting stops access immediately; conversations already saved in Resage stay until you delete them like any other discussion, by clearing the discussion, deleting the file, or deleting your account.
Your reading memory
To become more useful over time, Resage remembers what you have read and talked about, across books and conversations: the topics you return to, where explanations helped, and the way you like things explained.
This is stored on our servers, tied to your account, so it carries across your devices. It includes the text of your discussions with the AI companion (your questions and the answers), the passages from your books that those discussions quote, and short notes the AI keeps about you. Because it includes quoted passages, treat it like the content of your conversations.
How long we keep it: until you clear it, delete the book it came from, or delete your account.
You are always in control. In Settings → Memory you can turn "Remember My Reading" off, which stops new content being saved, or clear all reading memory at once. Deleting a book also removes the discussions and notes tied to it, and deleting your account removes everything.
Account
Resage requires an account before use. Before registering, you must explicitly accept the Terms of Use and this Privacy Policy and separately permit the AI data sharing described above. There are two ways to sign in:
- Sign in with Apple. We receive only Apple's stable identifier for you. If you use Apple's private-relay email option, we never receive your real email address.
- Email verification code. You enter your email address, we email you a six-digit code, and you enter it to sign in. There is no password to create or recover. The code itself is stored only as a one-way hash, never in readable form, and it expires shortly after being sent. We use a transactional email provider to deliver it.
Email address collection. When you create an account or sign in with email, we collect and store your email address (or Apple private-relay email). We use it solely for account authentication, delivering verification codes, and restoring your subscription and usage entitlements across devices. We never use your account email for marketing or advertising, and never sell or share it.
Nickname, source and role. When you create an account we ask for a nickname, how you heard about Resage and which role describes you best. We use them to improve the product and to decide where to promote it. The nickname is required and is shown on your account page. The other two are optional and you can skip them. You can change your nickname in Settings.
You can also link an email address to an account you created with Apple (Settings → Account), for the same recovery reason. Whichever way you sign in, we use your account only to associate your subscription status and to sync your settings and memory across your own devices.
You can delete your account and its associated server-side data — including your stored email address — at any time from within the app (Settings → Account → Delete Account).
Subscriptions and payments
We never receive or store your payment card details. Who processes the payment depends on which version of Resage you use:
- Mac App Store version. Billing is handled by Apple, under Apple's privacy policy. We receive only the subscription status needed to unlock features.
- Direct download (.dmg). Billing is handled by Paddle, our merchant of record. Paddle collects and processes your payment details under its own privacy policy. We receive the subscription status and a Paddle customer identifier, which we store for one purpose: restoring your subscription if you lose access to your account.
Either way, Resage Plus is purchased inside the app — there is no checkout on this website.
Diagnostics and analytics
To improve Resage and monitor performance and crashes, we collect diagnostic events: basic device attributes and a short, fixed list of in-app actions — opening the app, importing a file, opening the reader, starting a discussion, hitting a usage limit. Once you are signed in, these are recorded against your account, so that we can tell where people get stuck rather than only how often something happened in aggregate. Before you sign in there is no account to record them against, so a small, fixed set of events — opening the app, seeing the sign-in screen, requesting a sign-in code, and completing sign-in — is recorded against a random device identifier that Resage generates and stores on your own device. It is not derived from your hardware, it is not shared with anyone, and we use it for one purpose: to tell how many people open Resage but never get through the sign-in screen. If you later create an account on that device, we link the two so that we can measure that step; if you never do, the identifier stays unconnected to any person. They carry no content: we deliberately do not collect the names of your files, their contents, or the text of your questions, and the only detail attached to an event is a technical one such as a file format or an error code. Usage telemetry events are sent only to our own servers. Crash, hang, and performance diagnostic data from the app, as well as server-side error diagnostics, are processed by third-party Sentry (EU region) to help us resolve app instability, slowness, and API failures. These diagnostics carry no file content, discussion queries, request bodies, or authorization tokens. If you send feedback from the app, your message, the email address you optionally enter, and a screenshot only if you choose to attach one are also processed by Sentry; a screenshot of the reader can show text from the book you are reading. None of this is used for advertising or shared with data brokers. You can disable the in-app diagnostics completely at any time via Settings → Help improve Resage. Server-side error reports are needed to keep the service working, so they are not affected by that setting; they identify your account only by a one-way hash.
This website and email updates
This policy also covers our website at resage.app. The site uses no advertising and no third-party tracking cookies. We do count visits using our own self-hosted, cookieless analytics — page views, referring pages, and coarse technical details such as browser and country — to understand which pages people find useful and how they reached us. It sets no cookies, does not follow you across other sites, and the data stays on our own server. If you would rather not be counted at all, you can turn it off for your browser — that stores one flag on your device, and nothing further is sent to us.
If you sign up for email updates, we store your email address together with the time you signed up, the page you signed up from, the referring page, any campaign parameters present in the link you followed, and basic technical details about your browser — user agent, IP address, language, time zone and screen size. We use this only to send you product updates and to understand which channels people find us through. We never build an advertising profile from it, and we never sell or share it. Every email includes an unsubscribe link, and you can ask us to delete your address at any time by emailing privacy@resage.app.
Data retention
File content sent for AI processing is not retained after the answer is generated. Temporary uploads for cloud processing are removed after processing, or within seven days if processing cannot complete. Completed reading bundles may include the original and are kept until you delete the book or your account. Account cloud sync retention is described above. Server-side discussion logs, including your question and any stored answer, expire after 90 days and are removed by the daily retention cleanup. Private-book answers are not stored in these logs. Separately, your reading memory (your discussion messages, the book passages they quote, and the AI notes about you) is kept on our servers until you clear it, delete the book, or delete your account, as described in "Your reading memory". Local discussion history and separately synced account discussion history follow the account and book controls described above. Account and subscription records — including an email address you signed in or linked with — are kept for as long as your account exists and are removed when you delete your account. Sign-in codes are held only as a one-way hash and are invalidated once used or expired. Diagnostic events recorded against an account are retained only as long as needed to analyze and improve the app, and are deleted with your account. Events recorded before sign-in are kept for at most 12 months and then deleted. Email sign-up records are kept until you unsubscribe or ask us to delete them.
Sharing
We do not sell your personal information. We share data only with the service providers needed to operate the app — our AI inference providers (OpenAI for answers and for turning conversation text into vectors, Google for summarizing long conversations into reading-memory notes), which also prepare newly imported books after AI consent, our object storage provider Cloudflare R2 (for holding an uploaded file and its prepared result), Apple (for authentication and App Store billing), Paddle (for billing in the direct-download version), and our transactional email provider (for delivering your sign-in code) — and only to the extent described above. We may disclose information if required by law.
Children
Resage is not directed to children under 13, and we do not knowingly collect personal information from them.
International
Our servers are located in the United States, and we operate them from Shanghai, China. Our AI inference provider processes the passages you ask about on its own infrastructure. So personal data covered by this policy may be processed outside your country of residence. Regardless of location, we apply the practices described in this policy.
If you are in the EU, EEA, or the UK
The data controller is Mingcan Lei, an individual developer based in Shanghai, China, reachable at privacy@resage.app. This section explains your rights under the GDPR and the UK GDPR, and the legal grounds we rely on.
Why we are allowed to process your data
- To give you the app you asked for — running your account, keeping your subscription unlocked, syncing your settings and reading memory across your own devices, and sending the passages you ask about for an answer. Legal basis: performance of a contract.
- Your reading memory. Keeping a private record of what you read and discuss, including the text of your discussions, is the product: it is what makes Resage more useful the longer you use it. We therefore treat it as part of our contract with you, and you can switch it off, clear it, or delete it with a book or your account at any time. We do not use it to make any decision that has a legal or similarly significant effect on you, and we do not use it for advertising.
- Keeping the service working and honest — enforcing usage allowances, preventing abuse and fraud, diagnosing crashes, and measuring how many people who open the app get as far as creating an account. Legal basis: legitimate interests. You can turn diagnostics off in Settings → Help improve Resage.
- Email updates from this website. Legal basis: your consent, which you can withdraw at any time via the unsubscribe link in any email.
- Tax and accounting records for purchases. Legal basis: legal obligation (held by our payment processors as merchant or merchant of record).
Your rights
You can ask us to give you a copy of your personal data, correct it, delete it, restrict or object to how we use it, or hand it to you in a portable form. Where we rely on consent, you can withdraw it at any time. Two of these you can exercise yourself, immediately, without asking us: Settings → Account → Delete Account erases your account and its server-side data, and the "Memory" page lets you turn memory off or clear it.
For anything else, email privacy@resage.app and we will respond within one month. Requests are free. If you are unhappy with how we handle it, you have the right to complain to the data protection authority in your country of residence (in the UK, the Information Commissioner's Office) — you do not have to come to us first.
Sending data outside the EEA
China, where we are based, and the United States, where our servers are, are not covered by a European Commission adequacy decision. Transfers to our service providers are made under the European Commission’s Standard Contractual Clauses where those providers offer them. With your AI data-processing consent, newly imported books are prepared in the cloud on Mac, iPhone, and iPad; temporary uploaded originals are deleted when processing finishes. Without consent, reading uses lightweight local parsing without cloud-preparation uploads. For AI answers, relevant passages, questions and reading memory are sent to providers (OpenAI, and Google for background summaries). Your content is never used for model training.
Cookies
We do not ask for cookie consent because we do not set any analytics or advertising cookies. Our visit counting is self-hosted and cookieless, and it does not follow you across other sites. The one thing we may store on your device is the opposite of tracking: if you opt out of being counted, we keep a flag in your browser so that we remember to stay out of your way.
Changes to this policy
We may update this policy as the app evolves. When we make material changes, we will update the date at the top of this page. Continued use of Resage after an update means you accept the revised policy.
Contact
Resage is an independent app made by Mingcan Lei, an individual developer based in Shanghai, China. Questions about privacy? Email privacy@resage.app.
See also: Terms of Use, Report a Copyright Issue