Privacy Policy
Application Privacy Statement · Last updated 10 May 2026
This privacy statement ("Privacy Statement") applies to the treatment of personally identifiable information submitted by, or otherwise obtained from, you in connection with the associated application ("Application"). The Application is provided by LifeWheel. By using or otherwise accessing the Application, you acknowledge that you accept the practices and policies outlined in this Privacy Statement.
What Personal Information Does LifeWheel Collect?
We collect three categories of information.
1. Account information. When you sign in we receive your Firebase Authentication user id (a random string) and, depending on the sign-in method you choose, your email address (Apple, Google, email/password) or a stable Apple-issued private-relay identifier. Users who skip sign-in get an anonymous Firebase uid that lives only on their device until they sign in. You may also fill in a display name and select an avatar.
2. Self-reported wellness and goal data. Everything you enter inside LifeWheel — life-sphere scores and history, goals, tasks, habits and habit check-ins, journal entries, mood logs, decisions, Vision Space tiles, onboarding answers (including the optional 5-question WHO-5 Wellbeing Index used to personalize the app), reminder times, focus areas, language, and notification preferences. If you grant access, LifeWheel reads menstrual-cycle dates from Apple HealthKit (only the dates and the cycle-tracking categories you explicitly allow). HealthKit data stays on your device and is not transmitted to our servers; the calendar uses it locally.
3. Usage and device information collected automatically. When you interact with the app we receive: a device identifier (advertising id where you've allowed App Tracking, otherwise a random per-install id), iOS version and device model, app version and language, app-event timestamps (screens viewed, taps on key features, paywall views, purchases, errors), crash diagnostics, push-notification token, IP address, and approximate region. We use this for product analytics, crash reporting, and install attribution — not advertising profiles.
We do not knowingly collect data from children under 13. We do not collect biometrics, audio recordings, video, contacts, photos, location more granular than country/region, or financial-account details. App Store purchases are processed by Apple; we receive only the resulting subscription status (active/expired) via Adapty.
How Does LifeWheel Use the Information It Collects?
We use the information above only for the following purposes:
- Operate the app. Store and surface the records you create (goals, journal, mood, etc.), keep them in sync across your devices, send the reminders you schedule.
- Personalize content. Tailor onboarding, the wheel template, daily prompts, journal templates, and paywall messaging based on the answers you give in onboarding (focus area, WHO-5 score, age band, language).
- Authenticate and secure your account. Verify sign-in via Firebase Authentication and Apple/Google as applicable, enforce App Check on backend calls, throttle abusive traffic.
- Process subscriptions. Read your App Store subscription state via Adapty so we can unlock paid features, restore purchases, and apply promo codes.
- Improve the product. Understand which features are used, which onboarding paths convert, where users get stuck, what causes crashes. Analytics are aggregated; they are not used to build advertising profiles.
- Attribute installs. Determine which marketing channel referred you so we can measure campaign effectiveness. This uses limited device identifiers and IP, never the contents of your journal/goals/habits.
- Send notifications. Deliver the local and remote push notifications you opted into (habit reminders, weekly review, comeback nudges).
- Power optional integrations you turn on. The ChatGPT connector (see dedicated section below) and the Apple Watch / Home Screen widgets read your existing LifeWheel data so they can surface it inside ChatGPT or your Home Screen.
- Comply with the law and protect users. Respond to lawful requests, enforce our Terms, and detect abuse.
We do not use the contents of your goals, tasks, habits, journal, mood logs, decisions, or Vision Space tiles to train AI models, to build advertising profiles, or to share with advertising networks.
Will LifeWheel Share Any of the Personal Information It Receives?
We do not rent or sell your personal information. We share data only with the processors listed below, only for the stated purpose, and only the minimum needed to deliver the service. Each provider acts on our written instructions.
- Google Firebase (Authentication, Realtime Database, Storage, Cloud Functions, Cloud Messaging, Remote Config, In-App Messaging, Crashlytics, App Check). Hosts your account, stores all in-app records, runs server-side functions, delivers push notifications, and collects crash diagnostics. Data resides in Google Cloud regions selected for the Firebase project.
- Apple (App Store, Sign in with Apple, HealthKit, APNs, StoreKit). Processes subscription transactions, supports Apple sign-in, gates HealthKit access on-device, and delivers push notifications.
- Adapty. Manages subscription state and paywall configuration. Receives the user id, App Store transaction identifiers, subscription state, the campaign metadata associated with a purchase, device language and country.
- Amplitude. Product analytics for both the iOS app and the marketing website lifewheel.us. From the iOS app: receives the user id, anonymized device identifiers, IP, app-event names and metadata, language, country. From the website: receives a randomly generated browser device id (stored in localStorage), IP, page-view and click events, language, country, referrer. Does not receive the contents of journal, goals, habits, mood, or decisions.
- Microsoft Clarity. Marketing website only — heatmaps, session replays, and rage-/dead-click detection on lifewheel.us. Receives a per-visit identifier, IP, page interactions (clicks, scrolls, form fields with values masked by default), and recorded session video. Does not run inside the iOS app and never sees in-app records. We use Clarity to understand where new visitors get stuck before installing.
- Google Analytics 4. Marketing website only — traffic measurement and integration with Google Search Console / Google Ads. Receives a randomly generated client id (stored in a first-party cookie), IP (anonymized by Google), page-view events, referrer, language, country, device. Does not receive in-app content from the iOS app. Used to understand where website traffic comes from and which pages convert to App Store visits.
- AppsFlyer. Install attribution — receives a device identifier (advertising id where allowed), IP, and the install/launch events needed to attribute a campaign. Does not receive in-app content.
- Meta (Facebook SDK). Install attribution and conversion measurement, plus optional Facebook sign-in. Receives a device identifier, IP, app-install/open events, purchase events. Does not receive in-app content.
- OneSignal. Outbound push delivery (the comeback / weekly-review pushes). Receives the push token, the message payload we send, language, and a small set of segmentation tags (such as activation state). Does not receive in-app content.
- Google (Sign-In). If you choose Google sign-in, Google verifies your identity and returns a token to us; we receive your email and Google id.
- OpenAI. Only if you enable the optional ChatGPT connector — see the dedicated section below for the full disclosure.
- Service providers (legal, hosting, payment). May receive personal data strictly to perform tasks on our behalf, under written terms that prohibit any other use.
- Business transfers. If LifeWheel is acquired or merged, your information may transfer to the acquirer subject to this Privacy Statement (or a successor with materially equivalent protections).
- Legal obligations. We may disclose information if required to comply with law, court order, or to protect the rights, property, or safety of LifeWheel, our users, or others.
- With your consent. For any sharing not described above, we will ask first.
How Long Do We Keep Your Information?
We retain account data for as long as your account is active. When you delete your account in-app (Settings → "Delete account") or by emailing alex@lifewheel.us, we permanently remove your records from Firebase Realtime Database within 30 days, including life-sphere data, goals, tasks, habits, journal, mood, decisions, Vision Space tiles, history, OAuth grants, and the connector audit log. Crash diagnostics are kept for up to 90 days. Aggregated analytics that no longer identify you may be retained longer to track product trends. Backup copies are purged on rolling cycles defined by each processor.
ChatGPT Integration (OpenAI Apps SDK)
LifeWheel offers an optional integration that lets you access and modify your LifeWheel data through ChatGPT using the OpenAI Apps SDK (Model Context Protocol). The integration is opt-in and inactive until you add LifeWheel as a Connector inside ChatGPT and complete sign-in. The disclosures below describe, end-to-end, what data the integration handles, why, who receives it, how long it is retained, and the controls you have. They take precedence over the more general statements earlier in this policy when describing the ChatGPT connector specifically.
1. Data the integration handles. When you authorize the connector, our server receives a Firebase user id (the same id used by the iOS app) and issues OAuth 2.1 tokens to ChatGPT. While connected, ChatGPT sends tool requests that include free-text input you type (search queries, goal titles, journal entries, mood values, dates, ids previously returned by the connector) and our server returns records from your account: life spheres and wheel values, goals and tasks, habits and habit check-ins, journal entries, mood logs, Decide Mode decisions, Vision Space tiles, and recent activity history. No data belonging to other users is ever returned. Three "demo" tools (start_wheel_demo, render_demo_wheel, explain_sphere) work without sign-in, accept only a locale or sphere key, return generic content, and do not read or write any user data.
2. Tools the connector exposes (current inputs and outputs).
- Demo, no sign-in:
start_wheel_demo(locale → interactive 8-slider demo widget),render_demo_wheel(8 sphere scores → rendered wheel widget; not persisted),explain_sphere(sphere key → short text explanation). - Read, sign-in required:
whoami(→ your Firebase uid and counts of top-level records),search(free-text query and filters → matching records across goals/tasks/journal/mood/decisions/vision/spheres/history),fetch(record id → single record contents),show_wheel(optional wheel name → wheel widget plus sphere data),show_goal(goal id → goal details and tasks),list_habits(→ active habits with today's completion state),analyze_wheel(optional wheel name → strongest and weakest spheres, gaps, active goals on weakest),weekly_review(→ tasks completed, journal entries, mood logs, and wheel evaluations from the last 7 days). - Write, sign-in required:
create_goal,update_goal,complete_goal,pause_goal,delete_goal,create_todo,toggle_todo,create_habit,create_journal,log_mood,create_vision_item,update_vision_item,set_wheel_slider,commit_decision. Inputs are limited to the parameters declared in each tool's JSON schema (titles, descriptions, deadlines, scores, mood values, dates, ids). Each write tool only acts on records under your own Firebase user id;delete_goalis the only destructive write and removes a single goal you specify by id.
3. Purposes. We process the data above only to (i) authenticate ChatGPT on your behalf via OAuth 2.1; (ii) read the records you ask the assistant to surface and return them to ChatGPT; (iii) create, update, or delete records you ask the assistant to modify; (iv) maintain a per-user audit trail of write actions so you can review what the assistant did under your account; and (v) enforce a daily rate limit (500 tool calls per user per day) to prevent abuse. We do not use connector data for advertising, profiling, or training any AI models.
4. Recipients. Four parties receive data through the integration; no other third parties do.
- OpenAI — operates the ChatGPT interface from which you invoked the connector, and receives both the prompts you send and the tool responses we return. OpenAI's handling of this data is governed by its own policies at openai.com/policies; LifeWheel does not control it.
- Google Firebase Authentication — verifies your sign-in during the OAuth flow.
- Google Firebase Realtime Database — stores your LifeWheel account data, the OAuth grants issued to ChatGPT, and the connector audit log.
- Google Cloud Functions — hosts the MCP server that fulfills tool calls.
The connector does not invoke any of LifeWheel's marketing-analytics processors (Amplitude, AppsFlyer, Meta), advertising networks, or attribution providers. We do not sell, rent, or share connector data with any party for advertising or profiling purposes.
5. Retention.
- OAuth authorization codes — 10 minutes, then deleted.
- OAuth access tokens — 30 days. Refresh tokens — 180 days. Both are invalidated immediately when you disconnect the connector or delete your account.
- Audit log entries at
users/<uid>/mcp/audit/— tool name, truncated parameters (max 2 KB), and timestamp. Kept for the lifetime of your account and removed when your account is deleted. - Daily rate-limit counters at
users/<uid>/mcpRateLimit/<date>— a date and an integer; kept for the lifetime of your account. - Tool inputs and outputs — not stored on our servers beyond the in-flight HTTP request. The records returned to ChatGPT are your existing LifeWheel data and remain in your account only as long as you keep them.
- Demo-tool data — never persisted server-side. Sliders the user moves in
start_wheel_demostay in the ChatGPT widget until rendered. - Chat history on the ChatGPT side — retained according to OpenAI's policies, not LifeWheel's. Tool outputs already returned to ChatGPT remain visible in your ChatGPT conversation until you delete those messages or your ChatGPT account.
6. Your controls.
- Disconnect at any time from ChatGPT → Settings → Apps & Connectors. The access and refresh tokens are invalidated server-side immediately.
- Delete tool outputs from ChatGPT by deleting the relevant ChatGPT conversations on OpenAI's side.
- Delete your LifeWheel account in-app. Open the iOS app → Settings → "Delete account". This permanently removes everything stored under your Firebase user id — life spheres, goals, tasks, habits, journal, mood, decisions, Vision Space tiles, history, OAuth grants, and the connector audit log — and is not reversible.
- Request an export or human-reviewed deletion by emailing alex@lifewheel.us. We will respond within 30 days.
- Refuse the connector entirely — the iOS app works fully without it and has no dependency on the ChatGPT integration.
For specific questions about the ChatGPT integration, email alex@lifewheel.us.
Conditions of Use
If you decide to use or otherwise access the Application, your use/access and any possible dispute over privacy is subject to this Privacy Statement and our Terms of Use, including limitations on damages, arbitration of disputes, and application of California state law.
Third Party Applications / Websites
The Application may permit you to link to other applications or websites. Such third party applications/websites are not under LifeWheel's control, and such links do not constitute an endorsement by LifeWheel of those other applications/websites or the services offered through them. The privacy and security practices of such third party application/websites linked to the Application are not covered by this Privacy Statement.
Your Rights and Controls
You have control over the data LifeWheel holds about you.
- Access and edit. Every record you create — life-sphere scores, goals, tasks, habits, journal entries, mood logs, decisions, Vision Space tiles — is shown inside the iOS app and can be edited or deleted there at any time. Account settings live under Settings.
- Export. Email alex@lifewheel.us to request a JSON export of the data we hold under your Firebase user id. We will respond within 30 days.
- Delete your account. Open the iOS app → Settings → "Delete account". This permanently removes your records from Firebase Realtime Database, invalidates any OAuth grants issued to ChatGPT, and is not reversible. You can also email the address above to request deletion.
- Withdraw consent for optional integrations. Disconnect the ChatGPT connector inside ChatGPT → Settings → Apps & Connectors. Revoke HealthKit access in iOS Settings → Health → Data Access & Devices → LifeWheel. Disable push notifications in iOS Settings → LifeWheel.
- App Tracking. The iOS App Tracking Transparency prompt lets you decline access to the advertising identifier; declining limits attribution but does not affect any in-app feature.
- Marketing communications. You can disable in-app messaging and push notifications at any time from Settings or from iOS Settings.
- Regional rights. Depending on where you live (EEA/UK GDPR, California CCPA/CPRA, Brazil LGPD, and similar regimes), you may have additional rights including access, rectification, erasure, restriction, portability, and the right to lodge a complaint with a supervisory authority. Email alex@lifewheel.us to exercise any of these rights and we will respond within 30 days.
Changes to This Privacy Statement
LifeWheel may amend this Privacy Statement from time to time. Use of information we collect is subject to the Privacy Statement in effect at the time such information is collected.
Questions or Concerns
If you have any questions or concerns regarding privacy, please send us a detailed message at alex@lifewheel.us. We will make every effort to resolve your concerns.