Dial Factory Dial Factory
Access beta now →

Privacy Policy

Effective
October 5, 2026
Last updated
October 5, 2026

Dial Factory LLC (“Dial Factory,” “we,” “us”) operates the Dial Factory mobile application (the “App”) and the website at dialfactory.app (the “Site”). This policy explains what personal information we collect across both, why we collect it, who we disclose it to, how long we keep it, and the choices and rights you have.

This single policy covers both surfaces. Where a practice applies to only one, the section says so.

Contact: privacy@dialfactory.app


1. Summary — Notice at Collection

The table below is our notice at collection under the California Consumer Privacy Act. The rest of this policy expands on it.

What we collectWhyWho we disclose it toHow long we keep it
Email address and passwordTo create and secure your accountSupabase (database and authentication), Resend (account emails)Life of your account
Training plans, logged workouts, sets, reps, RPE, cardio, session notesTo run the productSupabase; Anthropic and OpenAI when you use the AI Coach — session notes only when you review a past sessionLife of your account
Your upcoming competition: name, discipline, date, and your stated goalTo prepare you for it and to inform coachingSupabase; Anthropic when you use the AI CoachLife of your account
Bodyweight, age, injuries or limitations — collected only with your separate agreementTo personalize your plan and coachingSupabase; Anthropic when you use the AI CoachLife of your account
Goals, experience level, equipment accessTo personalize your plan and coachingSupabase; Anthropic when you use the AI CoachLife of your account
Messages you send to the AI Coach, and the Coach’s repliesTo generate coaching responsesSupabase; Anthropic; OpenAI (question text only)Life of your account; ~30 days at the AI providers
Crash reports, device model, operating system version, app version, an approximate city-level location, and a random per-installation identifier not tied to your accountTo diagnose crashes and errorsSentry30 days
A small set of product events, listed in full in Section 4 (training session started; training session abandoned; upgrade prompt displayed and what prompted it; subscription tier card tapped and which tier; point of onboarding exit), keyed to your account identifierTo understand how the product is used and improve itNo one — stored in our own database180 days
Subscription and purchase statusTo provide and manage paid accessApple, RevenueCatLife of your account, then 7 years for tax and accounting records
Email address and first name submitted on the SiteTo send the newsletter or waitlist emails you asked forLoopsUntil you unsubscribe
Aggregate website traffic measurementTo understand Site trafficVercelPer Vercel’s retention
Site only, when the Meta Pixel loads: your IP address, browser and device information, the pages you view on dialfactory.app and the page you came from, Meta’s cookie identifiers, whether you submitted the waitlist form (not what you entered), and — if you are logged in to Facebook or Instagram in the same browser — your Meta account identityTo measure whether our Facebook and Instagram ads lead to waitlist signups, and to improve those adsMeta Platforms, Inc. This is “sharing” under California law, and you can opt out — Section 10Held by Meta under its own policy; Meta’s cookies expire after 90 days

We do not sell your personal information for money, and we do not disclose it to data brokers. The one place we share information for advertising is the marketing website: when the Meta Pixel loads on dialfactory.app, Meta receives information about your visit to measure our ads. California law calls this “sharing” — and, under its broad definition, it may also count as a “sale” — and you can opt out of it, as described in Section 10. Nothing in the App is sold or shared. There are no advertising SDKs, advertising identifiers, or ad pixels in the App.


2. Who can use Dial Factory

Dial Factory is available to adults aged 18 and older. We ask for your date of birth before you create an account and do not create one for anyone under 18.

We do not keep your date of birth. It is checked on your device and discarded. What we record is the result: that a check was made, the method used, the minimum age checked against, and when. That record is deleted with your account.

If we learn that we have collected personal information from someone under 18, we delete the account and its data.


3. Personal information we collect

3.1 Information you give us

Account information. Your email address and a password. Your password is hashed by our authentication provider; we never see or store it in readable form. Optionally, a display name or username.

Training profile. Your training style, primary sport, primary and secondary goals, training frequency, equipment access, experience level, and any injuries or physical limitations you choose to describe.

Body and performance data. The weight, reps, and rated exertion for every set you log.

