Privacy policy
Privacy, in plain words.
Last updated: 5 October 2026
The short version: Sign in with Apple is required before buying or restoring a subscription and for custom Coach questions. Your program and workout history stay on this phone. Secondwind has no advertising. Before the first custom Coach question is sent, Secondwind asks for permission to send the question and a short program context to Kovus and Anthropic. Post-session Coach notes and the six quick answers stay on the device. Apple and RevenueCat process subscription information. We do not sell personal information or use it for advertising.
Who we are
Secondwind is developed by Josh Waller, trading as Kovus, in Perth, Western Australia. Contact josh@kovus.dev for privacy questions or requests.
Information stored on your device
Secondwind stores the information needed to run your program locally, including:
- onboarding answers such as age band, training history, available equipment, preferred schedule and joint considerations, together with screening completion, referral acknowledgement and activity band;
- the generated program, substitutions, completed sets, weights, repetitions and effort feedback;
- reminders, units, audio and Apple Health preferences;
- personal-best and progress records;
- Coach messages;
- up to 20 bounded crash and error diagnostics, including a support reference, time, redacted message, app or component scope, bounded component stack and context-key names; and
- an encrypted Sign in with Apple service session and an App Attest key identifier, if you use the linked service account.
The six pre-exercise screening answers are used on this device during setup and are excluded from the app's persisted onboarding record. Joint considerations, screening completion, referral acknowledgement and activity band may remain in the local program record.
Secondwind does not request your name or email from Apple and does not use a password. Apple and Supabase provide opaque identifiers for the linked service account. You can export the app data from Settings. Delete account and all data removes local app data and the linked service account as described below.
Custom Coach questions
The six quick answers shown in Coach and post-session Coach notes are built into the app and work offline. Before the first custom question leaves the device, Secondwind shows the data recipients, context and retention and asks you to choose Agree and send. Choosing Not now sends nothing. The choice is stored on this device, can be reset in Settings and will be requested again if the data, recipient, purpose or retention materially changes.
If you approve and send a custom question, Secondwind sends the following over an encrypted connection:
- your question;
- a short program summary, including training schedule, session length, equipment and joint considerations;
- the current program week;
- today's active or completed session evidence, including session stage, Day Dial state and note, current exercise, and any logged sets, repetitions or weights;
- up to three recent session summaries and up to two simple training patterns derived on-device from logged session summaries;
- up to six messages from prior online custom questions and answers, excluding built-in quick answers and post-session notes; and
- the encrypted service session used to authenticate the request.
The request goes to a Kovus-operated Supabase Edge Function, which validates the non-anonymous Sign in with Apple session, checks the active RevenueCat entitlement and verifies App Attest when supported, and then sends the request to Anthropic's commercial API. Kovus stores a per-account burst counter, a daily counter keyed to the RevenueCat subscription, a daily counter keyed to a cryptographic hash of an attested installation, and a global token counter. App Attest registration stores the public key, Apple receipt, environment and signature counter needed to reject replayed requests. Kovus does not store the question in the Coach service database. Your copy of the conversation remains on your device.
Anthropic states that standard API inputs and outputs are automatically deleted from its backend within 30 days, subject to exceptions for services with different retention, agreed terms, usage-policy enforcement and legal requirements. Read Anthropic's commercial data retention information.
Do not include information that identifies you or another person in a Coach question. Coach is an optional program-support feature, not medical advice.
Subscriptions and purchases
Before buying or restoring a subscription, Secondwind uses Sign in with Apple to create an opaque Supabase service account and identifies the RevenueCat customer with that opaque account identifier. This lets the App Store entitlement remain attached to the same private service identity across purchase, restore, transfer, reinstall and custom Coach checks. Secondwind does not request your name or email from Apple. RevenueCat does not receive your Secondwind program, Coach messages or Apple Health data. Read RevenueCat's privacy policy and Apple's privacy policy.
RevenueCat also sends Kovus subscription lifecycle events so we can investigate entitlement and billing-delivery problems. Kovus stores the event identifier and type, app user identifier, product identifier, price and event timestamps, together with the event payload supplied by RevenueCat. These records do not contain payment-card details, your Secondwind program, Coach messages or Apple Health data. Kovus does not receive your payment-card details.
Apple Health
If you enable Apple Health sync, Secondwind asks permission to save completed functional strength workouts. Secondwind does not upload Apple Health data to Kovus or Anthropic. A workout already saved to Apple Health is managed in the Health app and is not removed when you delete Secondwind's local app data.
Notifications
Session and renewal reminders are scheduled locally on your device. Secondwind does not use a push-notification server in version 1.
Apple Maps professional search
When you choose Find a pro nearby, Secondwind opens an Apple Maps search for the professional type you selected. Secondwind does not request location permission, receive your location or receive the resulting listings. Apple handles the search under its own privacy policy.
Analytics and diagnostics
Version 1 records a small set of product events only in the running app for development diagnostics. Those events are not transmitted to Kovus or an analytics provider in the release configuration.
Secondwind keeps up to 20 bounded crash and error diagnostics on your device so a support reference can be investigated. Email-like strings and long token-like values are redacted from the saved message, and the log records context-key names rather than their values. The diagnostics are not sent automatically. Export my data includes the saved diagnostics and recent errors still held by the running app.
When a release is configured with a Sentry endpoint, sanitized JavaScript error messages and stacks, app version and bounded operating-system and device diagnostics may be sent to Sentry for reliability support. Remote error messages and stacks redact email-like strings and long token-like values before sending and are length-bounded. App-supplied operational context is limited to the support reference and bounded, redacted labels. Sentry breadcrumbs and native crash handling are disabled. Default personal-information collection, tracing, screenshots and view hierarchy are disabled.
Where service data is processed
The Secondwind Supabase database is configured in Sydney, Australia. Supabase Edge Functions use Supabase's regional infrastructure and may process a request in a region near the caller. RevenueCat stores customer data in the United States and may use service providers elsewhere. Custom Coach requests are processed by Anthropic and its service providers and may be processed outside Australia. Overseas providers can be subject to the laws of the countries in which they operate.
Retention and deletion
Local information remains until you delete it in Settings or remove the app. Delete account and all data clears Secondwind's SQLite records, persisted app state, local Coach history, crash diagnostics and reminder schedules. If a linked service account exists, the same action deletes the Supabase Auth account, integrity challenge rate-limit bucket, App Attest challenges and key record, Coach request claims, account burst counter and linked RevenueCat webhook event copies before clearing the local session.
To let an interrupted deletion finish safely, Kovus retains a bounded deletion receipt containing a SHA-256 hash of the app-generated random request identifier, the opaque Supabase account identifier, whether Apple authorization was revoked, its creation and expiry times, and when deletion completed. The completed result lets the app recover if the success response is lost. The receipt is accessible only to the server's service role and expires 24 hours after creation; completing or retrying deletion does not extend that expiry. A scheduled daily purge removes expired receipts. If server deletion cannot complete, the app keeps the local session or uses that bounded receipt so you can retry. Apple and RevenueCat purchase records remain subject to their own retention and account controls, and deleting Secondwind does not cancel a subscription.
If an account is deleted while a Coach request is still being accounted for, Kovus keeps a short-lived reservation record so that the request's token cost can be reconciled without disrupting other members. The record contains a hash of the account and random request identifiers, the usage date, reserved token count, request time and settlement time. It contains no question, answer, raw account identifier, subscription identifier or device identifier. Records become eligible for deletion two days after the original request and are removed by the next daily purge, giving a retention period of up to three days. The hash also prevents the same request from being settled twice after account deletion.
Kovus keeps Coach subscription, attested-installation and global rate-limit counters for up to 31 days. The subscription counter is keyed to RevenueCat's subscription identifier rather than the deleted Secondwind account so reinstalling or changing app accounts does not reset a paid allowance. Kovus keeps RevenueCat subscription event copies for up to 24 months unless they are deleted through the in-app account deletion flow. Apple, RevenueCat and Anthropic also retain information under their own legal and operational obligations.
Access, correction and privacy complaints
Email josh@kovus.dev to ask what personal information Kovus holds about you, request correction or deletion, or make a privacy complaint. We may need account or purchase context to locate a server record. We will acknowledge a complaint and respond within 30 days. If you are not satisfied, you may contact the Office of the Australian Information Commissioner.
European Economic Area, United Kingdom and Switzerland
Josh Waller, trading as Kovus, is the controller of the personal information described in this policy. Joint considerations and pre-exercise screening answers are health-related information. Screening answers are used on this device during setup; the app's referral acknowledgement records that you understand the guidance to seek professional advice before starting. Before a custom Coach question is sent online, Secondwind separately asks you to choose Agree and send after showing the information shared and its recipients.
Subject to applicable conditions and exceptions, you may have rights to access, correct, erase, restrict or object to processing, and receive a portable copy of your information. Export my data and Delete account and all data are available in Settings and remain available when a subscription is paused. Email us for a request you cannot complete in the app. We will respond within 30 days.
Custom Coach requests go through a Kovus-operated Supabase Edge Function and then to Anthropic's commercial API. Service data may be processed outside the EEA, United Kingdom or Switzerland. Kovus is reviewing the applicable provider agreements and international-transfer safeguards, together with whether an EU or UK representative must be appointed. These assessments remain outstanding.
You may complain to the data protection authority in your country. EEA authorities are listed by the European Data Protection Board. UK users can contact the ICO, and Swiss users the FDPIC.
Security
Custom Coach requests use encrypted HTTPS connections. No system can be guaranteed completely secure. Keep identifying, medical and highly sensitive information out of Coach questions.
Children
Secondwind is designed as a strength-training app for adults. It is not directed to children and does not knowingly collect a child's personal information.
Changes and contact
We may update this policy when the app or its service providers change. The current version and update date will remain on this page. Email josh@kovus.dev with a question or request.
Read the terms of service or visit Secondwind support.