Privacy Policy for Coach+ (Lite)
Last Updated: July 20, 2025
This Privacy Policy describes how Coach+ (Lite) (hereinafter referred to as "the App," "we," "us," or "our") collects, uses, processes, stores, shares, and protects your personal information when you use our mobile application, Coach+ (Lite) (the "Service"). We are committed to safeguarding your privacy and ensuring transparency in our data practices. By accessing or using our Service, you agree to the terms outlined in this Privacy Policy. Please read this policy carefully to understand our practices regarding your data and how we will treat it.
1. Introduction to Coach+ (Lite) and Our Commitment to Your Privacy
Coach+ (Lite) is a dedicated fitness and workout tracking mobile application designed to help users manage their fitness journey, log workouts, track personal records, monitor body measurements, set and achieve fitness goals, and connect with a personal coach. Our Service is built to empower you in your pursuit of a healthier, stronger self.
Your privacy is paramount to us. We understand that the information you share with a fitness application is highly personal and sensitive, encompassing details about your health, physical activity, and personal achievements. This Privacy Policy aims to provide you with a clear and transparent understanding of:
-
What types of information we collect.
-
How and why we collect this information.
-
How we use the information to provide, maintain, and improve the Service.
-
The specific circumstances under which your information may be shared, particularly when you choose to connect with a coach.
-
The measures we take to protect your data.
-
Your rights and choices regarding your personal information.
We strongly encourage you to review this Privacy Policy thoroughly. By using Coach+ (Lite), you acknowledge that you have read and understood this policy, and you agree to the collection, use, and disclosure of your information as described herein. If you do not agree with our policies and practices, please do not use our Service.
2. Information We Collect
We collect various types of information to provide and improve our Service. This information can be broadly categorized into: (a) Information You Directly Provide to Us, (b) Information Automatically Collected, and (c) Information from Third-Party Sources.
2.1. Information You Directly Provide to Us
When you register for an account, set up your profile, log workouts, input measurements, or interact with certain features within the App, you may directly provide us with the following categories of personal information:
2.1.1. Account and Profile Information
-
User ID (id, providerId): A unique identifier assigned to your account within our system and from your authentication provider (e.g., Firebase Authentication User UID). This ID is essential for managing your account, linking your data, and ensuring data privacy by associating data points uniquely with your profile.
-
Name (name): Your display name, which can be provided during sign-up (e.g., from Google/Apple) or edited within your profile settings. This is used for personalizing your in-app experience and for your coach to identify you.
-
Email Address (email): Your email address, typically obtained from your chosen sign-in provider (Google or Apple). This is used for account verification, communication, and for your coach to contact you.
-
Profile Image URL (profileImageUrl): A URL to your profile picture, which may be provided by your sign-in provider or updated by you. This helps personalize your profile within the App.
-
Bio (bio): A short description about yourself, which you can add or edit in your profile. This allows you to share personal information about your fitness journey or interests, visible to you and your connected coach.
-
Instagram URL (instagramUrl): A link to your Instagram profile, if you choose to provide it. This is displayed on your profile and accessible to your coach.
-
Website URL (websiteUrl): A link to your personal website, if you choose to provide it. This is displayed on your profile and accessible to your coach.
2.1.2. Coach Connection and Communication Information
-
Coach ID (coachId): The unique identifier of the coach you choose to connect with. This is fundamental for enabling the coach-client relationship within the App.
-
Coach Request Status (coachRequestStatus): The current status of your coach connection request (e.g., 'pending', 'accepted', 'rejected', or null if no request). This indicates your relationship state with a particular coach.
-
Coach Request Date (coachRequestDate): The timestamp when you initiated a coach connection request. This is used for managing the request lifecycle, such as determining if a request has expired.
-
Phone Number (phoneNumber): An optional phone number you may provide during the coach request process. This is specifically intended for your coach to contact you outside the App if you consent to it.
-
Additional Notes (additionalNotes): Optional free-form text you can include when sending a coach request. This allows you to convey specific information or requests to a potential coach.
-
Coach Notes (coachNotes): Internal notes that a coach may associate with your profile. This information is entered by the coach and is part of your client profile, visible to you and your coach.
2.1.3. Fitness and Health Data
This is highly sensitive data that directly relates to your physical health and performance. We collect this data as you actively engage with the core functionalities of the App:
-
Logged Workout Data (loggedExercises, loggedSets): When you complete and log a workout, we collect detailed information about your performance for each exercise and set. This includes:
-
Workout ID (workoutId): A unique identifier for each logged workout session.
-
Exercise ID (exerciseId): The unique identifier of the specific exercise performed.
-
Exercise Name (exerciseName): The name of the exercise (e.g., "Bench Press," "Running").
-
Exercise Description (exerciseDescription): A brief description of the exercise.
-
Exercise Type (exerciseType): Categorization of the exercise (e.g., 'REPS_AND_WEIGHT', 'TIME', 'STEPS_AND_WEIGHT', 'TIME_AND_DISTANCE').
-
Equipment (equipment): The type of equipment used for the exercise (e.g., 'BARBELL', 'BODYWEIGHT').
-
Set ID (id within RemoteLoggedWorkoutSet): Unique identifier for each individual set within an exercise.
-
Order (order): The sequential number of the set within an exercise.
-
Set Type (setType): Classification of the set (e.g., 'regular', 'warmup').
-
Reps (reps): The number of repetitions performed for a set (for 'REPS_AND_WEIGHT' exercises).
-
Weight (weight): The weight lifted for a set (for 'REPS_AND_WEIGHT' and 'STEPS_AND_WEIGHT' exercises).
-
Work Time (workTime): The duration of a set in seconds (for 'TIME' and 'TIME_AND_DISTANCE' exercises).
-
Distance (distance): The distance covered for a set (for 'TIME_AND_DISTANCE' exercises).
-
Steps (steps): The number of steps taken for a set (for 'STEPS_AND_WEIGHT' exercises).
-
Start Date (startDate): The date and time when the workout session began.
-
Duration (durationInSeconds): The total time spent on the workout session.
-
Total Completed Sets (totalCompletedSets): The aggregate count of all sets marked as complete within a workout.
-
Workout Name (workoutName): The name of the workout template used.
-
Muscle Groups Description (muscleGroupsDesc): A description of the primary muscle groups targeted in the workout.
-
-
Personal Record Data (PersonalRecord): When you achieve a new personal best in an exercise, we store this information:
-
Personal Record ID (id): A unique identifier for each personal record.
-
Metric Type (metricType): The type of metric for the personal record (e.g., 'weight', 'reps', 'time', 'distance', 'steps').
-
Value (value): The specific value achieved for the personal record (e.g., 100 kg, 12 reps).
-
Date (date): The date when the personal record was achieved.
-
Associated Workout ID (workoutId): The ID of the workout during which the personal record was set.
-
-
Measurement Data (MeasurementData): You can log various body measurements over time:
-
Measurement ID (id): A unique identifier for each measurement entry.
-
Type (type): The category of the measurement (e.g., 'weight', 'bodyFat', 'chest', 'hips', 'waist', 'leftTight', 'rightTight', 'leftCalf', 'rightCalf', 'leftBiceps', 'rightBiceps').
-
Value (value): The numerical value of the measurement (e.g., 75.5 for weight).
-
Date (date): The date when the measurement was taken.
-
Last Updated (lastUpdated): The timestamp of the last modification to a measurement record.
-
-
Goal Data (Goal): Information related to fitness goals you set within the App:
-
Goal ID (id): A unique identifier for each goal.
-
Measurement Type (measurementType): The specific measurement type the goal is associated with (e.g., 'weight', 'bodyFat', 'chest').
-
Target Value (targetValue): The desired value to achieve for the goal.
-
Starting Value (startingValue): The value of the measurement when the goal was created.
-
Target Date (targetDate): An optional deadline for the goal.
-
Creation Date (createdAt): The date when the goal was created.
-
Status (status): The current state of the goal (e.g., 'active', 'completed', 'abandoned').
-
Notes (notes): Optional free-form text you can add about your goal.
-
2.2. Information Automatically Collected
When you access or use the Service, we and our third-party service providers automatically collect certain information about your device and usage patterns. This data helps us understand how the App is used, improve its functionality, and ensure its stability and security.
2.2.1. Usage Data
We collect information about your interactions with the App, such as:
-
App Usage Details: Which screens you visit, features you use, and the duration of your sessions. This includes events like "Add Measurement," "Save Workout," "Sign In," "Add Set," "Toggle Set Completion," and interactions with various UI elements. This detailed interaction data allows us to identify popular features, understand user flows, and prioritize development efforts.
-
Interaction Timestamps: The precise date and time of your activities within the App, such as when a workout starts, a set is completed, or a measurement is logged. These timestamps are crucial for accurately tracking your fitness journey and progress over time.
-
Performance Metrics: Information related to the App's performance and responsiveness, such as loading times, rendering speeds, and any delays encountered during data synchronization. This helps us optimize the App's efficiency and user experience.
-
Navigation Paths: The sequence of screens you navigate through in the App. Understanding these paths helps us streamline the user interface and improve accessibility of features.
2.2.2. Device and Technical Information
We collect information about the device you use to access our Service:
-
Device Type: (e.g., iPhone, Android phone, tablet). This helps us ensure compatibility and optimize the App for different hardware specifications.
-
Operating System: (e.g., iOS version, Android version). Essential for debugging and ensuring the App functions correctly across various software environments.
-
Unique Device Identifiers: Identifiers such as advertising IDs (if applicable and permitted by device settings and user consent), which may be used for analytics and fraud prevention.
-
IP Address: Your device's Internet Protocol address, used for general location tracking (country/region level), security, and fraud detection.
-
Mobile Network Information: Information about your mobile network (e.g., carrier, connection type). This helps us understand network conditions affecting App performance.
-
App Version (app_version): The specific version of the Coach+ (Lite) application you are using. This is vital for tracking compatibility, identifying bugs in specific versions, and ensuring that updates are correctly delivered.
-
Platform (platform): The operating system platform of your device (e.g., 'android', 'ios'). This allows us to differentiate between platform-specific issues and tailor features accordingly.
-
Firebase Cloud Messaging (FCM) Token (token): A unique identifier generated by Firebase Cloud Messaging for your device. This token is used to send you push notifications, as described in Section 4.6.
-
App Source (app_source): An identifier indicating that the token originated from the "client_app" (Coach+ Lite). This helps us distinguish notification sources within our ecosystem.
2.2.3. Log Data, Errors, and Analytics
When you use our Service, our servers automatically record information that your browser or device sends ("Log Data"). This may include:
-
Error Logs: Records of any errors, crashes, or unexpected behavior encountered within the App. These logs are crucial for debugging, identifying performance bottlenecks, and improving the overall stability of the Service.
-
Crash Reports: Detailed information about software crashes, including the state of the App at the time of the crash, device details, and stack traces. This data is anonymized where possible, but may contain identifiers tied to your session to help diagnose the issue.
-
Performance Data: Metrics related to the speed and efficiency of backend operations, database queries, and network requests. This data helps us monitor and maintain the performance of our cloud infrastructure.
2.2.4. Information on Workout Templates and Plans
While workout templates and plans are primarily configured by coaches or derived from pre-made content, the App automatically interacts with these data structures, which contain:
-
Workout Template ID (id): Unique identifier for a workout template.
-
Coach ID (coachId): The ID of the coach who created the workout template or plan. This is automatically associated when a plan is assigned.
-
Workout Name (workoutName): The title of the workout template.
-
Workout Exercises (workoutExercises): A list of exercises within the template, including their IDs, names, descriptions, types, equipment, and sets.
-
Muscle Groups Description (muscleGroupsDesc): A summary of the muscle groups targeted by the workout.
-
Image URL (imageUrl): An optional image associated with the workout template.
-
Is Original Template (isOriginalTemplate): A flag indicating if the template is a master template or a client-specific copy.
-
Plan ID (id): Unique identifier for a plan template.
-
Plan Name (name): The name of the workout plan.
-
Plan Description (description): A detailed description of the workout plan.
-
Level (level): The fitness level associated with the plan (e.g., "ADVANCE").
-
Length in Weeks (lengthWeeks): The duration of the plan.
-
Previous Set Values (previousReps, previousWeight, previousWorkTime, previousDistance, previousSteps): After you complete a workout, the App automatically updates the corresponding workout template with the values you achieved (e.g., reps, weight, time) as "previous" values for future reference. This enables progressive overload tracking.
2.3. Information from Third-Party Sources
We integrate with third-party services for essential functionalities like authentication and data storage. These services may provide us with certain information about you.
2.3.1. Authentication Providers (Google Sign-In, Apple Sign-In)
When you choose to sign in to Coach+ (Lite) using your Google or Apple account, we receive certain information from these providers to create and manage your App account:
-
From Google: Your Google Account ID (used as providerId and id), display name, email address, and profile picture URL.
-
From Apple: Your Apple ID (used as providerId and id), your email address (if you choose to share it), your full name (if you choose to share it), and an authorization code and identity token. We specifically use a cryptographically secure nonce during Apple Sign-In to enhance security and prevent replay attacks.
This information is used solely for the purpose of authenticating you to our Service and pre-populating your App profile. We do not receive access to your Google or Apple passwords or any other information beyond what is necessary for authentication and basic profile setup.
2.3.2. Firebase Services (Google Firebase)
Our backend infrastructure relies heavily on Google Firebase, a development platform by Google. Firebase services act as our data processors and may collect data as part of their operations, consistent with their own privacy policies. This includes:
-
Firebase Authentication: Handles user sign-up and login, including the data received from Google and Apple as mentioned above.
-
Cloud Firestore: Our primary database for storing all your personal information, fitness data, and other App-related content. Data stored includes all categories mentioned in Section 2.1 (Account, Coach, Fitness, Health, Goals) and Workout Templates/Plans.
-
Firebase Cloud Messaging (FCM): Used for sending push notifications to your device. FCM collects FCM tokens and device information to deliver messages.
-
Firebase Storage: Used to store certain static assets, such as exercise localization files (exercises_en.json, exercises_he.json). While these files themselves don't contain personal information, accessing them involves network requests that generate standard log data.
-
Firebase Crashlytics: Automatically collects crash reports and error logs from the App to help us identify and fix software bugs. This data typically includes device information, crash traces, and basic usage data related to the crash event, but generally does not include directly identifiable personal information.
-
Firebase Analytics: Collects anonymized and aggregated usage data to help us understand how users interact with the App. This includes events like screen views, button taps, and feature usage, allowing us to analyze trends and improve the Service. While Firebase Analytics can be linked to other Firebase services, we primarily use it for aggregated insights and do not attempt to personally identify users through this data.
By using Coach+ (Lite), you acknowledge and agree that your data may be processed by these Firebase services in accordance with Google's Privacy Policy.
3. How We Use Your Information
We use the information we collect for various purposes, primarily to provide, maintain, and improve the Coach+ (Lite) Service, as well as for communication, security, and legal compliance.
3.1. To Provide and Maintain Our Service
The core of our data usage is to deliver the functionalities you expect from Coach+ (Lite):
-
Account Management and Authentication: To create and manage your user account, authenticate your identity when you log in, and retrieve your profile and data. This ensures secure and personalized access to your fitness journey. The id and providerId are fundamental for this, ensuring your data is uniquely tied to your authenticated identity.
-
Personalized Profile Display: To display your name, profileImageUrl, bio, instagramUrl, and websiteUrl within your in-app profile, creating a customized experience. This information helps you track your journey and provides context for your coach.
-
Workout Logging and Tracking: To store and display your loggedExercises and loggedSets (including reps, weight, workTime, distance, steps), enabling you to review your past performance, track progress, and manage your workout history. This forms the central record of your physical activity within the App.
-
Measurement Management and Visualization: To record and visualize your MeasurementData (including type, value, date, lastUpdated), allowing you to track changes in your body composition and physical dimensions over time. The MeasurementChartView and MeasurementListItem depend on this data for graphical and list representations.
-
Goal Setting and Progress Tracking: To enable you to define and monitor your fitness goals (including measurementType, targetValue, startingValue, targetDate, notes, status). The GoalProgressWidget and related features rely on this data to calculate and display your progressPercentage, daysRemaining, and isOverdue status, providing motivation and accountability.
-
Coach Connection and Interaction: To facilitate your connection with a Coach. This includes processing your coachRequestStatus, coachRequestDate, phoneNumber, and additionalNotes when you request a coach. Once connected, your coach can access your logged fitness data and assign RemotePlanTemplates, enabling them to guide your training. This requires clear association via coachId.
-
Workout Plan Delivery and Execution: To deliver RemotePlanTemplates and RemoteWorkoutTemplates assigned by your coach or selected from pre-made content. This includes displaying workoutName, muscleGroupsDesc, level, lengthWeeks, and the detailed workoutExercises and workoutSets (including previousReps, previousWeight, etc.) for you to follow and log.
-
Personal Record Management: To detect, store, and display your PersonalRecords (including exerciseName, metricType, value, date, workoutId). This helps you celebrate achievements and benchmark your progress.
-
Real-time Data Synchronization: To ensure that your data is consistently updated across your devices and our backend services (Firestore), providing a seamless experience even if you switch devices or log in from multiple locations. The StreamSubscriptions in our ViewModels are designed for this real-time update mechanism.
3.2. To Personalize Your Experience
We use your information to tailor the Service to your individual preferences and needs:
-
Customized Content: Displaying your workoutName and muscleGroupsDesc in the "Today" screen and workout summary to reflect your current training.
-
Adaptive Workouts: Utilizing previousReps, previousWeight, previousWorkTime, previousDistance, and previousSteps from completed workouts to dynamically update workout templates, allowing for progressive overload and tailored training recommendations in future sessions. This helps ensure your workouts remain challenging and relevant to your evolving fitness level.
-
Personalized Progress Views: Displaying your MeasurementData and Goal progress with relevant metrics and visualizations to give you a clear, personalized overview of your fitness journey.
3.3. To Improve Our Service
We continuously strive to make Coach+ (Lite) better. Your data helps us achieve this by:
-
Analyzing Usage Patterns: Aggregating Usage Data (e.g., frequently used features, common workout flows) to understand how users interact with the App. This analysis helps us identify areas for improvement, streamline user experience, and develop new features that cater to user needs. For example, understanding which exercise types are most popular can inform future content development.
-
Performance Monitoring: Tracking Log Data, Error Logs, and Crash Reports to diagnose and resolve technical issues, optimize app performance, and ensure stability across various devices and operating systems. This includes analyzing the speed of data fetching from Firestore and network requests for resources like ExerciseLocalizationService translations.
-
Feature Enhancement: Using insights from analytics to refine existing features and develop new ones. For instance, if a particular workout structure is consistently completed by users, we might enhance our template generation logic.
-
Localization Refinement: Using ExerciseLocalizationService to dynamically load exercise translations helps us adapt the App to different linguistic regions. We may analyze common translation requests or issues to improve the accuracy and completeness of localized content.
3.4. For Communication
We use your contact information to communicate with you regarding the Service:
-
Service-Related Notifications: Sending you essential notifications related to your account, such as updates on your coach request status (coachRequestStatus), reminders about your assignedPlanDate, or confirmation of saved workouts. These are generally transactional messages crucial for the functionality of the App.
-
Push Notifications (FCMService): With your consent, we use FCMService and your FCM Token to send you timely updates, such as notifications about new coach requests (notification_new_coach_request_title, notification_new_coach_request_body). You can manage your notification preferences through your device settings.
-
Customer Support: To respond to your inquiries, provide technical support, and address any issues you may encounter while using the Service.
3.5. For Security and Fraud Prevention
Protecting your data and ensuring the integrity of our Service is critical. We use collected information for:
-
Authentication and Authorization: Verifying your identity upon login (using providerId, email) and controlling access to your personal data and features.
-
Detecting Unauthorized Access: Monitoring for suspicious activity or unauthorized attempts to access user accounts or data. This may involve analyzing IP Address and Device Information.
-
Preventing Fraud: Identifying and mitigating fraudulent activities or misuse of the Service.
-
Maintaining System Integrity: Ensuring the stability and security of our backend infrastructure (Firebase) and protecting against cyber threats.
3.6. For Analytics and Research
We use aggregated and anonymized data for analytical purposes to gain insights into usage patterns and improve our offerings:
-
Trend Analysis: Understanding general trends in workout types, exercise popularity, and measurement changes across our user base. This involves looking at aggregated workoutName, muscleGroupsDesc, exerciseType, and measurementType data.
-
Performance Benchmarking: Comparing overall user progress (e.g., average PersonalRecord improvements) to evaluate the effectiveness of our programs and features.
-
Product Development: Informing strategic decisions about new features, improvements, and content based on user engagement data.
-
Statistical Analysis: Performing statistical analyses on anonymized datasets to derive insights that do not identify any individual user.
3.7. For Legal Compliance
We may use and retain your information to comply with legal obligations:
-
Responding to Legal Requests: Fulfilling lawful requests from governmental authorities or courts, such as subpoenas or court orders.
-
Enforcing Terms and Policies: Applying our Terms of Service and other operational policies, including detecting and preventing violations.
-
Protecting Rights: Protecting the rights, property, or safety of Coach+ (Lite), our users, or others. This may involve using information to address disputes, investigate potential breaches, or defend against legal claims.
4. How We Share Your Information
We understand the sensitive nature of your personal information and limit its sharing to specific, necessary circumstances. We do not sell your personal data to third parties for their marketing purposes.
4.1. With Your Connected Coach
This is a fundamental aspect of the Coach+ (Lite) Service and occurs only with your explicit consent when you choose to connect with a coach. Once you send a coach request and it is accepted, or if a coach assigns a plan to you, the following categories of your personal information become accessible to your designated coach within their Coach+ App:
-
Your Profile Information: Your name, email, profileImageUrl, bio, instagramUrl, and websiteUrl. This allows your coach to identify and get to know you.
-
Coach Connection Details: The coachId linking you to them, your coachRequestStatus, and coachRequestDate.
-
Communication Details You Provide: The phoneNumber and additionalNotes you provided during the coach request process are specifically shared with your coach to facilitate direct communication outside the App, as consented by you.
-
Workout Summary and History: Your lastWorkoutName and lastWorkoutDate for quick overview, as well as all your detailed loggedExercises and loggedSets (including reps, weight, workTime, distance, steps, startDate, durationInSeconds, totalCompletedSets). This enables your coach to review your performance, monitor compliance with assigned plans, and adjust your training.
-
Measurement Data: All your MeasurementData (including type, value, date, lastUpdated). This allows your coach to track your physical progress over time and assess the effectiveness of their guidance.
-
Goal Data: All your Goal information (including measurementType, targetValue, startingValue, targetDate, createdAt, status, notes). This enables your coach to understand your objectives and align their coaching strategies with your aspirations.
-
Assigned Plan Information: Details of your assignedPlanId and assignedPlanDate, including the RemotePlanTemplate (name, description, level, lengthWeeks, and all contained RemoteWorkoutTemplates and their RemoteWorkoutTemplateExercises and RemoteWorkoutTemplateSets with previousReps, previousWeight, etc.). This allows your coach to see the full plan assigned to you and its details.
Important Note on Coach Data Access:
-
Coaches access this data through a separate "Coach App" (implied by file structure and functionality descriptions). They are also users of our services and are bound by their own terms of service and privacy obligations. We encourage you to discuss your data privacy concerns directly with your coach.
-
If you disconnect from a coach (via the disconnect_coach button in CoachScreen), your coachId and coachRequestStatus are cleared in your ClientUser profile. This action typically removes your data from their active client list within their Coach App, but data previously accessed or downloaded by the coach outside of our system may still be retained by them.
4.2. With Third-Party Service Providers
We engage reputable third-party companies and individuals to facilitate our Service, perform Service-related tasks, or assist us in analyzing how our Service is used. These "Service Providers" have access to your Personal Information only to perform these tasks on our behalf and are obligated not to disclose or use it for any other purpose. The primary Service Providers we use include:
-
Google Firebase (Google LLC): As detailed in Section 2.3.2, Firebase provides our core backend infrastructure, including database services (Cloud Firestore), authentication, cloud messaging (FCM), storage, analytics, and crash reporting. Your data is stored and processed on Firebase servers, which adhere to Google's robust security and privacy standards.
-
Google Play Services (Google LLC): For Android users, Google Play Services provides necessary APIs for functions like app updates, push notifications, and location services. Standard device and usage information may be processed by Google through these services.
-
Apple Inc.: For iOS users, Apple provides services like Sign In with Apple and core iOS APIs that the App integrates with. Data processing is in accordance with Apple's privacy policy.
-
Cloud Hosting Providers: Firebase operates on Google Cloud infrastructure. Our use of Firebase implies data processing on Google's global server network.
-
Analytics Providers (e.g., Firebase Analytics): These services help us understand user behavior by collecting anonymized and aggregated usage data. They process data in a way that does not directly identify you.
-
Crash Reporting Providers (e.g., Firebase Crashlytics): Collect information about app crashes and errors to help us improve app stability. This data is primarily technical and does not aim to identify individuals.
4.3. For Business Transfers
If Coach+ (Lite) is involved in a merger, acquisition, or asset sale, your Personal Information may be transferred. We will provide notice before your Personal Information is transferred and becomes subject to a different Privacy Policy.
4.4. For Legal Reasons
We may disclose your Personal Information in the good faith belief that such action is necessary to:
-
Comply with a legal obligation (e.g., responding to a valid subpoena or court order).
-
Protect and defend the rights or property of Coach+ (Lite).
-
Prevent or investigate possible wrongdoing in connection with the Service.
-
Protect the personal safety of users of the Service or the public.
-
Protect against legal liability.
4.5. With Your Consent
We may share your information for any other purpose with your explicit consent. For example, if you choose to share your workout summary on social media, we would facilitate that sharing based on your direct instruction.
5. Data Retention
We retain your personal information only for as long as is necessary for the purposes set out in this Privacy Policy, including for the purposes of satisfying any legal, accounting, or reporting requirements.
-
Account and Profile Data: Your ClientUser profile data (name, email, bio, profileImageUrl, instagramUrl, websiteUrl, phoneNumber, additionalNotes, coachId, coachRequestStatus, coachRequestDate, coachNotes, lastWorkoutName, lastWorkoutDate, assignedPlanId, assignedPlanDate) is retained for the duration of your active account with Coach+ (Lite). When you delete your account, this data is removed as described in Section 6.2.
-
Fitness and Health Data: Your loggedWorkouts, PersonalRecords, MeasurementData, and Goals are retained for the duration of your active account. This historical data is crucial for you to track your long-term progress and for your coach to provide continuous guidance.
-
Workout Templates/Plans: While your assigned plans are linked to your account, the master templates stored in our PlanTemplateRepository are retained for as long as they are part of our service offerings or are associated with active coach accounts.
-
FCM Tokens: FCM tokens are retained as long as they are active and associated with your user ID. If a token becomes inactive (e.g., app uninstalled, user logs out), it is marked is_active: false in our fcm_token collection and eventually may be purged.
-
Usage and Analytics Data: Aggregated and anonymized usage data is retained for longer periods for statistical analysis and service improvement. Raw log data may be retained for shorter periods for debugging and security purposes.
-
Legal Obligations: Some data may be retained for longer periods if required by law or to resolve disputes.
Upon termination or deactivation of your account, we will either delete or anonymize your personal information, or if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.
6. Data Security
We take the security of your personal information seriously and implement robust technical and organizational measures to protect it from unauthorized access, alteration, disclosure, or destruction. Our security practices include:
-
Encryption in Transit: All data transmitted between your device and our servers (Firebase) is encrypted using industry-standard protocols (e.g., TLS/SSL). This ensures that your information is secure as it travels over the internet.
-
Encryption at Rest: Data stored in our primary database (Cloud Firestore) is encrypted at rest by Google's infrastructure, providing an additional layer of protection for your stored information.
-
Access Controls: Access to your data by our personnel is strictly limited to those who have a legitimate business need to access it (e.g., for technical support or maintenance), and is protected by strong authentication and authorization mechanisms.
-
Firebase Security Rules: We implement strict security rules within Firebase to ensure that users can only access their own data, and coaches can only access data of their assigned clients. These rules are regularly reviewed and updated.
-
Secure Authentication: We leverage Firebase Authentication, which handles user credentials securely and supports industry-standard authentication methods like Google Sign-In and Apple Sign-In. The use of nonces during Apple Sign-In further enhances the security of the authentication process.
-
Regular Security Audits: We periodically review our security practices and infrastructure to identify and address potential vulnerabilities.
-
Data Minimization: We strive to collect only the personal information that is necessary for the purposes outlined in this Privacy Policy.
-
Controlled Access to Production Environments: Access to our live production database and backend systems is restricted and monitored.
While we strive to use commercially acceptable means to protect your Personal Information, no method of transmission over the Internet or method of electronic storage is 100% secure. Therefore, we cannot guarantee its absolute security. We encourage you to also take steps to protect your personal information, such as using strong, unique passwords for your Google/Apple accounts and keeping your device secure.
7. Your Rights and Choices
You have certain rights regarding your personal information. We are committed to providing you with mechanisms to exercise these rights.
7.1. Accessing and Updating Your Information
-
Profile Editing: You can review and update your name, bio, instagramUrl, and websiteUrl at any time through the "Edit Profile" screen within the App. Any changes you make will be saved to your ClientUser profile in Firestore.
-
Measurement and Goal Management: You can add, edit, or remove your MeasurementData and Goal entries directly within the App's respective screens. For instance, you can add new weight measurements, update goal targets, or abandon a goal.
-
Workout Log Review: You can view your historical loggedWorkouts to review details of your past performance. While you cannot directly edit past logged workout data to preserve its integrity, you can add new sets to an active workout or update existing values during an active workout session.
-
Requesting Access: You have the right to request access to the personal information we hold about you. We will provide you with a copy of your personal data in a structured, commonly used, and machine-readable format.
7.2. Account Deletion
You have the right to delete your Coach+ (Lite) account at any time through the "Settings" screen within the App.
-
Process: When you initiate account deletion, your ClientUser profile data (including name, email, profileImageUrl, instagramUrl, websiteUrl, bio, coachId, coachRequestStatus, coachRequestDate, coachNotes, lastWorkoutName, lastWorkoutDate, assignedPlanId, assignedPlanDate, phoneNumber, additionalNotes) will be reset or cleared from our active user database (ClientRepository.resetClientUser).
-
Data Associated with Your User ID: All your loggedWorkouts, MeasurementData, PersonalRecords, and Goals directly linked to your userId will be deleted from our systems.
-
FCM Token Deactivation: Your FCM Token associated with your userId will be deactivated (is_active: false) in our fcm_token collection, stopping future notifications.
-
Coach Access: If you were connected to a coach, your account deletion will remove your profile from their client list in the Coach App. However, data that the coach may have previously accessed or downloaded outside of our system cannot be controlled or deleted by us.
-
Backup Retention: Please note that some residual data may remain in our backup systems for a limited period after deletion for disaster recovery purposes, but it will be securely isolated and eventually purged.
-
Legal/Reporting Obligations: We may retain certain information for longer periods if required by law or for legitimate business purposes such as tax, accounting, or audit requirements.
7.3. Managing Coach Connections
-
Disconnect Coach: If you are connected to a coach, you can disconnect from them at any time through the "Coach" screen. This action clears the coachId and coachRequestStatus from your ClientUser profile, effectively ending the digital connection within the App. This will remove your data from their active client list.
-
Cancel Coach Request: If you have a pending coach request, you can cancel it via the "Coach" screen. This clears the coachRequestStatus and coachRequestDate from your profile.
7.4. Opting Out of Communications
-
Push Notifications: You can control the push notifications you receive from Coach+ (Lite) by adjusting the notification settings on your mobile device. You can choose to disable all notifications or selectively manage them (e.g., turn off alerts but allow badges). We comply with your device's notification settings. The App will prompt you for notification permissions upon first use or when permission is denied.
7.5. Cookie Policy and Tracking Technologies
While Coach+ (Lite) is a mobile application and does not typically use traditional browser cookies, our third-party service providers (like Firebase) may use similar tracking technologies within the App environment to collect Usage Data and Device Information. These technologies are primarily used for analytics, crash reporting, and to enhance service delivery. You can often manage data collection preferences through your device settings or through the privacy controls offered by your mobile operating system.
7.6. Right to Object and Restrict Processing
You have the right to object to our processing of your personal information in certain circumstances, and the right to request the restriction of processing your personal data. To exercise these rights, please contact us using the details provided in Section 10.
7.7. Data Portability
You have the right to receive your personal data in a structured, commonly used, and machine-readable format, and to transmit that data to another controller, where technically feasible. To request data portability, please contact us.
7.8. Withdrawal of Consent
Where we rely on your consent to process your personal data, you have the right to withdraw that consent at any time. This includes withdrawing consent for specific data sharing with a coach (by disconnecting) or for receiving push notifications (via device settings). Withdrawal of consent will not affect the lawfulness of any processing carried out before you withdraw your consent.
8. Third-Party Services
Coach+ (Lite) integrates with and relies on several third-party services to function. These third-party services have their own privacy policies that govern their use of information. We encourage you to review their policies to understand their data practices:
-
Google Firebase: Firebase provides our backend services, including Cloud Firestore (database), Firebase Authentication (user login), Firebase Cloud Messaging (push notifications), Firebase Storage (asset hosting), Firebase Crashlytics (crash reporting), and Firebase Analytics (app usage analytics).
-
Apple (Sign In with Apple): For iOS users who sign in with their Apple ID.
-
Google Play Services: For Android users, providing various APIs and background services essential for app functionality.
-
External Websites/Services Linked from within the App:
-
Youtube: The App provides a feature to search for exercise videos on YouTube. When you use this feature, you will be redirected to the YouTube website or app. Your activity on YouTube is governed by YouTube's (Google's) privacy policy.
-
Coach's Website/Instagram: If a coach provides their website or Instagram link, tapping on it will open your device's browser or the respective social media app. Your interaction with these external sites is governed by their privacy policies.
-
Coach+ (Lite) Privacy Policy and Terms of Service: Links to our own privacy policy and terms of service are available in the "Settings" screen for your review.
-
LA-Labs Website: Links to our company's "About Us" page are available in the "Settings" screen.
-
We are not responsible for the privacy practices or the content of these third-party websites or services. Please be aware when you leave our App and consult the privacy statements of each website and service that collects personal data.
9. Children's Privacy
Coach+ (Lite) is not intended for use by children under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If you are a parent or guardian and you are aware that your child has provided us with Personal Information, please contact us. If we become aware that we have collected Personal Information from children without verification of parental consent, we take steps to remove that information from our servers. In some jurisdictions, the minimum age for data processing may be higher, and we adhere to those requirements.
10. International Data Transfers
Your information, including Personal Information, may be transferred to — and maintained on — computers located outside of your state, province, country, or other governmental jurisdiction where the data protection laws may differ from those of your jurisdiction.
Our Service operates globally, and our primary data storage provider, Google Firebase, utilizes data centers around the world. By using Coach+ (Lite), you understand and agree that your personal data may be transferred to and processed in countries outside of your country of residence, including the United States, where Google's primary data centers are located.
We take all steps reasonably necessary to ensure that your data is treated securely and in accordance with this Privacy Policy and no transfer of your Personal Information will take place to an organization or a country unless there are adequate controls in place including the security of your data and other personal information. This includes relying on standard contractual clauses, or other legal transfer mechanisms as appropriate, for transfers of data outside of relevant jurisdictions (e.g., European Economic Area).
11. Changes to This Privacy Policy
We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the "Last Updated" date at the top of this Privacy Policy. We will also inform you via prominent notice within the App or by email prior to the change becoming effective.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page. Your continued use of the Service after any modifications to this Privacy Policy will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy.
12. Contact Us
If you have any questions or concerns about this Privacy Policy, our data practices, or if you wish to exercise your data rights, please contact us:
-
By email: [Insert Support Email Address Here, e.g., support@coachpluslite.com]
-
We will respond to your request within a reasonable timeframe, typically within 30 days.