Health information. Your age, your bodyweight, and any injuries or limitations you describe. We treat these as health information and ask for your agreement separately, before collecting them. Until you agree, the fields are not available and none of these three are stored. You can withdraw that agreement at any time in Settings, and clear the values.

Training content. The plans you create or paste in, the workouts you log, your session notes, perceived-effort ratings, and cardio entries.

Competition data. If you record an upcoming competition, we collect its name, discipline, and date, and the goal you write for it. The goal field is free text you author yourself, so it may contain bodyweight targets, lift numbers, or placing ambitions.

AI Coach messages. Everything you type to the Coach and everything the Coach replies. Because the Coach is a free-text conversation, these messages may contain health or injury detail beyond the structured fields above. Section 5 explains where this goes.

Site submissions. If you join the waitlist or the newsletter on dialfactory.app, we collect the email address and first name you submit and the qualifier you select.

3.2 Information collected automatically

Account identifier. When you create an account, our database assigns you a random internal user ID (a UUID). It is not your email address and it is not derived from anything about you or your device. It is how our systems, and the service providers listed in Section 6, know which records are yours.

Diagnostic data. When the App crashes or throws an error, we receive a crash report containing the error, a stack trace, your device model, operating system version, and app version. These reports are not tied to your account. They carry a random identifier generated for your installation of the app, which lets us tell how many people a crash is affecting without identifying who they are.

Product usage events. We record a small, fixed set of events describing how the App is used, listed in the table in Section 1 and described in detail in Section 4. These events are recorded against your account identifier.

Network information. Like any internet service, our servers observe the IP address a request comes from in the course of handling it. We do not store IP addresses in our analytics, and IP collection is switched off in our analytics provider. On the Site, if the Meta Pixel loads, Meta also receives your IP address directly from your browser — see Section 14.

Usage metering. We count the AI Coach tokens your account uses each day to enforce fair-use limits.

3.3 What we do not collect

We do not collect contacts, photos, microphone or camera input, browsing history, or the advertising identifier (IDFA). We do not record your screen. The App contains no advertising SDK.

Our crash-reporting provider works out an approximate location — city and state, never a precise location — from the network connection a crash report is sent over. This happens on their systems as the report arrives, so we cannot switch it off. It is not attached to your account, and we do not use it.

Crash reports and your data. Before a crash report leaves your device, we strip the contents of network requests and reduce the activity trail to the method, the address requested without its parameters, and the status code — so neither the messages you send to the Coach, nor the training data in those requests, nor your account identifier are included. Error messages and stack traces are kept, because without them a crash report is not useful. Crash reports are deleted after 30 days.


4. Product analytics — exactly what we measure

We measure a small, fixed set of events describing how the App is used. We do this ourselves. The events are written to a table in our own database, alongside the rest of your account data. No analytics company receives them. There is no analytics SDK in the App, and no third-party analytics or advertising service receives anything from the App.

The events we record are:

  1. A training session was started.
  2. A training session was abandoned before completion.
  3. An upgrade prompt was displayed, together with a short label identifying what prompted it — either the feature limit that was reached, or the upgrade link that was tapped.
  4. A subscription tier card was tapped, and which tier it was.
  5. The point at which onboarding was exited.

That list is exhaustive, and it is enforced by the database rather than by convention: the events table carries a constraint permitting only these five event names, so a sixth cannot be recorded without changing the database schema. If we ever add one, we will update this policy before it ships.

The labels in events 3 and 4 identify a place in the product — a feature limit, an upgrade link, a subscription tier. They are drawn from fixed lists enforced by the same database constraint, and they describe the app, not you.

What these events do not contain:

  • No free text. Your training data, body data, plans, and Coach messages are never written to this table.
  • No email address and no name.
  • No IP address, and no device or browser identifier. These are not columns in the table. There is nothing to switch off, and nothing that a configuration change could turn on.
  • No recording or reconstruction of your screen.

These events are linked to your account identifier. We do this deliberately: without it, we cannot tell the difference between five different people each seeing an upgrade prompt once and one person seeing it five times and then leaving, which is the question the measurement exists to answer. We are telling you this plainly rather than describing the analytics as anonymous, because it is not anonymous — it is pseudonymous, and we can associate these events with your account.

