Privacy policy

Your progress is personal. Here is what stays on your devices, what optional features share, and how you stay in control.

Who is responsible

Giovanni Intini is responsible for Gio Trains and the personal data handled to provide it. For privacy questions or requests, email privacy@giovanniintini.it.

This policy covers the iPhone app, its Apple Watch companion, widgets and Live Activities, and this website. Gio Trains is intended for adult beginners.

Training on your devices

You do not need a Gio Trains account for the iPhone training campaign. The app stores your profile choices, exercise progress, confirmed sets and repetitions, session timing, achievements, schedule, preferences and any journal notes on your device. Saved level-check choices are part of your training settings and encrypted backup, not shared Crew activity.

The Watch companion exchanges workout and progress information with your paired iPhone. Widgets and Live Activities display selected progress on system surfaces; consider your device’s lock-screen settings if other people can see it. Reminders are scheduled locally.

We do not receive your training or journal contents through ordinary local use. Device backups managed by Apple may include app data according to your Apple settings; these are separate from Gio Trains cloud backup.

When you choose to share a Hero report, the app previews the summary and opens the system share sheet. You choose its recipient or destination. Private journal notes are excluded from that report. The destination’s privacy practices apply after sharing.

Gio Trains has no advertising, cross-app tracking or third-party analytics SDK. We do not sell your data or use training information for advertising. Apple may provide developers with diagnostics or beta feedback according to your Apple and TestFlight settings.

Apple Health is optional

With Pro, you can choose to let Gio Trains write completed workout records to Apple Health. Buying Pro does not grant Health permission. You must enable export and approve Apple’s permission request.

Exported records include the exercise, start and end times, pauses, movement variation and confirmed sets and repetitions. Gio Trains requests permission to write workouts; it does not request read access to your Health records. It does not measure heart rate or estimate calories.

You can turn export off in Gio Trains or revoke permission in Apple’s Health settings. Existing Health entries remain unless you delete them. While export is enabled, correcting a Gio Trains workout can update or remove the matching entry created by the app. Health permissions are not included in Gio Trains backup files.

Purchases

Apple handles payments and purchase restoration. We do not receive your payment-card details. Gio Trains uses Apple-signed purchase information to determine which features you own.

Lifetime Pro and annual Cloud Backup are separate products. Cloud Backup uses transaction identifiers, subscription status, expiry or revocation information and an account identifier to associate verified access with its owner. Cancelling a subscription does not delete the account.

For Cloud Backup and Crew, Supabase sends Apple-signed transaction, subscription-renewal and notification data to a verifier hosted on AWS in Ireland. This can include transaction identifiers, purchase and subscription dates, and an app account token that links a purchase to an account. The verifier checks Apple's signatures and certificate validity, including online revocation checks. It does not store or log the signed data or decoded contents, and does not receive backup files or your recovery code.

Private crews

Crew is available in Gio Trains on the App Store. It requires an account but no Cloud Backup subscription. Each circle has at most six people and no public profile.

Supabase stores your account identifier, chosen nickname, avatar, crew name, membership and sharing-consent times, invitation metadata, reactions, reports, and the members you mute or block. To stop duplicate requests and limit abuse, it also keeps records of crew actions such as creating, joining or leaving a crew, deleted after 30 days, and hourly counts of your requests, deleted once their hour has passed. You separately choose future training-day activity and milestones, or current exercise stages. Crew does not upload Health records, journal notes, pain reasons, workout timestamps or your schedule.

We store your chosen portrait’s catalog identifier and frame color. The gallery has Human and Animal groups; we do not collect a separate gender field or upload a photo.

Social information is readable by the service and visible to your crew as described in the app; it is not encrypted with your backup recovery code. Pro avatar verification uses Apple transaction identifiers and current purchase or revocation status. The social database is configured in Ireland.

Shared activity and your private contribution receipts are retained for up to 90 days; the feed shows at most 100 events. Postcards remain while the crew exists. Pausing stops new sharing. Leaving or removal deletes your identifiable membership, activity and reactions; combined adventure progress stays. Account deletion also removes social account data and private records that prevent duplicate credit.

Each invitation works once and expires after seven days. Its terminal status metadata is removed seven days after acceptance, revocation or expiry. Raw codes are kept only in the creator’s protected local cache, removed at expiry or when a terminal status is received, and excluded from backup and activity uploads.

Optional crew notifications use a device push token, language, time zone and quiet hours. Lock-screen messages are generic. Muting and blocking affect what you receive; private reports are available to the operator for handling concerns. These features do not create an advertising or tracking profile.

Backups and recovery

Encrypted files you manage

You can export an encrypted backup of your training campaign and journal, and later import it using your recovery code. You choose where to save the file. Any file provider or person you share it with has its own privacy practices.

Gio Trains encrypts backup contents on your device using AES-256-GCM. The recovery code is the decryption key. It is stored in your device’s Keychain and, only if you choose, in your iCloud Keychain. It is never sent to Gio Trains or our backup servers. Keep a separate safe copy: we cannot recover it for you. Anyone with both your file and recovery code can read the backup.

Optional cloud backup

Cloud Backup is available in Gio Trains on the App Store. It is optional: training and encrypted file backups work without it.

Cloud Backup requires Sign in with Apple, a separate subscription and your explicit choice to enable uploads. Purchasing alone does not start automatic backup.

Apple sign-in provides an identifier for your account. The app does not request your name or email address for backup ownership; if Apple supplies an email or relay address in its identity response, the authentication provider may retain it. The service also handles authentication tokens, an app-generated device identifier and purchase information. A fresh Apple authorization is used to revoke access when you delete your account.

The servers store encrypted files plus information needed to manage them: account and backup identifiers, timestamps, file sizes, integrity hashes, a recovery-key fingerprint and which device may upload. They do not receive your recovery code or the readable training and journal contents. A recovery-key fingerprint identifies the required code; it is not the code itself.

