Privacy Policy
This policy is written to match the software as shipped: Android flavors play and standard (companion) — same package id; Together, Cloud Ask, and Cloud Listening; the App does not request REQUEST_INSTALL_PACKAGES — plus this marketing website. F-Droid is not a shipping flavor. If a screen in the app is shorter than this document, this document controls for disclosure. We do not collect categories of data that are not listed here.
1. Who we are and how to contact us
The “Operator,” “we,” and “us” means the developer who publishes King James 1611 Assistant (the “App”) and this website (the “Site”).
- Product: King James 1611 Assistant, a Christ-centered offline-first Bible study application for Android.
- Package id:
org.kingjames1611assistant(Play and companion/standard). Older sideload builds may still usecom.example.kingjames1611assistantas a different app. An earlier F-Droid catalog experiment is not a current shipping flavor. - Contact for privacy, legal, account deletion, and closed Play tester invites: email [email protected], or the chat widget on this Site (Tawk.to property used by the Operator). Google Play is currently a closed tester list; write that same address with the Google account on your Android phone if you want to be added. The same email is the developer contact for the Play listing.
We are not Adrian Rogers, Love Worth Finding, Bellevue Baptist Church, or any affiliated ministry, and we are not endorsed by them.
2. Scope
This policy covers:
- The App installed on an Android device, including debug, sideload companion, and store builds that use the code described here.
- The Site (these HTML pages and the Tawk.to widget embedded on them).
- Together, an optional invite-only group service used by the play and standard flavors when the user turns Online Mode on and signs in.
This policy does not cover:
- Websites or apps you open yourself (for example after you copy a verse and paste it elsewhere).
- Your mobile carrier, Google Play, Android backup tools you enable at the system level, or speech-recognition engines provided by the device vendor.
- Model files hosted by Hugging Face that you choose to download; those hosts have their own privacy policies.
3. Short summary (Play-oriented)
- Core Bible reading, search, bookmarks, notes, highlights, personal plans, Listen, Tools, Extras, diagnostics, and saved Together AI chats are stored on the device by default. Android Auto Backup is disabled (
android:allowBackup="false"). On Premium and Scholar Together plans, you may also sync settings, progress, badges, tools, preferences, and Living Scripture Tree to your Together account when Online Mode is on. Together AI conversations and group chats are not part of Together Cloud backup. - No ads. No advertising ID. No analytics SDK. No Crashlytics. No Firebase.
- Reading Scripture does not require a Together account. An optional Together account (email + password + display name) exists on Play and standard/companion builds.
- Together AI is a Bible-study helper. The grounded prompt is sent over HTTPS to a gated Cloudflare Workers AI host to compose the answer. We do not keep a lasting Operator copy of Together AI chats. Saved chats stay encrypted on the device and are not part of Together Cloud backup (including Scholar). Together AI is not a general-purpose chatbot.
- A Together account is stored with Supabase at
lmayadcomumzuqgsjhhb.supabase.co. - Network use is blocked until you turn Online Mode on. Default is off, including after upgrades.
- Uninstalling the App deletes on-device data. It does not by itself delete a Together cloud account. See Account deletion.
4. What we do not collect
The App does not implement, and we do not collect through the App:
- Precise or approximate location, contacts, calendar, call logs, SMS, photos/media library as a permission, health, or financial account numbers.
- Advertising ID, or any ad network, mediation, or attribution SDK.
- Crash reports, usage analytics, heatmaps, or session replay sent to us.
- Public social graph or people directory.
- Direct messages between two users (Together Group Chat is whole-group only, not one-to-one).
- Payment card data in the App (there is no in-app purchase billing SDK). Premium is $11.99/month or $89.99/year, and Scholar is $19.99/month or $149.99/year, on this Site via Stripe Checkout. Stripe processes cards; we store only a customer/subscription mapping, plan amount, plan tier, and entitlement status in Together.
- A lasting Operator archive of Ask questions used for training. Saved chats live under the App’s private storage, encrypted. Scholar does not back them up to Together Cloud. Cloud Ask still sends the grounded prompt over HTTPS for one-time composition (section 9.1).
If a future build adds a category listed above, we will update this policy and the Play Data safety form before that build is distributed as a production update.
5. Data that stays on your phone
Unless you export it yourself or you opt into Together, Cloud Listening, or a model download as described below, the following stays in the App’s private storage (and is removed when you uninstall):
| Category | What is stored | Where |
|---|---|---|
| Scripture corpus | Bundled 1611 King James text (80 books, including Apocrypha as in 1611), search indexes, dictionary, maps, cross-references, extras content | App assets / local SQLite |
| Reading position | Last book, chapter, verse; chapter scroll positions | Local database / preferences |
| Study | Bookmarks, highlights (including selected text and offsets), notes and note categories, collections (legacy), reading history | Local Room database |
| Personal plans | Plan enrollments, day checkmarks, verse-read marks for personal (non-Together) plans | Local Room database — not written to Supabase |
| Progress | Verse/chapter/book read marks, streaks, achievement unlocks, Bible Quest solves, cosmetic reward claims | Local Room database |
| Settings | Theme, fonts, voice, daily verse time, Online Mode flag, notification-related preferences | Local preferences |
| Together AI chats | Up to 50 active chats, up to 200 MB per chat, 10 GB total; messages, citations, retrieval traces | filesDir/chats/ via AES-256-GCM EncryptedFile and Android Keystore. Excluded from Android Auto Backup. Not included in Together Cloud backup |
| Diagnostics | Content-free metrics only (timings, mode/profile/engine tags, success flags). No prompt text, no transcript, no answer text | filesDir/diagnostics/; you can inspect or wipe in Diagnostics |
| Together session (Play/standard) | User id, email, display name, access/refresh tokens, expiry | EncryptedSharedPreferences; cleared on sign-out |
| Together cache (Play/standard) | Cached group plan/members/prayers for offline viewing after a fetch | Local files; not a second cloud |
| User backup file | JSON you create via Settings → Data (bookmarks, highlights, notes, plans, progress, settings, etc.). Ask chat files are not in that backup format | Wherever you save the file (often Downloads). You control that copy |
| Together Cloud backup (Premium+) | Settings, preferences, reading progress, plans, streaks, badges, and tool state. Together AI chats and group chats are excluded | Supabase row tied to your Together user id; wiped when you delete the Together account |
Display spelling modernization happens on device. It does not send verses to us.
6. Android permissions and why they exist
| Permission | When used | Data implications |
|---|---|---|
INTERNET | Only after Online Mode is on, for the purposes in section 7 | Does not by itself send study data |
ACCESS_NETWORK_STATE | To know if a network exists before a user-started download | Not shared with us |
RECORD_AUDIO | Optional Ask / live voice input; you are prompted at runtime | See section 11. We do not receive the recording on our servers |
POST_NOTIFICATIONS | Optional Daily Verse (Android 13+) | Notification content is composed on device from local Scripture. Not sent to us |
RECEIVE_BOOT_COMPLETED | Reschedule Daily Verse after reboot or app update | No extra personal data |
WAKE_LOCK | WorkManager reliability for delayed Daily Verse work | No extra personal data |
The App does not request camera, location, contacts, or SMS permissions.
7. Online Mode
A single fail-closed controller gates every App-owned network path. The persisted default is off. When off, the App blocks DNS, sockets, HTTP, discovery, redirects, and retries for App-owned purposes, including:
- Catalog LLM downloads (Hugging Face, and the gated Cloudflare Worker for Gemma 4 E4B)
- Cloud Ask composition and Cloud Listening (gated Cloudflare Workers AI host)
- Together / Supabase
- Premium billing worker (Stripe Checkout or Customer Portal in the browser)
- Opening external websites from inside the App
Turning Online Mode off shuts down in-flight App-owned connections. Bible reading, search, and on-device study continue.
When Online Mode is on, the App still does not open arbitrary internet: Together HTTPS is host-pinned to the Supabase project named above; Cloud Ask and Cloud Listening HTTPS are host-pinned to kjv-assistant-ask.aiinsidersnetwork.workers.dev; billing HTTPS is host-pinned to kjv-assistant-billing.aiinsidersnetwork.workers.dev; model downloads must be HTTPS to huggingface.co / *.huggingface.co / hf.co / *.hf.co or to the exact Cloudflare Worker host kjv-assistant-models.aiinsidersnetwork.workers.dev (Gemma 4 E4B only). Cleartext HTTP is not permitted. The App does not use public cleartext for Together, Cloud Ask, Cloud Listening, Hugging Face, billing, or the gated model Worker.
8. Together (optional cloud; Play and standard)
Together is invite-only group study. It is not required to use the App. Play and companion/standard builds include Together. An earlier F-Droid catalog experiment shipped without a Together client; that flavor is not shipping today.
After you create a Together account in the App or on this Site, Supabase sends a confirmation email. The link returns you to this Site’s standalone confirmation page (together-confirmed), which talks to the same Together Auth project and tells you the account was created. That confirmation page does not keep a lasting browser login. You may then log in on the phone, or on this Site’s Together account page. The App also lists this website under Settings → Data, directly above the version number.
8.1 Account data we process if you sign up
| Data | Why | Stored by |
|---|---|---|
| Email address | Account identifier; you confirm the email on this Site before the first Sign in | Supabase Auth |
| Password | Authentication. The Android App and the Site account page send it over HTTPS to Supabase Auth and do not keep the password. Supabase hashes credentials according to its Auth service | Supabase Auth (not in App storage) |
| Display name (2–40 characters; default “Believer” if blank) | Shown to members of groups you join | Supabase profiles |
| User id (UUID) | Membership, progress, badges, prayers | Supabase |
| Access and refresh tokens | Keep you signed in on that phone or, if you choose, in this browser | EncryptedSharedPreferences on device; this browser’s local storage on the Site account page; also issued by Supabase Auth |
8.2 Group and activity data
| Data | Limits / notes |
|---|---|
| Group name, optional description | Name 2–60 characters; description up to 280 |
| Invite code | 8-character code; admins can rotate it. Anyone with the current code may attempt to join until it is rotated. Do not post codes in public |
| Join mode | Invite-only (enforced as invite) |
| Member role | owner, moderator, or member |
| Member status | active, kicked, or banned (legacy “removed” treated as kicked). Kick can be reversed with Unkick. Ban blocks rejoin until Unban |
| Max members | 2–1,000 (default 1,000). Joins are rejected when the group is full |
| Group Chat messages | Whole-group only. Access requires membership and a Premium or Scholar plan on the current group owner. History is kept if that plan drops or expires |
| Premium entitlement | Stripe customer/subscription ids, status, period end, plan tier, and amount. No card numbers. Cards never enter the App. Free: 2 introductory Together AI questions, up to 3 groups, unlimited local listening. Premium ($11.99/month or $89.99/year): 250 Together AI questions/month, up to 20 groups, 4 Cloud Listening hours. Scholar ($19.99/month or $149.99/year): 500 questions/month, up to 100 groups, 8 Cloud Listening hours, Deep study. Group Chat follows the current group owner’s paid plan. Creating groups is free up to the plan limit |
| Plan id and calendar start day | Catalog plan ids or custom: plus uuid. Passage text of the KJV is not stored in Supabase |
| Custom plan definition | Name, date window, weekdays, scripture references (book/chapter/verse), session JSON — not verse bodies |
| Day completion checkmarks | Which member completed which plan day |
| Prayer request body | 8–500 characters. In the invite-only group, named or anonymous visibility. A copy of the text only is also shown on the public Site prayer wall with no name, email, group, or account |
| Unlocked achievement ids | Synced to profile_badges so members can see badges. Local Room remains the on-device source of truth |
Personal Room plan progress is never written to Together tables.
8.3 Schema that exists but is not used by the current Android UI
The Together database also has tables for group posts, comments, and whole-group messages, with row-level security. The current Android client does not call those tables. If you or another client wrote rows there, they would be user-generated content visible to group members under those policies. We still treat that content as personal data of the authors and of the group, and it is in scope for deletion with the account/group.
Members can Report a prayer or another member from the group. That writes a row to the reports table (reporter id, group, target, and a short reason) so we can review abuse. Members can also Block another member on this phone; blocking hides that person’s prayers and celebrations locally and is not a server ban.
8.4 Who can see Together data
- You see your own profile and groups you belong to.
- Active members see other active members’ display names, roles, plan checkmarks, shared badges, and published prayers in that group (including a name if the author chose “Show my name”).
- Anyone on the public Site prayer wall sees every published request’s text, labeled “A believer.” The Site does not display author id, display name, email, group id, or the named/anonymous switch to visitors. If you sign in on the Site, you can remove a prayer you posted; that does not reveal who wrote the other requests.
- Admins can see kicked/banned members in order to Unkick or Unban.
- The Operator and the hosting processor (Supabase) can access the database for security, abuse, legal process, and deletion requests. We do not sell this data.
8.5 Legal bases (where GDPR/UK GDPR applies)
- Contract: creating an account and operating the group features you request.
- Consent: turning Online Mode on; submitting prayers and display names (including that prayer text may appear anonymously on the Site); optional email confirmation.
- Legitimate interests: security, fraud/abuse prevention, defending legal claims, and keeping invite-only integrity (kick/ban).
- Legal obligation: if a court or statute requires retention or disclosure.
9. Optional model downloads
If you choose an on-device catalog model and Online Mode is on, the App downloads weights over HTTPS. Downloaded files stay on your device. Model publishers’ licenses (for example Qwen or Gemma/LiteRT community terms) apply; we do not relicense them. The standard Ask path no longer requires those files.
Hugging Face: most catalog entries download from Hugging Face (including CDN hosts such as cdn-lfs.huggingface.co). The App sends a product User-Agent. Hugging Face may log IP address, URL, and standard server telemetry under Hugging Face’s privacy policy. We do not receive those logs.
Gated Cloudflare Worker (Gemma 4 E4B only): that one catalog file is fetched from our Worker at kjv-assistant-models.aiinsidersnetwork.workers.dev, which streams the object from a private R2 bucket. The App sends a product User-Agent and an anti-hotlink header so browsers and hotlinks are rejected. Cloudflare sees the connection (including IP) as the network operator. For a daily cap of two full downloads per IP, we store a short-lived hash of date plus IP in Cloudflare KV (typically until the next UTC day). We do not use that hash for advertising. The Worker is not a public r2.dev CDN.
9.1 Together AI (Cloud Ask host)
In Play and standard Android flavors, Together AI retrieves verses on the phone, then sends the grounded prompt to our gated Worker at kjv-assistant-ask.aiinsidersnetwork.workers.dev. That Worker calls Cloudflare Workers AI to compose the answer. The App sends a product User-Agent and an anti-hotlink header. Cloudflare sees the connection (including IP) and the prompt text for inference. We do not use Together AI prompts for advertising, and we do not keep a lasting Operator chat archive. If you tap Report on an answer, the App POSTs a short reason and a clipped excerpt to the same Worker so we can review it; a copy is also stored in private app files. Saved chats remain encrypted on the device after the answer returns and are not part of Together Cloud backup. Together AI is a Bible-study helper, not a general chatbot, and it does not speak as God.
10. Windows PC pairing (not used)
This build does not pair with a Windows PC, LMCloud, or a private on-device APK update channel. Together AI uses Cloudflare when Online Mode is on. Bible reading, search, and Speak stay on the phone.
11. Microphone, speech, and Listen
Listen / TTS: Scripture can be spoken with on-device British male voices (Kokoro when the English pack is installed, otherwise bundled Piper). Local listening is unlimited on every plan. Premium and Scholar may use Cloud Listening on the same gated Ask Worker when Online Mode is on and monthly hours remain. Cloud Listening sends verse text for speech synthesis; it does not use Together AI question credits.
Together AI voice input: If you grant RECORD_AUDIO, the App uses Android SpeechRecognizer. Depending on the device, the recognizer may be on-device or may send audio to the vendor’s speech service (often Google on stock Android, or the manufacturer’s service). We do not operate that recognizer and we do not receive the audio on Operator servers. The resulting text stays in the on-device encrypted chat store. Scholar does not back Together AI chats up to Together Cloud.
You can refuse the mic permission and type instead.
12. This website and Tawk.to
The Site is separate from the App. The App does not embed Tawk.to. The App can open this Site in your browser from Settings → Data (user-tapped link; the App does not fetch the Site in the background).
Pages may load fonts from Google Fonts, which can see your IP address and user agent. See Google’s privacy policy.
The Together confirmation page (together-confirmed.html) is a small standalone page on this Site. When you open a confirmation email, it may send the one-time confirmation token to Supabase Auth at lmayadcomumzuqgsjhhb.supabase.co so we can show success or an expired-link message. It does not embed Tawk.to. It is not a chatbot. Tokens in the address bar are removed after the page finishes.
The Together account page (together-account.html) lets you sign in with the same email and password as the App. After sign-in it loads your profile, groups, synced badges, and Premium status (including Together AI usage remaining this month) from Supabase under the same row-level security as the App. You can change display name, email, or password, or delete the Together cloud account. Access and refresh tokens stay in this browser’s local storage until you sign out or delete them. The page does not embed Tawk.to, so a password is not typed next to the Site chat widget. Creating a new Together account still happens in the Android app. On Premium and Scholar plans, the App may also store a study backup (notes, bookmarks, highlights, plans, progress, display settings) with your Together account. Together AI chats stay encrypted on the device and are not part of that backup.
The public prayer wall asks Supabase for published prayer text in short pages through a dedicated function that does not return names, emails, or group ids. The site moves those pages through a frame so the wall can rotate through every request without loading them all at once. If you sign in, a second function returns only the ids of prayers you posted so you can delete them. Signed-in visitors may press a central 🙏 once every 24 hours; that stores your Together user id and the time of the press so we can enforce the limit and add to the worldwide total.
The Site embeds a Tawk.to chat widget (embed.tawk.to property id 688b284b9abe48192a749848, widget 1k08h07na). Tawk.to may process IP address, device/browser data, cookies or similar IDs, approximate location derived from IP, and the contents of chats, including if you enable Tawk AI Assist. That processing is governed by Tawk.to’s data protection terms and their role as a processor for the Operator. Do not send passwords or payment numbers in chat. Prefer Settings → Data in the App to delete a Together account. If you ask us in chat to confirm deletion, we will use the email you provide to look up whether an Auth user still exists.
The Site does not run App analytics and does not include an ad pixel operated by us. Tawk.to and Google Fonts are third parties with their own cookies; we do not respond to browser Do Not Track beyond not adding extra trackers of our own.
13. Sharing, sale, and processors
We do not sell personal information. We do not share personal information for cross-context behavioral advertising. We do not use Together or Ask data to train a public generative model.
Processors / independent services that may receive data only in the cases above:
| Party | Role | Applies to |
|---|---|---|
Supabase (project host lmayadcomumzuqgsjhhb.supabase.co) | Auth and database for Together | Play and standard App, Online Mode on, Together sign-in; the Site confirmation page when you open a verification email; the Site Together account page when you sign in there |
| Hugging Face | File hosting for most catalog models you download | Optional download |
| Cloudflare (Workers AI Ask host) | Gated composition of Together AI answers and Cloud Listening speech | Play and standard App, Together AI and Cloud Listening |
| Cloudflare (Worker + R2 + KV) | Gated Gemma 4 E4B file delivery and a daily per-IP download cap | Optional E4B download only |
| Cloudflare (billing worker) | Creates Stripe Checkout or Customer Portal session URLs | Play and standard App when you manage a paid plan |
| Stripe | Card processing on stripe.com; cards never enter the App | Site checkout for Premium or Scholar |
| Tawk.to | Site chat (and optional AI Assist) | Site visitors only |
| Google Fonts | Font delivery | Site visitors only |
| Device speech vendor | Speech-to-text if you use the mic | Ask voice |
| Google Play / Android | Distribution, install, OS backups you enable outside our allowBackup=false flag | Store and OS |
We may disclose information if required by law, to prevent serious harm, or to protect the rights of users (for example abuse of Together). We will narrow the request when we can.
A publishable Supabase key is embedded in Play and standard flavors so the App can call the public Auth/REST API. It is not a service-role secret and does not by itself bypass row-level security.
14. Retention, security, and backups
- On-device: until you clear data, uninstall, or overwrite via backup restore.
- Together Auth and database: until you successfully complete account deletion, or a group is deleted (group rows cascade when a group is removed; profile rows cascade when the Auth user is deleted).
- Kicked / banned membership: kept so Unkick/Unban and join blocking work, until the account or group is deleted.
- Site chat: according to the Operator’s Tawk.to property retention settings.
- Security: HTTPS for Together, Cloud Ask, Cloud Listening, Hugging Face, billing, and the gated model Worker; EncryptedFile / EncryptedSharedPreferences with Android Keystore for chats and Together tokens; Together row-level security; Online Mode fail-closed; no cleartext to those hosts. No security measure is perfect. You must also use a strong Together password and keep invite codes private.
- Android Auto Backup: disabled. Chat files are also excluded in backup and data-extraction XML. OEM or rooted tools could still copy private app storage; that is outside our control.
15. Your rights
You may:
- Use the App to read Scripture without a Together account.
- Turn Online Mode off.
- Sign out of Together (clears local tokens on that phone or browser; does not delete the cloud user).
- Review and correct Together account details (display name, email, password) on this Site’s Together account page after you sign in.
- Delete the Together cloud account from Settings → Data (two confirmations) or from the Site Together account page (type DELETE). After in-app deletion the App shows an automated notice: it cannot verify the rows are gone because there is no data of you left to look up. Sign in to create a new account, or message the team if you want a person to confirm deletion.
- Export a local JSON backup from Settings → Data (does not include encrypted Together AI chats). Together Cloud backup on Premium and Scholar also excludes Together AI chats and group chats.
- Delete chats in the App; clear diagnostics; reset reading progress (this does not reset Together cloud checkmarks by itself).
- Uninstall to wipe on-device App storage.
- Request access, correction, or deletion of Together personal data via Site chat or the Play listing email. See Account deletion.
CCPA/CPRA: We do not sell or share (as those terms are defined for advertising) personal information. We do not use sensitive information to infer characteristics for advertising. California residents may request know/delete/correct using the contact methods above. We will not discriminate for exercising those rights.
GDPR/UK GDPR: You may have rights of access, rectification, erasure, restriction, portability, and objection, and the right to lodge a complaint with a supervisory authority. Where we rely on consent, you may withdraw it (for example by signing out and requesting deletion, and by stopping use of the Site chat).
We will need enough information to verify you control the Together email. We may deny requests that are unfounded, excessive, or would violate another member’s privacy (we will then delete or anonymize your identifiers instead of handing over other people’s prayer text).
16. Children
Scripture reading without an account does not require the child to provide personal information to us.
Together accounts are for users 13 years of age or older (or the digital-consent age in the user’s country, if higher). We do not knowingly create Together accounts for children under 13. If you believe a child under 13 created an account, contact us; we will delete it. Parents who share a device should use Android profiles and should not let a child sign into Together.
The App is a Bible teaching product, not a social network for minors. Together contains user-generated prayer text. We do not enroll the App in Google Play’s Designed for Families program unless a future listing expressly says so.
17. International transfers
Supabase, Tawk.to, Hugging Face, Cloudflare, and Google may process data in the United States or other countries. If you use Together, the Site, or a catalog model download from the EEA/UK, you understand that processors may store data outside your country. Hugging Face, Cloudflare, and Tawk.to publish their own transfer mechanisms.
The 1611 King James text is public domain in most countries. In the United Kingdom, Crown rights may still affect commercial printing of the Authorised Version; that is a copyright matter, not a personal-data transfer. See Copyright.
18. Changes
We will post the new effective date at the top of this page. Material changes to App data practices will also be reflected in the Play Store Data safety form before a production store release that collects new data. Continued use after the effective date is acceptance of the updated policy, except where the law requires opt-in consent.
This policy is intended as an accurate description of the product for users and for store review. It is not a waiver of GPL rights in the software, and it is not pastoral, medical, or legal advice.
19. Encryption and US export laws
The App uses ordinary commercial encryption so that Together, Cloud Ask, Cloud Listening, billing, and model downloads travel over HTTPS, and so that Together AI chats and Together tokens stay encrypted on the phone (AES-256 via AndroidX Security Crypto and the Android Keystore). It does not implement a custom cryptographic algorithm. Information security is not the App’s primary function; Bible study is.
Google Play distribution may be treated as an export from the United States. The publisher certifies in Play Console that the App is authorized for export under US law as mass-market / publicly available standard encryption. Google restricts downloads to embargoed destinations. See Play declarations for the encryption inventory used to support that checkbox. That page is not legal advice.