We keep these events for 180 days, after which they are deleted automatically. If you delete your account, they are deleted immediately along with everything else, in the same operation.

We do not combine these events with data about you from any other company’s app or website, and we do not use them for advertising.


5. The AI Coach and third-party AI providers

This is the most important disclosure in this policy. Please read it.

The AI Coach is not a system we built and run ourselves. To generate a coaching response, we transmit your information to AI providers operated by other companies.

5.1 What is sent, and to whom

To Anthropic (the Claude API), each time you send a message to the Coach:

  • The message you typed.
  • Your active training plan. On a paid plan this includes the plan’s full text, which can contain recovery and nutrition guidance — for example sleep targets and a protein intake figure based on your bodyweight — as well as your training prescription. On the free plan we send only the plan’s structure: its name, its length, and where you are in it. The plan text is processed on your device and is not transmitted.
  • Your training profile: training style, sport, primary and secondary goals, training frequency, equipment access, experience level, age, bodyweight, and any injuries or limitations you have recorded.
  • Your subscription tier.
  • Your upcoming competition, if you have recorded one: its name, discipline, date, and the goal you wrote for it.
  • Your logged training sessions from the past three weeks, including the exercises and sets logged.
  • When you review a past session: that session in full, including any note you wrote about it, and your earlier sets for the same exercises. This can reach further back than three weeks.
  • Coaching insights we have generated about your training, where you begin a conversation from one. These are produced by us from your training data and stored on our systems; they are not text you wrote.
  • The running conversation history for the current Coach session.
  • Reference material from our own coaching knowledge base. This is our content, not yours.

Anthropic is also sent the raw text of any plan you paste in when you ask us to convert it, and your session and exercise history when the App generates training insights.

To OpenAI (the Embeddings API): the text of your question only. It is converted into a numeric vector used to look up relevant reference material. No other information about you is sent to OpenAI.

To Pinecone: the numeric vector produced above. Pinecone receives no readable text and no information about you.

5.2 What is not sent

Your email address and your account identifier are not included in these requests. Requests are keyed to a per-conversation session reference.

Display names and usernames are excluded from the Coach payload by an explicit allowlist of the profile fields listed above, rather than by sending the profile record as stored.

5.3 Retention and training at the AI providers

Both providers delete what we send them within approximately 30 days. Each reserves limited exceptions: content flagged as potentially violating their usage policies may be held longer while they investigate, and either may be required by law to retain data for longer.

Neither Anthropic nor OpenAI uses your data to train their models. This is the default for the business API accounts we use — Anthropic’s commercial terms prohibit it, and OpenAI’s API does not train on customer data unless the customer opts in, which we have not done. Both providers act as our processors: they may use what we send only to return a response to us, and they operate under data-processing agreements that require them to protect it to the same standard we do.

5.4 Your control over this

Before you use the AI Coach for the first time, the App asks for your permission and shows you the substance of Section 5.1. The Coach does not send anything until you give it. Because sending your training context to an AI provider is how the Coach works, declining means the Coach is unavailable; the rest of the App works normally.

You can withdraw this permission at any time in Settings, with the same effect as declining.

If we change what the Coach sends, we ask again rather than relying on the permission you gave for the earlier version.

Your health information — age, bodyweight, injuries and limitations — is sent to the Coach only if you have separately agreed to us holding it, as described in Section 3.1. If you have not, or if you withdraw that agreement, those three are omitted from everything we send.

5.5 The Coach is not medical advice

The AI Coach produces training suggestions generated by a language model. It can be wrong. It is not medical, physiotherapeutic, or nutritional advice, it is not a diagnosis, and it is not a substitute for a qualified professional. Do not rely on it to decide whether to train through pain or injury.


6. Service providers and who receives your information

We disclose personal information only to the companies below. All but one are our service providers: each receives information for the limited purpose stated, each under a written agreement restricting their use of it, and none of them for money or anything else of value.

