Yomibuddy Privacy Policy

Last updated: 2026-06-07

Yomibuddy is a reading-companion iOS app. This page explains exactly what data the app handles, where it goes, and what it doesn't do.

Short version: Yomibuddy itself has no server, no accounts, and no analytics. But the app's core functions — OCR, translation, and chat — work by sending your photo and the recognised sentence text to third-party APIs (Google Cloud Vision for OCR, plus an AI service for translation and chat). Those vendors briefly retain the data per their own policies, which is why Apple's privacy nutrition label for Yomibuddy declares "User Content collected, not linked to identity, not used for tracking."

What stays on your device

  • The photographs you take or pick from your photo library.
  • The OCR'd sentence text + sentence bounding boxes (used to overlay the photo with tappable regions).
  • Translation results for each sentence.
  • Chat threads you create about a sentence — every message you send, and every reply the AI generates.
  • Your settings (preferred languages, LLM mode, custom API keys).

All of the above is stored only inside the app's sandbox on your iPhone. The rolling library is a local SwiftData store. There is no Yomibuddy backend — we (Enshin Co. Ltd.) do not run a server, do not log requests, do not have user accounts, and do not see any of your data.

What leaves your device (third-party data flow)

Three categories of data are sent to third-party APIs as a direct part of the app's function:

Data Recipient Why
The page photo (JPEG, downscaled to ≤1800 px) Google Cloud Vision API (vision.googleapis.com) OCR — detecting where each sentence lives on the page and reading the text.
The recognised sentence text AI service — see below Translation of each sentence.
Your chat messages Same AI service as above Sent only when you actively use the Chat-with-AI feature.

Which AI service depends on your LLM mode in Settings:

  • Free bundled (default): Yomibuddy routes translation and chat to an AI provider we curate. The specific provider may change between releases as model quality and pricing evolve — Yomibuddy reserves the right to swap it without prior notice. At the time of writing, the bundled service is provided by Google through its Generative Language API (generativelanguage.googleapis.com).
  • Custom: You explicitly pick the provider per purpose (translation, chat) and supply your own API key, which is stored in iOS Keychain on this device. Supported providers as of this writing include Google Gemini, Anthropic Claude, OpenAI, and DeepSeek. Calls only ever go to the provider you picked; there is no bundled fallback.

What the vendors do with the data is governed by their own terms — Yomibuddy doesn't proxy, log, or otherwise see any of it. Summary of vendor positions at the time of writing:

  • Google Cloud (privacy notice) — paid Vision and Generative Language API requests are not used to train Google's models; free-tier requests may be retained briefly for service-quality purposes.
  • Anthropic Claude (privacy) — API inputs and outputs are retained for up to 30 days for trust-and-safety review and are not used to train models by default.
  • OpenAI (privacy) — API data is retained for up to 30 days and not used to train models by default.
  • DeepSeek (privacy) — API inputs and outputs are retained per their published policy; review their terms before configuring a DeepSeek key.

Yomibuddy attaches no identifier — no account ID, device ID, IDFA, IP-tied user tag — to any of these requests. Vendors of course see the originating IP and standard HTTPS metadata, but there's no Yomibuddy-side handle to tie one request to "you" across requests.

What we don't do

  • No first-party server. Nothing of yours touches Enshin Co. Ltd.'s infrastructure — there is none.
  • No analytics. No Firebase, no Mixpanel, no GA, nothing.
  • No advertising SDKs. No tracking pixels.
  • No third-party SDKs of any kind beyond the direct API calls listed above.
  • No accounts. Nothing to sign up for, no login, no email collection.
  • No cloud sync. Your library, chats, and keys stay on this device only.
  • No cross-app or cross-site tracking. The data flows above are scoped to a single API call serving a single user action.

Permissions the app requests

  • Camera — to take photographs of pages.
  • Photos (read) — so you can pick an existing image instead of taking a new one.
  • Photos (write) — only when you long-press a captured page and choose "Save to Photos".

The app never accesses your camera or photo library in the background.

Deleting data

Captured pages are FIFO-evicted past your library cap (default 20, adjustable in Settings). You can also long-press a page in the library and choose Delete to drop it (and its chat threads) immediately. Uninstalling the app removes everything stored locally; the bundled API key is built into the binary and is not on your device once the app is gone.

Contact

If anything here is unclear, please give feedback through app store or email info@enshincoltd.jp.