Skip to content
FormLens
 Back to home

Privacy Policy

Last updated:

FormLens is operated by Batuhan Kuğuoğlu (“we”, “us”), an independent developer based in Türkiye. This policy explains what the FormLens iOS app actually collects, what it deliberately does not, and what your choices are. Questions or requests: [email protected].

The short version

  • Your workout videos never leave your phone. FormLens analyzes your form by extracting body keypoints (joint positions) from the video on your device. Only those keypoints and the measurements derived from them — never the video itself, and never any photo — are sent to our servers for AI coaching.
  • We don’t run ads, we don’t use advertising trackers, and we never sell your data.
  • You can delete your account and your server-stored data from inside the app at any time.

What we collect

Account information. When you sign in (Sign in with Apple or email), we receive an account identifier, your email address (or Apple’s private relay address if you hide it), and, if you share it, your name. We use these to sign you in and to keep your data attached to your account.

Profile you choose to provide. Training goal, experience level, training frequency, equipment, and optionally gender, height, and body weight. Every one of these is optional. If provided, they are included in requests to our AI so coaching and workout plans can be personalized; if you skip them, they are simply omitted.

Form-analysis data. When you analyze a lift, the app extracts body keypoints from your video on your device and sends those keypoints, the derived metrics (joint angles, rep counts, depth, tempo, symmetry), and the exercise type to our servers to generate your score and coaching. Your saved analysis history (scores, metrics, coaching text — not video) is kept on your device. When the app requests coaching for a lift, it also sends the date, rep count and key joint-angle measurements of your previous session of the same exercise; we use them to write that coaching and do not store them.

Workout logs. Workouts you log (exercises, sets, weights, reps, optional workout photos and body measurements) are stored on your device. Workout photos never leave your device.

Health data (optional). If you connect Apple Health, FormLens reads data such as heart-rate variability, resting heart rate, sleep, workouts, running dynamics, and body weight to show recovery insights. Recovery scores are computed on your device. Two narrow exceptions leave the device only as part of features you invoke: your body weight (if imported) may be included in AI plan-generation requests, and Health-imported workout sessions appear in your workout history like any other logged workout. We never write to Apple Health without your action, never use Health data for advertising or marketing, and never sell it or share it with data brokers — consistent with Apple’s HealthKit rules.

Purchases. Subscriptions are processed entirely by Apple. We never see your payment details. We receive and store your entitlement status (which subscription is active, trial state) to unlock Pro features and prevent abuse.

Usage analytics. We use Amplitude (servers in the United States) to understand how features are used — events like “analysis completed” or “workout logged”, tied to a pseudonymous user identifier. This is how we find what’s broken and what’s worth building. We do not send your videos, photos, or Health measurements to analytics.

Session replays. To find where the app is confusing, we also collect replays of how you use its screens (which screens you open, where you tap and scroll) through Amplitude Session Replay, but only if you allow it when the app asks. A replay can show what was on those screens, such as exercise names and your workout entries. Your camera, your videos, your photos, your Health data, your body measurements and your profile details (name, e-mail, gender, height, weight and your training answers) are blocked out entirely and never appear in a replay. Replays are tied to the same pseudonymous identifier as our analytics events and are deleted after 30 days. You can change your choice at any time in Settings → Your Data → Share usage replays.

Crash data. Firebase Crashlytics collects crash reports (device model, OS version, stack traces) so we can fix crashes.

Feedback you send. If you answer an in-app question (like “was this coaching helpful?” or the exit survey) or write us, we keep what you wrote.

What we deliberately do not collect

  • Your videos. There is no code path in the app that uploads recorded or imported video. Analysis videos stay in the app’s storage on your phone, under your control.
  • Your photos. Workout and progress photos stay on your device.
  • Advertising identifiers. No IDFA, no ad networks, no cross-app tracking. The app’s privacy manifest declares no tracking.

How the AI works

Pose keypoints and derived metrics (numbers, not images) are sent to our backend on Google Cloud (region: us-east4, United States). To write your coaching, the backend sends those measurements, the exercise type, how your key measurements changed since your previous session of the same exercise, and your training goal and experience level (if you provided them) to Anthropic’s Claude API; if Claude is unavailable, the same request goes to Google’s Gemini API instead. Workout plans are generated with Google’s Gemini API from your plan choices, results of your recent form analyses, your recent logged workouts (exercises, working sets, reps and top weight) and any profile fields you provided. Both AI providers receive measurements and text — never your video or photos.

Service providers

We share data only with the processors that run the product, only for the purposes above:

  • Google Firebase (Auth) — sign-in: account identifier, email, name
  • Google Cloud Platform (us-east4) — backend and storage: pose metrics, analysis history, entitlement records
  • Cloudflare (the Worker behind api.formlensapp.com) — request routing (terminates TLS and forwards every app request to the backend): request and response bodies in transit only; nothing is stored
  • Anthropic API (Claude) — AI coaching text: pose metrics, exercise type, changes in your key measurements since your previous session of the same exercise, training goal and experience level (optional)
  • Google Gemini API — AI plan text; coaching text when Claude is unavailable: pose metrics, exercise type, recent analysis results, recent logged workouts, optional profile fields
  • Amplitude (US) — product analytics and session replays: usage events, screen replays (without camera, video, photos, Health, body or profile data), pseudonymous ID
  • Firebase Crashlytics — crash reporting: crash and device diagnostics
  • Apple — payments and Sign in with Apple, handled under Apple’s own terms

Each provider processes data on our instructions under their own security and privacy commitments. We do not sell or rent personal data to anyone.

Retention and deletion

  • Delete Account (at the bottom of Settings, once you’re signed in) permanently deletes your server-stored data — analysis history and account records — and your authentication account. It is available in-app, with no email required.
  • Data on your device (videos, photos, logs) is deleted when you delete the app, or piecemeal in-app.
  • Analytics events and crash reports are pseudonymous and age out under the providers’ retention policies; to have your analytics data deleted, contact us at the address above and we will process the request with the provider.

Your rights

Depending on where you live (including under Türkiye’s KVKK, the EU/UK GDPR, and similar laws), you have the right to access, correct, export, restrict, or delete your personal data, and to object to processing. Most of this you can do directly in the app; for anything else, email us and we’ll respond within 30 days. If you believe we’ve mishandled your data, you can also complain to your local data-protection authority.

We process your data to provide the service you asked for (contract), to improve and secure it (legitimate interests), and — for optional Health access — based on your explicit consent, which you can withdraw at any time in the Health app or iOS Settings. Session replays are collected only with your consent, which you can withdraw in Settings at any time.

Children

FormLens is not directed at children under 13 (or the equivalent minimum age in your country), and we do not knowingly collect their data. If you believe a child has created an account, contact us and we will delete it.

Security

Data in transit is encrypted (TLS). Server-stored data lives in access-controlled Google Cloud services with public access blocked. No system is perfectly secure, but we keep the attack surface small — the most sensitive thing you create in FormLens, your video, never leaves your phone.

Changes

We’ll update this policy as the product changes and revise the date above. Material changes will be called out in the app or release notes.

Contact

[email protected]