The exception is Meta Platforms, Inc., the last row. Meta is not our service provider. When the Meta Pixel loads on the Site, Meta uses what it receives for its own advertising purposes as well as for ours, under its own privacy policy. That is why California law calls this disclosure “sharing,” and why you can opt out of it (Section 10). Meta receives nothing from the App.

ProviderWhat it receivesPurposeLocation
SupabaseAll account, profile, training, body, and Coach dataDatabase, authentication, storageUnited States (Oregon)
RenderCoach requests in transit, plus a short-lived in-memory copy of the current conversationHosting for the Coach serviceUnited States (Oregon)
AnthropicSee Section 5.1AI Coach responsesUnited States
OpenAICoach question text onlyRetrieval vectorsUnited States
PineconeNumeric vectors onlyReference lookupUnited States
SentryCrash and error reports with device, OS, app version, approximate city-level location, and a per-installation identifierCrash and error monitoringUnited States
RevenueCatPurchase and subscription status, App Store transaction identifiers, account identifierSubscription managementUnited States
ApplePurchase and subscription transactionsPayment processing and app distributionApple’s regions
ResendEmail address and the content of account emails (confirmation, password reset)Sending account emailUnited States / EU
LoopsSite newsletter and waitlist data only: email, first name, qualifierNewsletter and waitlistUnited States
VercelSite trafficWebsite hosting and aggregate analyticsUnited States / global edge
Meta Platforms, Inc.Site only, and only if you have not opted out: page views and waitlist-form submission events, IP address, browser and device information, Meta’s cookie identifiers, and — if you are logged in to Facebook or Instagram — your Meta account identity. Never your email address, name, waitlist answer, or anything from the App.Measuring and improving our Facebook and Instagram adsUnited States

Payment card data. We never receive or store your payment card number. Purchases are processed by Apple through the App Store. We receive only your subscription status and a transaction reference.

We may also disclose personal information when required by law, to respond to lawful requests from public authorities, to enforce our Terms of Service, to protect the rights or safety of any person, or in connection with a merger, acquisition, or sale of assets — in which case we will give notice before your information becomes subject to a different policy.


7. Subscriptions and payments

Dial Factory offers a free tier and paid subscriptions. When paid subscriptions are available and you purchase one:

  • The purchase is processed by Apple through the App Store. Apple, not Dial Factory, holds your payment method.
  • We use RevenueCat to record and manage subscription state. RevenueCat receives your account identifier, the App Store transaction identifiers for your purchases, and your subscription status, renewal date, and entitlement level. RevenueCat does not receive your training data, body data, or Coach messages.
  • We keep a record of your subscription status and transaction history for as long as your account exists, and afterward for 7 years, to meet tax, accounting, and audit obligations, even if you delete your account. This is the one category we retain after deletion, and only for that purpose.

Paid plans renew automatically until cancelled. The terms of renewal, pricing, and cancellation are in our Terms of Service and are disclosed at the point of purchase. Cancellation is managed through your Apple ID subscription settings.


8. How long we keep your information

CategoryRetention
Account, profile, training, body, and Coach dataFor the life of your account. Deleted when you delete your account, per Section 9.
Data held by Anthropic and OpenAIApproximately 30 days, then deleted by them
Crash and error reports30 days
Product analytics events180 days, then deleted automatically
Subscription and transaction recordsIn our own records: life of account, then 7 years for tax and accounting. At RevenueCat: we request deletion when you delete your account; otherwise up to six years
Newsletter and waitlist dataUntil you unsubscribe
Information received by Meta through the Pixel (Site only)Held by Meta under Meta’s own data policy. Meta’s _fbp and _fbc cookies expire 90 days after they are set, and are removed sooner if you opt out
Database backupsWe hold no restorable backups. Residual provider snapshots expire on the provider’s own schedule — see Section 9

We hold training history for as long as your account is open. If your subscription lapses or your free plan ends, we gate the next plan — we do not delete the history you have already built.


9. Deleting your account and your data

You can delete your account from inside the App, in your profile settings. No email, no support ticket, no waiting.

When you delete your account, we delete: your authentication record, your profile, your training plans and logged sessions, exercises, sets, and cardio entries, your body and performance data, your goals, your Coach conversations and messages, your generated insights, your product analytics events, your consent records, your age verification record, and your usage-metering records.

