AIConveyor

ReadBeam — Privacy Policy

Last updated: October 8, 2026

1. Introduction

ReadBeam ("we," "our," or "us") is an iOS application that lets parents and teachers photograph printed book pages and have them read aloud to children with synchronized word highlighting. This Privacy Policy explains what information ReadBeam handles and how it is protected.

2. Camera and Photo Data

When you scan a book page, the captured image is processed entirely on your device. Page images are saved to the app's local sandbox on your device so you can re-read a book later, and they remain there until you delete the book or uninstall the app. ReadBeam does not upload your photographs to any server, with one exception: when a teacher chooses to share a book with a class, that book's page images are uploaded so students can read it (see Section 6).

3. OCR (Text Recognition)

Optical character recognition runs locally on your device using Apple's Vision framework (VNRecognizeTextRequest). The text extracted from the page is stored locally with the book. It leaves your device only in two cases: it is sent to Google Cloud Text-to-Speech to generate the reading voice (see Section 4), and, when a teacher shares a book with a class, it is stored with the shared book (see Section 6).

4. Text-to-Speech (TTS) Audio

ReadBeam offers three voices in the picker — Sunny, Luna, and Atlas. All three are generated using Google Cloud Text-to-Speech:

  • Sunny (free) — Google Cloud TTS voice en-US-Standard-A.
  • Luna and Atlas (premium) — Google Cloud TTS voices en-US-Standard-F and en-US-Standard-D.

For any of the three voices, the recognized page text (not the page image) is sent to Google's TTS endpoint to synthesize audio. Generated audio is cached locally on your device per-book so the same page is never synthesized twice. Apple's on-device AVSpeechSynthesizer is retained as a silent fallback if the Google TTS request fails.

Google Cloud Text-to-Speech processes the recognized text under Google's Cloud Data Processing Addendum and, per Google Cloud's terms, does not log request content for use in training models or for purposes other than fulfilling the synthesis request.

5. Account Data

ReadBeam uses Firebase Authentication and Cloud Firestore to manage accounts. The following fields are stored:

  • Email address (Sign in with Apple may provide a private relay address)
  • Display name
  • A user ID assigned by Firebase
  • Role (teacher or reader)
  • Subscription plan and its expiry date, so your plan works across devices
  • The class codes you have joined and the shared books you have added
  • The date the account was created

Account data is required to make class-code sharing work. You can delete your account at any time from Settings → Delete Account, which permanently removes your account data, any classes you own, and any books you shared.

6. Class Codes & Shared Books

When a teacher creates a class, ReadBeam stores the class code (e.g. KR-XXXXXX), the class name, an optional grade level, student counts, and the teacher's user ID in Cloud Firestore.

When a teacher chooses to share a scanned book with a class, the book's page images are uploaded to ReadBeam-hosted secure storage, and its recognized text (with word positions for highlighting), title, page count, optional grade and reading level, and the classes it belongs to are stored in Cloud Firestore, so students in the class can read along.

Page images are served through signed links (HMAC-protected, valid for up to one year). The links cannot be guessed, but anyone who has a copy of a link can open that image until it expires, so please do not post them publicly.

Books that a teacher scans for personal use (without sharing to a class) are not uploaded — they remain only on the teacher's device. Deleting a class code, removing a book from a class, or deleting your account permanently removes the associated images from ReadBeam storage and the book's text from Cloud Firestore.

7. Anonymous Usage Analytics & Diagnostics

To understand which features are useful and to fix problems, ReadBeam sends anonymous usage and diagnostic data only to our own server. We do not use any third-party analytics, advertising, or tracking SDKs. This data includes:

  • In-app events such as screens viewed, a book scanned or finished, playback started, the voice and speed chosen, a class joined, and subscription screen views and purchase results (plan name only)
  • Technical context: app version and build, iOS version, device type (phone or tablet), screen size, App Store country, and whether the build is a test build
  • App context: whether you use ReadBeam as a reader or teacher, your plan (free or paid tier), whether you are in demo mode, and how many days since the app was installed
  • Crash, hang, and performance diagnostics provided by Apple's MetricKit (code locations only), plus error codes from features like scanning, voices, and uploads
  • A random identifier generated by the app on your device. It is not linked to your account, email, or name
  • For subscriptions: while usage sharing is on, the app attaches its random identifier to your purchase (as Apple's "app account token"), so Apple's subscription status notifications (start, renewal, cancellation, refund) and Apple's transaction identifier can be matched to it. This lets us understand which features lead people to subscribe and stay

Usage data never includes book titles, page text, page images, class codes, names, email addresses, or voice recordings. It is not used for advertising, is not sold or shared, and is not used to track you across other companies' apps or websites. Like any server, ours sees your device's IP address when the app connects; we use it briefly to prevent abuse (rate limiting) and do not store it with usage data.

We keep raw usage events for up to 180 days. You can turn this off at any time in Settings → Privacy → Share anonymous usage data. Reset usage data in the same section deletes the usage data collected from your device and starts a fresh random identifier.

8. Children's Privacy (COPPA)

ReadBeam is designed for use by children under adult supervision and complies with the Children's Online Privacy Protection Act (COPPA):

  • We do not collect personal information from children — accounts belong to a parent or teacher
  • We do not show advertising to anyone, ever
  • We do not perform behavioral profiling on readers
  • The anonymous usage and diagnostic data in Section 7 is used only to support the internal operation of the app (maintaining and improving features, fixing crashes and errors) and is not linked to any person
  • Classroom data is isolated to the teacher who owns the class — readers in one class cannot see data from any other class
  • Books that a teacher does not share to a class stay on the teacher's device. Books that a teacher does share are stored on ReadBeam-hosted secure storage and Cloud Firestore and are made available to students in that class (see Section 6)

9. Third-Party Services

  • Apple App Store / StoreKit — distribution and subscription processing
  • Apple Vision framework — on-device OCR
  • Apple AVSpeechSynthesizer — on-device fallback only (used if Google TTS is unavailable)
  • Firebase (Authentication, Firestore) — accounts, class codes, and the text and details of class-shared books
  • ReadBeam-hosted secure storage — page images for class-shared books only
  • ReadBeam analytics server (operated by us) — anonymous usage and diagnostic data described in Section 7
  • Apple MetricKit — on-device crash and performance diagnostics
  • Google Cloud Text-to-Speech — all three picker voices (Sunny, Luna, Atlas)

10. Changes to This Policy

We may update this Privacy Policy from time to time. The "Last updated" date at the top of this page reflects when changes were last made. Continued use of ReadBeam after changes constitutes acceptance of the revised policy.

11. Contact & Support

For privacy-related questions or requests, contact us at [email protected]. For general help, visit our Support page.