SetForward — Privacy Policy

Last updated:
12 October 2026

SetForward is a workout log that runs entirely on your device. This policy explains what that means in practice.


The short version

SetForward keeps your workout data on your phone. There is no account, no advertising, no usage analytics and no tracking, and no data is sold. Your workout data leaves your device only when you choose to export a backup or share a workout yourself.

The app does send some technical information to two services:

  • Expo, which delivers app updates. Each time the app starts it checks for an update, sending a random installation identifier, version information and, if the app crashed while starting, a short error report.
  • RevenueCat, which checks purchases. Each time the app opens it checks whether the full version has been bought, sending an anonymous identifier and details about the device and the app. When you buy or restore the full version it also sends the purchase details from the store.

Neither receives your workout data.

What is sent, and what is not

There is no server operated by the developer of SetForward, and nothing you enter is sent to one.

There is no account, no sign-up, no email address and no username. The app does send technical information to two outside services, Expo and RevenueCat:

  • A random installation identifier, sent to Expo with each update check
  • An anonymous identifier, sent to RevenueCat with each purchase check
  • Details about the app and the device: platform, operating system version, app and update versions, device model, language settings and store country. On iOS this includes the identifier for vendor, described under Purchases and the trial
  • If the app crashed while starting, a short error report, sent once to Expo
  • When you buy or restore the full version, the purchase details the store issued: the product, its price and currency, and the transaction token
  • Your device's IP address, which any service receiving a request over the internet can see

Each item is described in full under Network access and Purchases and the trial below.

SetForward does not collect or send:

  • Personal information such as your name, email address or phone number
  • Your workout, health or fitness data
  • Your device's location
  • Your contacts, photos, or any file other than one you explicitly select
  • Advertising identifiers
  • Usage analytics or session recordings
  • Payment card details or billing addresses

No data is sold, and none is used for advertising.

What is stored on your device

The following is stored locally in a database inside the app's own private storage:

  • Your routines, their notes, and the exercises in them
  • Your per-exercise configuration: working sets, rep ranges, weight increments, rest durations, whether the exercise is logged per side and which side to log first, your notes on the exercise, and the bar or base weight remembered for the plate calculator
  • Your workouts: dates, durations, and every set you logged with its weight and reps
  • Your settings: weight unit, default rest duration, whether rest starts automatically, rest between sides, training goal, and an optional weekly workout target

The app also keeps a few internal records: which notices you have seen, whether setup is finished, and which workouts were imported.

This information stays in the app's private storage area. Other apps on your device cannot read it. None of it is ever transmitted anywhere by SetForward, including by the update check or the purchase checks described below.

No account required

There is no sign-up and no login. You do not create a profile and you do not identify yourself to use any part of the app.

Purchases and the trial

SetForward is a free download. The full version is a one-time purchase, with a free trial before it.

The trial is worked out on your device. It is calculated from the dates of the workouts already in your local database. Nothing is sent anywhere to start it, count it down or end it, and it works with the device offline.

Apple and Google process the payment. When you buy the full version, the transaction is handled by the App Store or by Google Play under your existing store account. SetForward never sees your card details, your billing address or your store password, and the developer never receives them.

RevenueCat checks that the purchase is real. SetForward uses RevenueCat, a third-party service, to confirm with the store that a purchase was made and that it is still valid. The app contacts RevenueCat each time it opens and returns to the Today screen, for everyone, whether or not they have bought anything. It also contacts RevenueCat when it shows the price, when you buy the full version and when you restore a previous purchase.

Every one of those requests sends:

  • An anonymous identifier that RevenueCat generates and stores on this device
  • Technical information about the app and the device: the platform, the operating system version, the device model (and, on Android, its brand), your language settings, the store country, and the app's name and version
  • On iOS, the identifier for vendor, described below

When you buy or restore the full version, the request also sends the purchase details the store issued: the product, its price and currency, and the receipt or transaction token.

What those requests never send: your routines, your workouts, your sets, your settings, or the contents of any backup file. No workout data is included in them.

The RevenueCat identifier

The identifier RevenueCat uses is generated on your device the first time the app needs it.

  • It is not linked to your name, your email address or an account, because SetForward has none.
  • It is not an advertising identifier and is not shared with other apps.
  • It is not asked for and is not something you enter.
  • Deleting SetForward and installing it again produces a new one, which is why restoring a purchase goes through your store account rather than through this identifier.

The identifier for vendor (iOS only)

On iOS, RevenueCat's requests also include the identifier for vendor, a value Apple's iOS assigns.

  • It is not an advertising identifier, and it cannot be used to recognise your device in apps from other developers.
  • Apps from the same developer on the same device see the same value. iOS replaces it with a new one once every app from that developer has been removed.

If those requests fail, the app stays open. SetForward does not lock you out of your own data because it could not reach RevenueCat. A network failure, an outage or an offline device leaves the app working.

As with any request over the internet, your device's IP address is visible to the service receiving it. RevenueCat processes this information on the developer's behalf, as a service provider. What it does with that information is also governed by RevenueCat's own privacy policy: https://www.revenuecat.com/privacy. What Apple and Google do with payment information is governed by their privacy policies, not by this one.

Network access

SetForward's network activity is the update check described in this section and the purchase checks described under Purchases and the trial.

Released versions of the app check for a new version each time they start, by making an HTTPS request to Expo's update service at u.expo.dev. Expo operates that service; the developer publishes updates through it. Apart from that check and the purchase checks described above, SetForward contacts no other server, and there is no server operated by the developer for it to contact.

