WhisperWord privacy
WhisperWord Privacy Policy
How WhisperWord for Android accesses, uses, stores, and shares information.
About this policy
WhisperWord is operated by Recoil Investments LLC, publicly branded as Recoil Solutions (“WhisperWord,” “we,” “us,” or “our”). This Privacy Policy explains how the WhisperWord mobile application accesses, uses, stores, and shares information. This policy applies to the United States release of WhisperWord version 1.0.0 for Android.
Contact us at [email protected], 803-720-1084, or Recoil Investments LLC, 545 Shale Court, Alpharetta, GA 30022, United States.
Summary
WhisperWord is an account-free reading-support app. A reader can point the camera at a printed page, let the app capture a readable view, tap a difficult word, and hear that word spoken. A typed-word option is available when the camera is unavailable or not desired.
- WhisperWord is a child-friendly reading companion with Free and Premium options. Children can scan printed words, tap to hear pronunciations, and build reading confidence, while Premium is designed to offer additional reading assistance.
- WhisperWord does not provide user accounts, advertising, social features, or cloud sync.
- Printed-page images and recognized page text are processed on the device. WhisperWord does not send page images, recognized words, typed words, child nicknames, reading history, or child audio to a WhisperWord server.
- Android uses Google ML Kit for on-device text recognition and to identify and optionally translate a selected word or short phrase on-device. Needed translation models may download from Google over Wi-Fi. Google states that ML Kit does not send API input or output to its servers, but the SDK may contact Google for models, maintenance and compatibility information, and the limited operational measurements described below.
- Reading records and settings can be stored locally on the device. A grown-up can delete the main local reading records in Parent Area.
Information WhisperWord accesses and uses on the device
Camera and printed pages
Camera access is requested only when a user starts the Capture a Word experience. The app uses live frames to determine whether words are visible, give positioning guidance, and lock a readable page. A temporary frozen-page image may be held in memory while the reader taps a word. The app releases that image when the page is changed, retaken, the reading flow ends, or the scanner is torn down. Page images are not added to reading history.
The app's JavaScript/native boundary receives word locations and limited frame-quality information. It does not receive camera pixels or a full-page transcript. When a reader taps, native code reveals only the selected word or a small set of correction candidates needed to resolve that tap.
Camera permission is optional. If permission is denied or scanning is unavailable, the user can type a word instead. Android settings also let the device owner revoke camera permission.
Typed and selected words
A selected or typed word is used to provide pronunciation and may be stored in local word-help history. A record may include the word, language, date and time, whether it was replayed or slowed, whether the user saved it, and whether the user corrected the selection. This supports Recently Heard, Words We Learned, and the local Reading Journey.
For optional foreign-word help, on-device language identification receives the selected word. Only for a specifically ambiguous homograph may it also use a temporary window containing that word and at most two same-line neighbors. On-device translation receives only the deliberately selected word or short phrase, limited to 240 characters; it never receives a page image or full-page transcript. If the translated meaning is heard, the source language, target language, provider, and bounded translated meaning may be stored with the same local word-help record. Hearing a meaning does not silently save the word.
Local reader profile and settings
WhisperWord maintains one local reader profile. It begins with the generic nickname “Reader.” A grown-up may replace that with a nickname of up to 24 characters. The app can also store:
- app, parent, and book-language choices;
- preferred device voice identifiers;
- reading-support choices such as focus strip, word spotlight, text spacing, capture preference, larger word choices, haptics, voice guidance, quiet hours, and pronunciation help;
- Story Time summaries, including dates, page and help counts, language, support tools used, voice mode, and how a session ended;
- learned-word state and replay or slow-use counts; and
- family-entered pronunciation corrections.
These records use app-local profile and session identifiers. WhisperWord does not create an online account or use a stable device identifier to identify a reader in its own systems.
Speech and audio
WhisperWord sends the selected or typed word, language, rate, and optional voice choice to Android's text-to-speech service. Voice Replies is off by default, including after legacy settings migration, and only a deliberate grown-up action in the parent-gated Reading Support screen can enable it. If enabled on Android 12 or later and the device supports an on-device recognizer, WhisperWord may request microphone access only after asking whether the child wants a definition. That temporary response window lasts at most three seconds and accepts only a short Yes or No reply.
Raw audio and temporary recognition text are not retained, bridged to the application layer, logged, or uploaded by WhisperWord, and visible buttons remain available without microphone access. Available voices and the device vendor's handling of system speech and recognition are controlled by the operating system and installed providers, not by WhisperWord. Exact permission, indicator, teardown, and network behaviors remain subject to final physical-device verification.
Android Premium and Google Play information
WhisperWord for Android is being prepared for Google Play with both Free and Premium options. The Free experience provides access to core reading assistance with a daily pronunciation allowance. Premium is planned to offer expanded pronunciation access and additional approved features through monthly or annual subscriptions. Premium availability and final pricing will be confirmed before launch.
Premium purchase and restore are not currently available in the pre-release build. They will not be activated until trusted purchase verification is deployed and validated. Before activation, this policy and the Google Play Data Safety disclosure will be updated to describe the minimum purchase-token and store information processed for verification, including its retention, deletion, and security controls. Purchase information will not be combined with page images, recognized text, selected words, child audio, nicknames, or reading history.
Google independently processes Play account, payment, transaction, and diagnostic records under its own terms. Google Play handles customers' payment-card and bank-account details; WhisperWord does not receive those payment details.
Local performance timing
The app keeps a bounded, in-memory list of named operation durations to help developers inspect performance during a run. It contains no nickname, word, book text, profile identifier, or device identifier; it is not saved, logged, or transmitted by WhisperWord and disappears with the process.
Google ML Kit model service and operational data
The Android app includes Google's bundled ML Kit Text Recognition SDK, Language ID, and Translate for bounded selected-word help. Language identification is bundled. A needed translation model can be requested from Google over Wi-Fi; pronunciation and the core reading flow continue when that model is missing, downloading, unavailable, unsupported, or fails to download.
Google's current Android disclosure says ML Kit collects the following information for diagnostics and usage analytics:
- device manufacturer and model, operating-system version and build, and available ML accelerators;
- app package name and version;
- a per-installation identifier that Google says is not intended to uniquely identify a user or physical device;
- performance measures such as latency;
- API configuration such as image format and resolution, and feature input and output size;
- feature version and event types such as initialization, detection, model activity, and resource release; and
- associated error codes.
Google's feature-specific disclosure also says that Language Identification collects the languages identified by the feature and that Translate collects the configured source and destination languages for diagnostics and usage analytics. WhisperWord does not add the selected word, translation input, translation output, or nearby reading context to those operational records.
Google states that this Android information is encrypted in transit using HTTPS and is not transferred to third parties. Google also states that ML Kit API input and output are processed on-device and are not sent to Google servers. ML Kit may contact Google for translation-model downloads, bug fixes, updated models, and hardware-accelerator compatibility information. See Google's ML Kit Android data disclosure, ML Kit Terms & Privacy, and on-device translation requirements.
Google also states that ML Kit Translate uses Firebase Remote Config and Firebase Installations for remote-configuration diagnostics. Google's Firebase disclosure says those supporting services can generate a Firebase installation identifier and collect country and language codes, time zone, platform and operating-system versions, Firebase Android App ID, app package name, and SDK version. Firebase says this information is encrypted in transit and is not transferred to third parties except service providers that help deliver Firebase or as directed by the developer. WhisperWord does not use Google Analytics, Remote Config personalization, or its own remote feature flags. See Google's Firebase Android data disclosure.
WhisperWord does not add child nicknames, selected words, typed words, nearby reading context, book text, page images, or translation results to operational measurements. Selected-text language and translation inference occurs on-device under Google's stated boundary. We do not receive a child profile or reading history from Google diagnostics. Before release, the operator will compare these statements with the exact signed Android artifact, current Google terms and disclosures, and the Google Play SDK Console. Any material difference must be corrected in the app, this policy, and the Google Play Data Safety declaration before publication.
What WhisperWord does not collect or provide in this version
WhisperWord does not provide or intentionally collect through a WhisperWord-controlled service:
- account credentials, email address, phone number, or precise address;
- payment-card or bank-account details, which Google Play handles independently; in the current pre-release build, WhisperWord also does not process Play purchase tokens or subscription-entitlement information because purchase and restore are not yet available;
- location, contacts, photo library, health, fitness, or retained or transmitted microphone recordings or recognition transcripts;
- advertising identifiers or data for targeted advertising;
- product analytics, remote crash reports, or research uploads;
- messages, social posts, or content shared with other users; or
- cloud copies of page images, book text, reading history, saved words, or pronunciation corrections.
Google, Google Play, the operating system, device manufacturer, or installed speech provider may process information under their own terms when they provide their platforms and services. Their independent practices are not controlled by WhisperWord.
Storage, retention, and deletion
Local profile, Story Time, word-help, learned-word, and pronunciation-correction records are stored in schema version 3 under the local AsyncStorage key whisperword.reading-data.v1. WhisperWord does not add application-layer encryption to this local database; it relies on the operating system's app sandbox and device security controls.
The app deterministically sanitizes and compacts that database when it is read and after each change. It keeps at most 2,000 word-help events, 1,000 Story Time summaries, 1,000 learned words, and 250 pronunciation corrections, and removes unprotected word-help detail older than 400 days. It removes the oldest unprotected detail first toward a one-MiB UTF-8 soft target. Pending or open-session records, events counted against today's Free allowance, saved, remembered, or known words, and pronunciation corrections are protected from automatic deletion. If protected information would exceed a count limit or the 1.5-MiB hard ceiling, the app reports a local-capacity failure and keeps the previously stored value instead of silently deleting protected information.
A separate local Free-usage ledger stores only the current local day and no more than five opaque event IDs. It rolls over empty on a later local day and contains no word, route, profile, account, or device identifier.
Parent Area offers these controls:
- Delete Saved Words removes learned and saved status but intentionally keeps valid recent word-help history.
- Delete Child Profile Data removes the profile's Story Times, word history, saved words, and private pronunciation corrections, then creates a fresh local “Reader” profile. It intentionally preserves the device-wide same-day Free allowance so deleting a profile cannot reopen it.
- Delete Local Reading Data removes the main reading database and the daily Free-usage ledger, then creates a fresh local profile.
Language and Reading Support settings are stored under separate local keys and are not removed by Delete Local Reading Data. To remove those settings too, clear WhisperWord's application data in device settings or remove the app. Point & Hear is an intended Premium capability but remains experimental. Its preference is available only in developer builds, and the feature will not be included in a production release unless separately validated and approved.
Android backup is disabled in the app configuration. Downloaded translation models are managed by the Google SDK separately from reading history. The parent-gated Translation Model Storage screen can inventory and explicitly delete individual non-English models through the native wrapper, but the exact signed-device model lifecycle remains unverified. Because operating-system and device behavior may change, these settings are not a promise that every platform copy or device migration is technically impossible.
Google controls retention and deletion for ML Kit operational data. WhisperWord does not have a console that can identify or delete those vendor records by child nickname or local reading profile.
Parent and user choices and privacy requests
A parent or guardian can decline Camera or microphone permission and use Typed Word and visible buttons instead. Android settings can revoke permissions at any time. Parent Area can delete saved words, profile data, or the main local reading database as described above. Clearing WhisperWord's application data or uninstalling it removes the remaining app-local settings, subject to Android and device behavior outside WhisperWord's control.
WhisperWord has no account database or cloud reading profile for the operator to retrieve. A parent or guardian may nevertheless contact us to ask what information we control, request correction or deletion where applicable, object to or limit processing, or raise a concern. We may need reasonable information to verify that the requester is authorized to act for the child or device. We will not use a privacy request to create a child account or collect unnecessary identity information.
Requests about Google-controlled ML Kit operational records may also require use of Google's privacy controls because WhisperWord cannot identify those records by nickname, word, or local profile. We will explain that limitation and provide reasonable assistance with requests directed to us.
Children's privacy
WhisperWord is designed for readers ages 7–12 with a parent or guardian's support. The app does not ask a child to create an account or provide contact information, and it does not include ads, child-facing purchases, social sharing, or behavioral profiling. Premium information and future purchase actions remain parent-directed and behind the grown-up gate. Purchase and restore are not currently available in the pre-release build. A nickname and reading activity may be kept on the device, as described above. ML Kit model-service and operational behavior is described above; page content, selected-text inputs, and recognition or translation results are not included according to Google.
Parents and guardians can review the app's Privacy & Data screen and use Parent Area to delete local reading records. Questions or requests can be sent to [email protected], by telephone at 803-720-1084, or by mail to the address below.
WhisperWord does not ask a child to submit a legal name, email address, telephone number, physical address, account credential, photograph, or other contact information. It does not let children make information public, communicate with strangers, receive targeted advertising, or make a child-facing purchase. A locally entered nickname and reading activity remain in the app's sandbox and are not sent to Recoil Investments LLC. Google ML Kit's limited off-device operational collection is described in full above; it is not used by WhisperWord for advertising, behavioral profiling, contacting a child, or building a WhisperWord cloud profile.
WhisperWord limits this operational collection to providing, maintaining, securing, diagnosing, and improving the on-device OCR and language features. It does not use a persistent identifier to recognize a child across apps or devices, contact a child, or support behavioral advertising.
A parent or guardian should review this policy and supervise the child's use. Recoil Investments LLC will provide any additional notice or parental-consent mechanism required by applicable law before adding a feature that changes these practices or intentionally collects additional online personal information from children. Parents may contact us to ask questions, review the practices applicable to their child, request deletion of information controlled by us, or refuse further use.
Security
WhisperWord limits permissions and keeps reading content within the app sandbox. Camera access is contextual. Parent-enabled Voice Replies may request microphone access only for the bounded on-device Yes or No response window described above; entering the scanner does not request it, and buttons remain the universal fallback. Android retains Internet and network-state permissions for approved store operations and Wi-Fi-only ML Kit translation-model acquisition, with cleartext traffic disabled; it has no first-party selected-text endpoint. No security method eliminates all risk. Keep the device operating system updated, use the device lock, and contact us at [email protected] if you believe information has been mishandled.
Changes to this policy
We may update this policy when the app, SDKs, legal obligations, or distribution markets change. We will post the updated date and, where required, provide additional notice or obtain consent. Store privacy disclosures must also be updated before or with any release that changes data practices.
Contact
- Operator: Recoil Investments LLC
- Public brand: Recoil Solutions
- Privacy and support contact: [email protected]
- Public parent and privacy telephone: 803-720-1084
- Postal address: 545 Shale Court, Alpharetta, GA 30022, United States
