Privacy Policy
Effective date: 16 October 2026
This policy explains how Forma handles personal data in the web and mobile apps, including optional Apple Health activity, trainer features, notifications, and Apple Watch connection.
1. Who is responsible
The controller for Forma accounts, platform operation, subscriptions, security, and support is Kamil Dike Software, Robotnicza 3, 97-310 Wola Moszczenicka, Poland, NIP 7712920344.
2. Data we process
- Account data: Firebase UID, email address, display name, profile photo, sign-in provider, language, and app preferences.
- Training data: routines, exercises, notes, schedules, reminders, activity, completion history, and feedback.
- Optional Apple Health data on iPhone: workouts, dates, duration, distance, active energy, daily steps, heart-rate readings, and workout heart-rate zones, where available and permitted. Forma also calculates activity trends and badges from this data.
- Trainer data: trainer profile, business name, coaching focus, invitations, client relationships, assignments, and adherence information.
- Device data: push-notification endpoint and keys, browser/device details, Watch pairing identifiers, token hashes, and last-seen timestamps.
- Billing data: Stripe customer and subscription identifiers, plan, price, currency, billing period, payment status, and invoice-related events. Forma does not store full card numbers or CVC codes.
- AI routine data: the routine request is sent to Google Vertex AI for generation but is not stored by Forma. Forma stores the normalized draft, validation issues, quota timestamps, credit ledger entries, and generation identifiers needed to deliver and secure the feature.
- ChatGPT integration: Forma receives exercise searches, selected exercise IDs, language, prescriptions, and routine names and notes supplied as tool arguments, not the full conversation. Creating a preview stores its workout content, link token, expiry, a hashed request identifier, and a content fingerprint. Rate limits store counts and time-window hashes derived from IP addresses or account IDs rather than raw identifiers.
- Performance data: page-loading and interaction timings, network response duration and payload size, browser, country inferred from the IP address, connection type, page path, service-worker status, and Firebase installation identifier. Entry pages whose path contains an invite, Watch pairing, client, or routine identifier are excluded from performance monitoring.
- Support and security data: messages sent to support, operational logs, errors, event identifiers, and information needed to investigate abuse or service failures.
3. Where data comes from
We receive data from you, your selected sign-in provider, your device, Stripe, and—when you use trainer features—from the trainer or client connected to your account. If you connect Apple Health on iPhone, Forma reads the data types you permit from the Health app.
4. Why we use data
- To create and operate your account, save routines and activity, connect devices, deliver requested notifications, and provide trainer/client features. The legal basis is performance of the service contract or steps requested before entering it.
- When you choose to connect Apple Health, to show your steps and workouts, calculate activity trends, and award badges on your iPhone. Forma requests read access for each Health data type through iOS. You can disconnect in Forma and change or revoke access in the Health app or iOS Settings.
- To process subscriptions, payments, refunds, and access rights. The legal bases are performance of the contract and compliance with tax and accounting obligations.
- To search for suitable routines and generate a requested routine draft. The legal basis is performance of the service contract. AI output is validated and requires your confirmation before it becomes a routine.
- To secure Forma, prevent fraud, diagnose failures, answer support requests, and establish or defend legal claims. The legal basis is our legitimate interest in operating and protecting the service.
- To measure loading, responsiveness, and network reliability across countries, browsers, and connection types so we can find and correct performance problems. The legal basis is our legitimate interest in maintaining a reliable service.
- To measure the mobile app events described below when you enable Usage analytics. The legal basis is your consent, which you can withdraw in Settings.
- Where processing depends on consent or device permission, such as enabling browser notifications, you can withdraw it through the relevant app or device settings.
5. Trainers and clients
Kamil Dike Software is responsible for Forma accounts and platform operation. A trainer may separately decide why and how client information is used for coaching and may therefore act as a separate controller for that coaching activity. Trainers are responsible for giving clients any additional privacy information required for their own services.
Trainer and client accounts can see data needed for their active relationship, including assigned routines, schedules, completion status, and feedback. Archiving a relationship limits product access but does not itself delete its history.
6. Service providers and recipients
Providers may process data outside the European Economic Area. Where required, transfers rely on an adequacy decision, standard contractual clauses, or another lawful safeguard used by the provider.
- Google Firebase and Google Cloud provide authentication, database, hosting, functions, performance monitoring, logging, and infrastructure. Firebase Performance Monitoring receives technical timing and connection data but is not given names, email addresses, client content, or custom user identifiers. Google provides optional account sign-in when you choose that sign-in method.
- In the mobile app, Firebase also collects technical diagnostics about the device, operating system and SDK versions to maintain its services.
- Google Sign-In may process account and device identifiers, contact details, usage data and approximate location inferred from the IP address for sign-in, security and service analytics.
- Apple provides optional sign-in and shares the name and email address you authorize, which may be a private relay address.
- Apple Health supplies permitted activity data to the iPhone app. Forma does not send data read from Apple Health to its servers, trainers, advertising services, usage analytics, or crash reports.
- ChatGPT receives the Forma tool results requested in your conversation, including exercise content and any preview link you ask to create. The assistant provider handles your conversation under its own terms and privacy policy. This integration does not send the conversation to Vertex AI.
- Google Cloud Vertex AI processes routine requests in the EU multi-region to produce structured exercise drafts. Forma does not enable model request/response logging, Search grounding, or explicit context caching for this feature.
- Stripe provides Checkout, subscriptions, payment processing, invoices, and the billing portal.
- Browser push providers deliver encrypted notifications when notifications are enabled.
- On iPhone, Expo Push Service and Apple deliver optional workout reminders. Forma stores the push token and an installation identifier linked to your account. Expo receives the push token, generic notification text and a delivery identifier, without routine names, trainer details or notes. Device registration is removed on sign-out or account deletion. Offline sign-out cleanup waits for a connection; notifications already submitted may still arrive.
- Google/Gmail processes support email. YouTube or another external video provider receives normal connection data only when its thumbnail or link is loaded or opened.
- Sentry (Functional Software, Inc.) provides application error monitoring. It receives diagnostic data about crashes—error messages, stack traces, and technical context such as browser and page—while workout and client content is excluded and identifiers such as email addresses are removed before an event is sent.
- A connected trainer or client receives the relationship and training information described above.
7. How long we keep data
- Core account, routine, activity, reminder, device, and coaching data is generally kept while the account remains active.
- Apple Health readings used in activity views stay in app memory. The iPhone keeps account-linked workout summaries and badge awards in local storage. Disconnecting Apple Health, signing out, or deleting the account clears this local Health cache. The original data remains in Apple Health and is managed there.
- AI routine prompts are not stored by Forma. Normalized, unconfirmed drafts are scheduled for deletion after 24 hours. Quota and credit records remain while needed to provide the balance, prevent abuse, handle refunds, and meet legal obligations.
- ChatGPT preview links stop working after 30 days. Preview and retry records are scheduled for automatic deletion after expiry; physical deletion may happen later. Rate-limit records are scheduled for deletion after their short enforcement windows. A routine explicitly saved after sign-in is a separate private account copy and remains after preview expiry. Unsaved previews are not linked to an account, so account deletion does not remove them.
- Deleting the account removes application data linked to it, revokes device records, cancels active subscriptions, removes operational Stripe mappings, and deletes Firebase Authentication.
- Billing, tax, fraud-prevention, dispute, and security records may be retained only for the period required by law or needed for a documented legal claim.
- Archived trainer relationships remain part of account history until relevant account deletion or later cleanup.
- Expired invitations, pairing sessions, notification-delivery history, resolved billing incidents, support messages, and technical logs may remain until routine cleanup or until they are no longer needed for their operational or legal purpose.
- Firebase Performance Monitoring keeps IP-associated performance events for 30 days and installation-associated and de-identified performance data for 60 days before beginning removal from live and backup systems.
8. Your rights and choices
Depending on the circumstances, you may request access, correction, deletion, restriction, portability, or object to processing based on legitimate interests. You may withdraw consent without affecting earlier lawful processing.
You can delete your Forma account from Settings. Deleting an Apple-linked account in the mobile app requires Apple confirmation and revokes the Apple sign-in authorization. For another privacy request, contact us by email. We may ask for information needed to verify your identity. You may also complain to the President of the Personal Data Protection Office (UODO) in Poland.
You can stop showing Apple Health activity in Forma through Settings. This clears Forma’s local Health cache but does not change Health access granted to the app. Manage or revoke that access separately in the Health app or iOS Settings.
9. Health and sensitive information
Anyone with a ChatGPT preview link can read the workout without signing in. Share it only with people you want to see it. Do not put personal or medical information in the routine name or notes. The integration cannot read your private Forma routines or account history.
Forma is a training tool, not a medical-record or diagnostic service. Routine names, recovery notes, activity, and trainer feedback can still reveal health context. Do not enter diagnoses or other sensitive health information that is not necessary for ordinary training. Trainers must ensure they have an appropriate legal basis before entering client information.
Apple Health activity can reveal information about your health. Forma uses it for activity views and badges, not for diagnosis, treatment, advertising, or trainer adherence. Apple Health workouts do not count as completed Forma routines.
10. Local storage and tracking
Forma uses browser storage, service-worker caches, and similar essential technology for sign-in, language, preferences, installation, offline behavior, and app reliability. Operational performance monitoring is used for reliability, not advertising or behavioral profiling. Forma does not use advertising trackers.
On the public website, optional Google Analytics 4 measures page visits, traffic sources, campaign tags and clicks that open Forma, app stores or ChatGPT. It loads only after you accept analytics, in every country. The legal basis is your consent. Google receives cookie identifiers, permitted campaign values, public page addresses, referring website origins, page language, CTA identity, placement and destination category, and technical connection data, including your IP address, approximate location such as city inferred from it, and browser and device information. Forma excludes account identifiers, email addresses, workout content, preview tokens, URL fragments and other query parameters from the data it sends. Advertising features and Google Signals are disabled. These measurements describe consenting visits and link clicks, not completed signups, installations or ChatGPT use.
Your acceptance or rejection is stored separately from app preferences for 180 days. Analytics cookies expire after 180 days and event-level data retention is set to two months. Choose Cookie settings in the website footer to change your choice. Withdrawing consent stops future collection, deletes this integration’s analytics cookies and reloads the page to unload Google Analytics. It does not delete data already sent to Google. If browser storage is unavailable, your choice applies for the current page session. This website choice does not change analytics or crash-report settings in the authenticated web or mobile apps.
The mobile app stores session credentials, preferences, cached data and workout progress on the device. Completed workouts queued offline are sent to your account when a connection is available. Guest routines and activity can also be stored in the cloud under a guest identifier. The mobile app does not use Firebase Performance Monitoring. Sentry crash reporting is enabled by default unless you previously turned it off. You can turn off Crash reports in Settings at any time. It sends crash stacks and device, operating-system and app-version diagnostics to help fix failures. It does not record screens or attach workout content or account profiles. JavaScript error text is removed before sending. Your reporting preference is stored on this device and can be changed in Settings.
Optional Usage analytics in the mobile app uses Google Analytics for Firebase. It is off by default and can be changed in Settings independently of Crash reports. If you enable it and the feature is available, Google receives an app installation identifier, technical app and device information, and events for completing onboarding and starting or completing a workout. These events contain no account identifier, routine name, note, or Apple Health data. Advertising features are disabled. Turning Usage analytics off stops new collection and resets local analytics data, but does not delete data already sent. Firebase Remote Config uses installation and technical data to deliver app configuration; it cannot enable Usage analytics without your choice.
11. Security
We use access rules, authenticated server functions, restricted secrets, hashed Watch tokens, signed Stripe webhooks, and provider security controls. No online service can guarantee absolute security.
12. Changes and contact
We may update this policy when Forma, its providers, or legal requirements change. The effective date above identifies the current version. Material changes will be communicated in an appropriate way.