What the update check sends:

  • The platform the app is running on, Android or iOS, and the app's runtime version
  • The update channel the app was built for
  • Protocol and API version numbers used by the update service
  • An installation identifier — described below
  • Identifiers for the app version currently installed, for the version built into the app as shipped, and for any recent version that failed to start
  • If the app crashed while starting, a short error report, up to 1024 characters — described below

What the update check never sends: your routines, your workouts, your sets, your settings, or the contents of any backup file. No workout data is included in it, and no workout data is sent anywhere else.

As with any request over the internet, your device's IP address is visible to the service receiving it. Expo processes this information on the developer's behalf, as a service provider. What it does with that information is also governed by Expo's own privacy policy: https://expo.dev/privacy

If your device is offline, the check fails quietly and the app runs normally. There is currently no in-app setting to turn the check off. Nothing in SetForward except buying or restoring the full version needs a network connection.

The installation identifier

The update check includes a random identifier that the app generates the first time it runs and stores on your device.

  • It is randomly generated. It is not derived from your device's hardware and it is not an advertising identifier.
  • It is not linked to your name, your email address or an account, because SetForward has none.
  • It belongs to this app alone and is not shared with other apps.
  • It stays the same for as long as SetForward is installed. Deleting the app removes it, and installing it again produces a new one.

Error reports

If SetForward crashes while it is starting, the update component writes a short description of the error to a file in the app's own storage: the time, the type of error and its message. The next update check sends that description, up to a maximum of 1024 characters, and the file is then deleted, so each report is sent once.

On iOS this covers a crash while the app is starting or in the first few seconds after its first screen appears. On Android it covers only a failure to load the app's own update files.

That error report is the only error information SetForward sends. There is no separate crash-reporting service, no error history is kept, and no error information goes to a server operated by the developer.

When your workout data leaves your device

Only when you decide it should.

Export backup. Settings → Export backup writes a JSON file containing your SetForward data and hands it to your device's standard share sheet. From there, you choose the destination — saving it to Files, sending it to yourself, putting it in a cloud drive, or cancelling. SetForward does not choose for you and does not upload anything.

Once you place a backup file somewhere, that location's own privacy terms apply to it. A backup saved to a cloud drive is subject to that provider's policies, not this one.

Share a workout. From a finished workout, Share prepares a summary on your device (the routine name, date, exercises, completed sets and any personal records) and hands it to your device's standard share sheet. You choose where it goes, or cancel. SetForward does not upload it.

Share a routine. Share on a routine creates a link containing that routine's setup: its name, note, exercises, sets, rep ranges, increments, rest times and notes. It contains no workout history. The routine is stored in the part of the link after the # sign, which browsers do not send to our website when the link is opened, and our website does not record it. Anyone with the link can read the routine in it.

Restore backup. Settings → Restore from backup uses your device's standard document picker so you can select a file. SetForward reads only the file you select.

Hevy import. Settings → Import from Hevy uses the same document picker to read a CSV file you select. Nothing is sent anywhere; the file is read on your device and its workouts are added to your local history.

Third-party services and SDKs

SetForward includes no advertising SDKs, no analytics SDKs, no tracking libraries and no external fitness or health APIs.

The app is built with Expo and React Native, which are open-source frameworks. They are compiled into the app; they do not send your workout data anywhere.

Two outside services are contacted, through two components built into the app, and only for the purposes described above:

Both act as service providers, processing this information on the developer's behalf. Neither receives workout data.

Tracking

SetForward does not track you across apps or websites, does not participate in any advertising network, and does not sell data. On iOS it does not use App Tracking Transparency, because it has nothing to ask for.

Children

SetForward is a general-purpose logging tool and is not directed at children. The app asks no one for personal information, of any age, and there is no server operated by the developer for anyone's data to reach.

Deleting your data

Two ways:

  1. In the app — Settings → Delete all data. This permanently removes every routine, workout and set from your device. You will be asked to confirm twice.
  2. Delete the app — removing SetForward from your device removes its local database with it, along with the installation identifier and the RevenueCat identifier stored on the device.

Because everything is stored locally, deleting the app deletes your workout history. If you want to keep it, export a backup first. The developer holds no copy and cannot recover anything for you.

Purchase records are kept by the stores and by RevenueCat. A purchase is recorded by Apple or Google under your store account, and by RevenueCat against the anonymous identifier. Those records are not deleted by deleting your data or the app, which is what lets you restore a purchase later. Apple, Google and RevenueCat each keep them under their own privacy policies.

Data retention

Your workout data stays on your device until you delete it, either through Settings or by uninstalling the app. The developer operates no server, holds no copy of it and therefore applies no retention period to it.

The technical information described under Network access and Purchases and the trial is kept by Expo and RevenueCat under their own privacy policies.

Security

Your SetForward data is stored in the app's private storage area, protected by your device's own operating system and, where enabled, its device encryption. Keeping your device updated and locked with a passcode or biometric is the most effective protection for it.

Backup files you export are ordinary, unencrypted JSON so that you can read and inspect them. Store them somewhere you consider appropriate.

Not medical advice

SetForward is a logging utility. It records numbers you enter and performs simple arithmetic on them to suggest a target. It is not medical, health or training advice, and it makes no claims about strength, muscle, body composition, recovery or injury.

Consult a qualified professional before starting or changing how you train.

Changes to this policy

If this policy changes, the updated version will be published at the same URL with a new "last updated" date. Material changes would follow a change to the app itself — and a version that changed what it sends would need updated store privacy disclosures as well.

Contact

Questions about this policy: hello@lifeslevelup.com