Supabase stores the primary encrypted copies. Amazon S3 holds independent encrypted recovery copies and encrypted account and backup-management information. Neither provider receives the key that decrypts your training contents.

While signed in to Cloud Backup, you can turn on Keep a copy in iCloud Keychain in Backup & recovery; it is off by default. The app then also saves your recovery code in your iCloud Keychain. While iCloud Keychain is on, Apple syncs it to the devices that use your Apple Account with end-to-end encryption, under Apple’s privacy policy. The code still never reaches Gio Trains. Anyone who controls your Apple Account could then open your backups. Turning the option off, or deleting your cloud account, removes the copy from iCloud Keychain on all your devices; deleting the app does not.

Retention and deletion

Local training remains until you remove or replace it. Removing the app does not delete copies you exported, data already shared, Apple Health entries or a separate cloud account. Manage those copies at their respective destinations.

Cloud Backup retains the newest 30 committed versions while your subscription is active. After paid access or verified grace ends, uploads stop and existing backups remain downloadable for 90 days. Cancellation does not start that window while paid access continues.

Older or expired versions are removed by maintenance, including the independent recovery copies. Data deleted or replaced in the independent recovery storage is kept only to recover from errors and is queued for permanent deletion within 30 days; the storage provider then completes the deletion asynchronously. Account identity and subscription ownership records remain until account deletion. Notification identifiers used to avoid processing the same Apple event twice are retained for up to 180 days.

Delete your cloud account in Backup & Recovery using fresh Apple authorization. This stops access and removes the account and its primary copies. Its independent recovery copies are deleted at the same time and queued for permanent deletion within 30 days, which the storage provider then completes asynchronously. If a provider is unavailable, deletion stays pending and retries until the app confirms completion. Manage Apple subscriptions separately; deleting the account does not cancel them.

Providers may retain limited security logs and protected system backups under their retention policies. These logs can include your IP address and user agent (the app and system version that sent a request). To protect your account, our authentication provider stores both with each sign-in session. Signing out or deleting your account removes the session. A session that goes unused for 90 days ends and is deleted, normally about a day later. The provider also records both with sign-ins and other account events in its security logs. It keeps those logs, and its daily database backups that include the sessions, for 7 days. Such copies are not used to reactivate a deleted account. Files you exported and copies you sent to someone else remain under your or their control.

AWS operational logs and encrypted records of failed background jobs are retained for up to 14 days. Access logs for infrastructure state and deployment files are retained for approximately 90 days; these contain infrastructure request metadata, not backup contents. Background maintenance stores an opaque account identifier marking its progress and a failure flag in encrypted storage, updated as maintenance progresses.

Service providers and locations

We use providers only as needed to deliver the features you choose, operate the website, handle requests and protect the service:

  • Apple: app distribution, purchases, optional Health integration, device services, Sign in with Apple and, if you choose, iCloud Keychain storage of your recovery code. See Apple’s privacy policy.
  • Supabase: authentication, purchase verification, readable Crew data and encrypted primary backup storage. Production and test databases and primary storage are configured in Ireland. See Supabase’s privacy policy.
  • Amazon Web Services: independent encrypted S3 recovery storage, Apple purchase verification and background maintenance for Cloud Backup and Crew. These services are configured in Ireland. See AWS’s privacy notice.
  • GitHub Pages: this public information website. See GitHub’s privacy statement.

EU storage location does not mean every authentication request, support operation or security log is processed only in the EU. Providers can operate internationally. Where required, applicable data-processing terms and lawful transfer safeguards must cover transfers outside the EEA or UK. You can contact us for information about the safeguards relevant to your data.

We may disclose limited information when required by law or needed to investigate abuse or protect legal rights. We do not have a decryption key to provide for your training backups.

This website and privacy enquiries

On your first visit, a small script uses your browser’s language preferences to open a matching translation. If you choose a language, the site remembers that choice in this browser’s local storage. It is not sent to us and is not used for tracking. Clearing this site’s browser data removes the saved choice. The pages and language links also work without JavaScript.

This site uses no analytics scripts, advertising cookies, contact forms or embedded third-party media. Fonts and artwork are served with the site. GitHub logs visitors’ IP addresses for security purposes when serving GitHub Pages, including visitors who are not signed in. See GitHub’s explanation of Pages data collection.

If you email us, we receive your address and the information you choose to send. We use it to handle your request and keep correspondence only as needed to resolve the matter, document its resolution and meet any applicable obligations. Do not send your recovery code, Apple password or payment-card details.

Your choices and rights

Where the GDPR or UK GDPR applies, processing needed to provide an account and verify a requested paid service is based on performing that service contract. Optional Health export, Crew progress sharing and backup uploads depend on your choice and consent. Security, abuse prevention and responding to enquiries rely on our legitimate interests; legally required processing relies on the relevant legal obligation.

Enabling cloud uploads or Crew sharing requires your explicit choice, including consent to the related health information involved. You can withdraw it in the app without affecting earlier lawful processing. Pausing stops new sharing or uploads, but does not erase existing data. Leave your crew to remove identifiable shared activity, or delete your account to remove account data and cloud backups.

Depending on the law that applies, you can request access, correction, deletion, restriction or portability of your personal data, and object to processing based on legitimate interests. You can also complain to the data-protection authority where you live, work or believe an infringement occurred. We may need to verify your identity before acting on a request.

Contact privacy@giovanniintini.it to exercise these rights. We can provide account information and encrypted backup files we hold; decrypting training contents requires your recovery code. You do not need to disclose that code to us.

We will update this page when data handling changes and revise the date above. Material changes to an optional feature will be explained before the new processing begins.