We retain, after deletion: if you have purchased a subscription, the transaction reference and subscription status for that purchase, for the period required by tax and accounting law, for 7 years. These records contain no training data, body data, or Coach content. If you have never purchased a subscription, nothing is retained.

Deletion from our live database is immediate: every record listed above is removed in a single database transaction when you confirm.

If you have purchased a subscription, we also send RevenueCat a request to delete its subscriber record for you. RevenueCat processes these requests on its own schedule, so what we can tell you is that the request is made, and that a failure is recorded and followed up rather than dropped — not the moment their copy is gone.

After deletion, a residual copy of your data may remain for a short period in the encrypted backup snapshots our database provider takes of its own infrastructure. Those snapshots are not accessible to us, expire automatically on the provider’s schedule, and are never used to restore a deleted account. Once they expire, the data is gone.

Data already sent to Anthropic or OpenAI ages out on their approximately 30-day schedules and is not recoverable or re-sendable by us in the meantime.


10. Your privacy rights

We extend the rights below to everyone who uses Dial Factory, regardless of where you live. Several of them come from California law; we have chosen not to make them conditional on residency.

You can:

  • Know what personal information we have collected about you, where it came from, why we collected it, and who we have disclosed it to.
  • Access a copy of the personal information we hold about you.
  • Correct inaccurate personal information. Most of it you can edit yourself in the App.
  • Delete your personal information, as described in Section 9.
  • Opt out of sale or sharing. The only sale or sharing we do is the Meta Pixel on the marketing website, described in Section 14. To opt out, use the “Do Not Sell or Share My Personal Information” link in the footer of every page of dialfactory.app on which the Pixel can load, or go directly to dialfactory.app/do-not-sell. It is one switch: no account, no identity check, no fee, and no more steps than it takes to use the Site without opting out. Once you opt out, the Meta Pixel does not load in that browser, nothing about your visits is sent to Meta — from your browser or from our server — and Meta’s cookies on our domain are removed. The page shows you the current status of your choice. Your opt-out is stored in a cookie in your browser, so it applies to that browser and is lost if you clear your cookies; if that happens, opt out again. We act on opt-outs immediately and, in every case, within 15 business days. We will not ask you to opt back in for at least 12 months. You can also email privacy@dialfactory.app; because the sharing happens only in your browser, we will confirm the opt-out with you and walk you through the switch if needed. Meta separately lets you control how it uses information about your activity off its platforms, in your Facebook and Instagram ad settings.
  • Not be discriminated against for exercising any of these rights. We will not deny you service, charge you a different price, or give you a lower quality of service because you made a request.

How to make a request. Delete your account in the App, or email us at privacy@dialfactory.app. We will acknowledge within 10 business days and respond within 45 days, extendable once by another 45 days if we tell you why. We verify requests by confirming control of the email address on the account — except opt-out requests, which we never ask you to verify. You may use an authorized agent; we will ask for written permission and may still verify with you directly.

Sensitive personal information. California law treats information concerning your health as sensitive personal information. Your body data, injury notes, and Coach messages may fall in that category. We collect and use it only to provide the product you asked for — to build and adjust your training and to answer your questions — and not to infer characteristics about you, and we do not sell or share it.

Global Privacy Control. We honor Global Privacy Control and similar browser-level opt-out signals on dialfactory.app. If your browser sends the signal, we treat it as a request to opt out of sale and sharing for that browser: the Meta Pixel does not load, nothing about your visit is sent to Meta, and the Site displays “Opt-Out Request Honored” so you can see that the signal was processed. You do not need to do anything else. The signal does not affect the App, because nothing in the App is sold or shared.

Under 16. We do not knowingly sell or share the personal information of anyone under 16.


11. California Consumer Privacy Act status

Dial Factory does not currently meet any of the three thresholds that make a company a “business” under the CCPA: our annual gross revenue is below the statutory amount, we do not buy, sell, or share the personal information of 100,000 or more California consumers or households, and we derive no revenue from selling or sharing personal information.

