Privacy Policy
Last updated: May 15, 2026
ReadBeam is designed with privacy as a core principle. All core reading functionality runs entirely within your browser.
What data we collect
ReadBeam collects minimal, non-personal data only for the invite-a-friend feature described below. All core reading functionality (text-to-speech, visual focus, drift detection) runs entirely within your browser and requires no data transmission.
What the extension accesses
ReadBeam uses the following Chrome permissions:
- storage — To save your preferences (voice, speed, focus mode) locally in your browser.
- host_permissions (readbeam-api.liangyaozan.workers.dev) — To communicate with our invite feature API server for referral code generation and confirmation. This is the only external server the extension communicates with.
- content_scripts (http://*/*, https://*/*) — To inject the reading interface (focus overlay, selection point, progress bar, drift detection popup) into web pages when you activate ReadBeam.
We do NOT request:
- Access to your browsing history
- Access to tabs you're not actively using
- Any personal information
Text-to-speech processing
ReadBeam uses your browser's built-in Web Speech API. The text you're reading is processed locally by your operating system's speech synthesizer. No text is sent to any external server for speech generation.
Page content access
ReadBeam reads visible text from the web pages where you activate it, in two situations:
- Language detection — The first ~2000 characters of the page's body text are analyzed locally (using a regex-based detector) to determine which voice to use.
- Reading aloud and visual focus — The sentence you selected and the surrounding paragraphs are read from the DOM in order to speak them via your browser's speech synthesizer and highlight them visually.
Invite-a-friend feature
ReadBeam includes an optional invite feature that allows you to share the extension with friends and earn bonus daily reading time. If you use this feature:
- Code generation — When you request a referral code, the extension sends a request to our API server. No personal data is included — the server generates a random alphanumeric code and returns it.
- Referral confirmation — When a referred user manually enters and submits the referral code on the welcome page, the extension sends the referral code to our API server. To prevent duplicate confirmations, the server stores a one-way SHA-256 hash of the requester's IP address (provided by Cloudflare as part of standard HTTP routing). The raw IP is never stored. No device fingerprinting or personal identifiers are collected.
- Data transmitted — Only the referral code string is sent. No reading content, browsing history, or personal information is ever transmitted.
- When it happens — The referral confirmation request is made only when the referred user manually enters and submits the referral code on the welcome page. Code generation occurs only when you explicitly request it.
- Referral code storage — Generated referral codes are stored on our server (Cloudflare Workers KV) with a 90-day expiration.
Data stored locally
The following data is stored only in your browser's local storage and never leaves your device:
- Voice preferences, reading speed, and focus mode settings
- Daily usage time (for the free tier limit)
- Referral code and earned bonus time
- Onboarding cue count (for the selection dot pulse animation)
Third-party services
ReadBeam does not integrate with any third-party analytics, tracking, or advertising services. The only external service used is our own API server (hosted on Cloudflare Workers) for the invite feature described above.
Open source
ReadBeam's source code is fully open. You can inspect exactly what the extension does at github.com/liang-index/chrome-extension-readbeam.
Contact
If you have privacy concerns or questions, please file an issue on GitHub or reach out via email.