Readprint
Privacy Policy
A plain-language explanation of what leaves your device when Readprint reads your shelf.
Last updated September 2, 2026
The short version
Readprint does not require an account, run advertising, or build a permanent cloud library of your shelves. The app saves your latest successful portrait, its confirmed book list, and an authorization ID on your device so you can reopen it and request the included recommendation. Shelf photos and e-reader library screenshots are processed for recognition and are not added to Readprint’s content database or analysis workflow. To make a reading portrait reliable on slower networks, Cloudflare Workflow temporarily retains the confirmed book list, job state, and generated portrait for up to one day, then expires them automatically. A minimal purchase record that contains no shelf or portrait content is kept to prevent the same consumable purchase from creating multiple portraits.
Who operates Readprint
Readprint is operated by Zongjian Yuan, an independent developer (“Readprint,” “we,” or “us”). This policy applies to the Readprint iOS app and its supporting service.
Information processed
Shelf photos and e-reader library screenshots
Images you select are sent only after you choose them. They pass through Readprint’s Cloudflare Worker and OfoxAI to an upstream Google Gemini vision model so visible book titles and authors can be recognized. Readprint asks you to review and edit the result before analysis.
Books, reading requests, and personalized covers
Your confirmed book titles and authors are sent through Readprint’s service to OfoxAI, which routes the request to an upstream AI model to create your reading portrait and recommendations. When you create a personalized cover, a short brief derived from the generated reading portrait—not your input images or full book list—is sent through OfoxAI to an upstream Gemini or Qwen image model. Readprint then adds the final text and branding on your device. For a reading portrait, Cloudflare Workflow temporarily retains the confirmed book list, job state, and generated portrait for up to one day so the app can retry and retrieve the result. Recommendation and cover requests are not intentionally retained by Readprint after the synchronous request completes.
Purchase verification
When you request a paid portrait, the app sends the App Store-signed StoreKit transaction to Readprint’s service. The service verifies the signature, app, product, environment, and revocation status. Readprint does not intentionally store the raw signed transaction. It derives an authorization ID from Apple’s transaction identifier and retains that ID with a portrait-claimed flag and a small recommendation retry counter to deliver the purchase once and prevent reuse or abuse.
Technical information
Infrastructure and AI providers may process technical information needed to operate and protect their services, such as IP address, request time, model, token usage, latency, status, and error information. Readprint does not use third-party advertising SDKs or analytics SDKs in the iOS app.
How information is used
- To identify books visible in images you submit.
- To generate the reading portrait, recommendations, or personalized cover you request.
- To operate, secure, troubleshoot, and prevent abuse of the service.
Readprint does not sell your personal information and does not use input images or reading content for advertising.
Service providers
- Cloudflare Workers, Workflows, and Durable Objects receive app requests and forward them to the relevant AI provider. The analysis workflow retains the confirmed book list, job state, and generated portrait for up to one day. A Durable Object keeps the minimal purchase-fulfilment record described above. Cloudflare may also process network and security metadata under its privacy policy.
- Apple StoreKit processes purchases and signs the transaction information that Readprint verifies before creating a paid portrait. Apple handles payment information under its own privacy terms; Readprint does not receive your full payment-card details.
- OfoxAI routes shelf photos or e-reader library screenshots, confirmed book information, reading requests, and cover briefs to the AI model serving the request. Ofox states that its standard synchronous API does not persist prompt or response bodies, while operational metadata may be retained. See Security & Data and its privacy policy.
- Google receives shelf photos or e-reader library screenshots routed through OfoxAI for book recognition by the active Gemini vision model. Google may also receive portrait-derived cover briefs when the Gemini image route is used.
- Upstream AI model providers receive the content necessary to answer a request routed by OfoxAI. The active provider and its processing location can vary with the model route.
Storage and retention
On your device, the Readprint app saves the confirmed book list, generated portrait, authorization ID, and any personalized cover art from your latest successful request. This lets you reopen a portrait you purchased and share its cover or request its included recommendation. A new successful portrait replaces the previous local copy, and deleting the app removes this on-device copy.
The current Readprint service has no user account system, permanent shelf library, or permanent portrait database. Input images are not added to the analysis workflow or intentionally stored by Readprint. For portrait generation, Cloudflare Workflow retains the confirmed book list, job state, and generated portrait for up to one day, including failed jobs, then expires them automatically. Recommendation requests and responses are not intentionally retained by Readprint after the synchronous request completes. To prevent one consumable purchase from being used repeatedly, Readprint retains the derived authorization ID, a portrait-claimed flag, and a recommendation retry counter while the service operates. The raw signed transaction and Apple transaction identifier are not intentionally stored in that record. HTTP responses are marked not to be cached by Readprint’s service.
Service providers may retain limited operational, security, billing, or legally required records under their own policies. Upstream model providers may apply separate retention terms. Avoid submitting faces, private documents, addresses, or other sensitive information that is not needed to recognize your books.
International processing
Readprint is intended for an international audience. Cloudflare, OfoxAI, Google, and another upstream model provider used for a requested portrait, recommendation, or cover may process information in different countries or regions. OfoxAI states that international model requests may be routed through Hong Kong and Singapore before reaching the upstream provider.
Your choices
- You choose which images to submit and can stop before submitting them.
- You can remove or correct recognized books before requesting analysis.
- You can avoid entering personal or sensitive information in a recommendation request.
- You can remove the saved on-device portrait by deleting the app.
- You can stop further processing by discontinuing use of the app.
Because Readprint currently has no accounts or permanent content history, temporary portrait jobs cannot normally be linked back to an account and expire automatically within one day. The minimal purchase-fulfilment record is not connected to a Readprint profile. For questions or a privacy request, use the Readprint support page.
Children
Readprint is not directed to children under 13, and we do not knowingly seek personal information from children. A parent or guardian who believes a child submitted personal information can contact us through the support page.
Security and changes
Requests use encrypted HTTPS connections. No internet service can guarantee absolute security. We may update this policy as the app, providers, or legal requirements change; the updated date above will identify the current version.