Kettle Muscle

Data Retention Policy

Last updated: April 23, 2026 Version: 2

This Data Retention Policy sets out how long Kettle Muscle keeps personal information, why, and when we delete it. It is maintained as a formal written policy as required under:

This document is referenced in §5 of our Privacy Policy.


1. Overall principle

We retain personal information only for as long as we need it for the purpose for which it was collected or for a related legal purpose, then we delete it — or irreversibly anonymise it if continued aggregated use is justified and consented to.

We avoid indefinite retention. No category of personal information in Kettle Muscle is retained without a documented expiration trigger.


2. Retention matrix

Category of dataSourcePurposeRetention periodTrigger to delete
Account identity (email, name, provider ID, Firebase UID)Sign-upMaintain your accountLife of the accountAccount deletion
Authentication tokens (Apple authorisation code, refresh tokens)Sign-inAccount recovery + SIWA revocationLife of the account; authorisation code up to 6 months for SIWA revocation windowAccount deletion
Fitness and body data (workouts, sets, body stats, sex, PRs)User inputRun the core appUntil you delete each record, or until account deletionRecord deletion / account deletion
Cloud-synced mirror of fitness dataDevice → FirestoreSync across devicesLife of the accountAccount deletion
Date of birthAge gate at first launchVerify age threshold for COPPA / GDPR / DPDPAUntil you successfully pass the age gate (the DOB is then retained as the accepted birth year + the fact that the gate was passed; the exact day/month is not required once the threshold is confirmed)Account deletion
Under-age block stateAge gatePrevent re-entry of a blocked userIndefinitely, without any other personal data — only the blocked stateDevice wipe or re-install
Consent records (version, timestamps, opt-in toggles, TOS/PP version hash)Consent UXDemonstrate compliance + honour your opt-insLife of the account + 24 months after account deletion, to evidence lawful processing in the event of a later regulatory inquiryScheduled purge, 24 months after deletion
Stability telemetry (crash reports, non-fatal errors)Device runtimeDiagnose and fix bugs90 daysAutomatic purge
Product analytics events (only if opted in)Device runtimeProduct improvement14 months, aggregatedAutomatic purge
Research aggregates (only if opted in)Derived from consented fitness dataImprove fatigue / recommendation modelsIndefinite only if irreversibly aggregated such that no individual is re-identifiableIf re-identification ever becomes feasible, purge
BYO-AI API key (if you entered one)User inputCall the AI provider you choseUntil you remove it from Settings; stored only on-device in the iOS Keychain, protected by the Secure Enclave where availableOn removal, or on account deletion, or on app uninstall
Data-subject-request records (access, deletion, correction, export)Support emailDemonstrate compliance with response obligations3 years from the date of the request (shortest legally defensible window for audit trail across jurisdictions)Automatic purge
Legal compliance, enforcement, billing recordsVariousMeet statutory record-keeping obligationsAs long as required by the applicable law (for example, applicable tax or consumer-dispute limitation periods), and no longerOn expiry of the legal obligation
Marketing contact / mailing listOpt-in (none today)Send marketing messages if launchedUntil you unsubscribe, or 2 years of inactivity, whichever comes firstUnsubscribe or inactivity purge

3. Account deletion cascade

When you delete your account (via Profile → Privacy → Delete account):

  1. A "deleting" sentinel is written to your account record so that a mid-delete crash can resume (this protects against a half-deleted account).
  2. The cascade walks every subcollection tied to your user ID and removes records in batches.
  3. The Firebase Auth account is deleted.
  4. If you signed in with Apple, the Apple refresh token is revoked via Apple's REST endpoint (requires authorisation code retained in device Secure Enclave; the requirement is under Apple App Store Review Guideline 5.1.1(v)).
  5. Consent records and data-subject-request logs are retained in line with the matrix above.
  6. Local SQLite data on your device is cleared the next time you sign into a different account or uninstall the app.

Within 90 days of your account-deletion request, no data tied to your personal identity remains in our backend other than the consent and request-log entries required for audit.


4. Children's data (COPPA 2.0)

Kettle Muscle is not directed to children under 13 anywhere in the world, under 16 in the EEA/UK, or under 18 in India. The age gate presented on first launch blocks collection of any further personal information from a user below the applicable threshold.

If personal information of a child below the applicable threshold is nonetheless collected in error and later identified, we delete it on discovery and investigate the root cause. The record of the incident is retained for 24 months to evidence compliance and improvement.


5. Aggregation and anonymisation

Where we retain aggregated or de-identified statistics beyond the periods above (for example, from research aggregation), we:

If new techniques or additional data could make re-identification feasible, we treat the dataset as personal data again, apply this retention policy, and purge as necessary.


6. Review schedule

This policy is reviewed:

Revisions bump the version number at the top of this document.


7. Contact

Questions about retention, or a request that we delete data earlier than the periods above, go to contact@kettlemuscle.com.

End of Data Retention Policy.