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

Readprint does not sell your personal information and does not use input images or reading content for advertising.

Service providers

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

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.