Privacy Notice
A plain-language template for FitBy40 users.
Before launch: replace these placeholders after legal review: Effective date: [EFFECTIVE DATE]; business name and address: [LEGAL BUSINESS NAME AND MAILING ADDRESS]; governing jurisdiction: [JURISDICTION]; privacy contact: [SUPPORT EMAIL OR PRIVACY CONTACT]. This page is not legal advice or an attorney-approved notice.
What FitBy40 collects
When you create an account, FitBy40 stores your username, display name, optional email address, optional birth year, a salted password hash, and account creation time. We store session-token digests and expiry times to keep accounts signed in; we do not store the raw session token in the database.
When you use FitBy40, we store your 12 life-wheel scores, focus pillar, 40-day sprint progress, check-in dates, streak, and any saved AI insight. We also store community posts, comments, and likes; fitness-plan choices and generated plan text; daily activity logs and notes; scheduled connection prompts and notes; and requested exercise-video job status, URL, or error message.
For abuse prevention, FitBy40 stores a derived, hashed rate-limit key with request-count and timing information. It is not a stored IP address, bearer token, password, or request content.
Health Connect
The FitBy40 Android experience may request permission to read only these three Health Connect data types: steps, active calories burned, and exercise minutes. The app reads only the permissions you approve. When you choose to sync, FitBy40 saves the resulting daily values with a health_connect source marker in your activity log. It does not claim to read diagnoses, medical records, or other Health Connect categories.
How information is processed and stored
FitBy40 uses Convex to operate its backend and store the records described above. Access to account records is authenticated with a bearer session token; user-specific Convex functions retrieve records for the signed-in account.
FitBy40 uses Google's Gemini service for life-wheel analysis and daily coaching when configured. Assessment requests send your 12 life-wheel scores; coaching requests send the text and app context submitted for coaching. These requests are not sent to Z.AI, including when Google is unavailable. Please do not enter information you do not want Google to process. AI output can be wrong and should be reviewed with care.
Z.AI's GLM service may generate generic conversation starters from a fixed, app-written prompt. These requests contain no account identifiers, relationship selections, scores, coaching messages, notes, or Health Connect records. If generation is unavailable, the app uses its curated conversation starters. AI exercise-video generation remains unavailable.
How we use information
We use information to provide the account, assessment, plans, community, progress tracking, Health Connect sync you request, account support, safety and abuse controls, and service improvement. Community content is visible to other people using the community feature; avoid posting private information.
Your choices and data rights
Signed-in users can export their account data through the account export endpoint and can permanently delete their account after confirming the deletion phrase. Current deletion removes the account, sessions, profile, fitness plans, daily logs, connection records, exercise-video records, the user's posts, associated comments and likes on those posts, and the user's own comments and likes. Export includes the user's account, profile, logs, plans, posts, comments, connections, and video records.
For a correction, access request, or question that is not available in the product, contact [SUPPORT EMAIL OR PRIVACY CONTACT]. Applicable rights and response requirements depend on [JURISDICTION].
Retention and changes
We retain account data while the account is active and delete it through the product's account-deletion workflow, subject to any retention requirements that counsel identifies. We may update this notice as the service changes. Material changes should be posted here with an updated effective date.