We have written this policy to CCPA standard anyway, and we extend the rights in Section 10 voluntarily. If we cross a threshold, this policy will not need to change to accommodate it.


12. Security

  • All traffic between the App, our servers, and our providers is encrypted in transit using TLS.
  • Data is encrypted at rest by our database provider.
  • Passwords are hashed by our authentication provider and are never visible to us.
  • Every request to the Coach service requires a verified authentication token; unauthenticated requests are rejected.
  • Database access is restricted per user at the row level, so one account cannot read another’s records.
  • Rate limits and per-account usage budgets are enforced on the Coach service.
  • Access to production systems is limited to Dial Factory’s founder.

No system is perfectly secure, and we cannot guarantee that your information will never be accessed without authorization. If a breach affecting your personal information occurs, we will notify you and any required regulator as the law requires.


13. Where your data is processed

Dial Factory operates in the United States and all of the providers in Section 6 process data in the United States, except where the table notes otherwise. The service is offered to users in the United States. If you access it from elsewhere, your information will be processed in the United States, which may not offer the same protections as your home jurisdiction.


14. The marketing website

This section applies to dialfactory.app rather than the App.

  • Waitlist and newsletter. If you submit the form, we collect your email address, first name, and the qualifier you select. This is stored in our database and sent to Loops, which sends the emails. Every email includes an unsubscribe link, which takes effect immediately. If the Meta Pixel is loaded in your browser, a successful submission also sends Meta a “Lead” event, described below. The event tells Meta that a signup happened — not what you entered.
  • Site analytics. We use Vercel Analytics, which measures aggregate traffic without cookies and without identifying individual visitors. Its requests are served through a path on our own domain rather than a third-party one, so it does not appear as an external service in your browser’s network tools — but the measurements are sent to Vercel, which is our service provider for this purpose.
  • Advertising measurement — the Meta Pixel. We advertise on Facebook and Instagram. To measure whether those ads work, the Site runs Meta’s Pixel. When it loads, your browser sends Meta: that you viewed a page, and which one; the page you came from; your IP address; your browser and device information; Meta’s cookie identifiers (_fbp, and _fbc if you arrived from a Meta ad); and whether you submitted the waitlist form. If you are logged in to Facebook or Instagram in the same browser, Meta can connect this to your account there. That connection is made on Meta’s systems; we cannot see it. Meta uses this information to report ad results to us and for its own purposes, including deciding who sees ads, under Meta’s privacy policy. What we do not send Meta: your email address, your name, your waitlist answer, or anything from the App. Meta’s “advanced matching” feature, which sends a hashed email address, is switched off. We may also send the same events to Meta from our own server (Meta’s “Conversions API”) so that they are counted when a browser blocks the Pixel; the server copy carries the same information listed above and nothing more, and it respects your opt-out in exactly the same way. The Pixel is loaded only for visitors in the United States, and only in browsers that have not opted out or sent a Global Privacy Control signal — see Section 10.
  • Cookies. The Site sets Meta’s advertising cookies (_fbp, and _fbc after a click on a Meta ad) when the Pixel loads, and only then. If you opt out or your browser sends a Global Privacy Control signal, they are not set, and any existing copies on our domain are removed. Your opt-out itself is stored in a first-party cookie so we can remember it. All fonts are served from our own domain. Apart from the Meta Pixel script, the Site loads no third-party resources.
  • What we do not do. We share Site visitor information with no advertising company other than Meta, run no other pixel or tracker, and send Meta nothing from the App.

15. Changes to this policy

We will post any change here and update the “Last updated” date. If a change materially affects how we handle information we already hold — a new category of data, a new recipient, or a new purpose — we will notify you in the App or by email before it takes effect, and where the law requires consent, we will ask for it rather than assume it.


16. Contact

privacy@dialfactory.app

We are an online business and handle privacy requests by email.

Dial Factory

The training system for lifters who coach themselves.

Product

How it works Features Blog new

Social

Instagram
Threads
X

Legal

Privacy Terms Support Do Not Sell or Share My Personal Information Opt-Out Request Honored Contact
© 2026 DIAL FACTORY LLC