Duro

Privacy Policy

Effective date: May 14, 2026

Duro is operated by EP Studios, based in Switzerland ("we", "us", "our"). This policy explains what data we collect, why, and how we handle it in compliance with the EU General Data Protection Regulation (GDPR) and the Swiss Federal Act on Data Protection (nDSG/revFADP).

1. Data controller

EP Studios is the data controller responsible for your personal data. For any questions or requests, contact us at privacy@trainduro.com.

2. Data you provide

When you use Duro, you may enter:

  • Workout data: exercises, sets, reps, weight, RPE, effort scores, and notes
  • Custom exercises and workout templates
  • Profile information: nickname and profile photo
  • Preferences: theme, units (kg/lbs), rest timer duration, training frequency, experience level, and other settings

3. Data collected automatically

Crash reporting (Sentry)

We use Sentry in release builds to collect crash reports, non-fatal error reports, and session health so we can fix stability issues. This may include:

  • Crash logs and stack traces
  • Non-fatal error messages and diagnostic context
  • Session health, such as whether the app started and whether it crashed
  • Device type, OS version, and app version
  • Breadcrumbs, such as screen transitions, taps, and lifecycle events leading up to a crash

We have disabled Sentry screenshot capture, automatic performance tracing, and structured log collection in production. Some diagnostic messages may include app state needed to reproduce a failure, such as workout titles, exercise names, counts, and error details. CSV import diagnostics do not include the uploaded CSV content. They may include metadata such as line count and character count.

This data is processed by Functional Software, Inc. (Sentry) and stored in the EU (Frankfurt, Germany).

Local notifications

Duro may schedule local notifications on your device for rest timer alerts, workout reminders, and subscription trial reminders. These are processed entirely on your device and are not sent to any server.

Duro does not collect precise location data, advertising identifiers, contacts, browsing history, or photos except for an optional profile photo you choose inside the app.

4. How we use your data

On-device processing

Most workout history, templates, custom exercises, profile information, and preferences are stored locally on your device using Apple's on-device database. This local data is protected by iOS encryption. Limited summarized or diagnostic data may leave your device only for the server-backed features described below, such as AI coaching and crash reporting.

Server processing (AI coaching)

When you use AI coaching features, Duro sends summarized training data to our servers to generate personalized insights. The data we transmit includes:

  • Your nickname (if set) and experience level
  • Workout summaries: titles, dates, muscle groups, and set counts
  • Aggregated analytics: volume per muscle group, recovery status, consistency, strength trends, estimated strength, and recent personal records
  • Exercise-level strength summaries for pinned or top exercises, such as exercise name, muscle group, estimated one-rep max, trend direction, stall status, and PR status
  • Time context: day of week and time of day

Duro does not send full workout files, imported CSV files, or your complete raw set-by-set history to AI providers. Our servers are hosted by Railway (railway.app). We forward the summarized data above to third-party AI model providers (Anthropic) to generate coaching responses. AI providers process this data solely to generate responses for you and do not use it to train their models.

Apple HealthKit

With your permission, Duro writes completed workouts and effort scores to Apple Health. Duro may also read Duro-created workouts and effort samples from HealthKit so it can update or relate effort scores correctly. We do not sell, share, or use HealthKit data for advertising or marketing. HealthKit data is never sent to our servers.

5. Lawful basis for processing (GDPR)

We process your data under the following legal bases:

  • Contract performance (Art. 6(1)(b) GDPR): Processing workout data and preferences is necessary to provide the Duro service.
  • Legitimate interest (Art. 6(1)(f) GDPR): Crash reporting via Sentry to maintain app stability and fix bugs.
  • Consent (Art. 6(1)(a) GDPR): HealthKit access, local notifications, and optional profile information.

6. Data sharing and recipients

We do not sell your data. We share data only with:

  • AI model providers (Anthropic): To generate coaching messages, as described above
  • Infrastructure (Railway): Our API servers, which process AI coaching requests
  • Crash reporting (Sentry, Functional Software Inc.): Crash reports, non-fatal error reports, and diagnostic data, processed in the EU
  • Website hosting (Vercel): Our marketing website only, with basic analytics
  • Apple HealthKit: Only with your explicit permission

We do not use advertising networks, tracking pixels, or behavioral analytics in the app.

7. International data transfers

Crash and diagnostic reports are processed by Sentry in the EU (Frankfurt). AI coaching requests are processed by our servers (Railway, US/EU) and forwarded to Anthropic (US). These transfers are protected by Standard Contractual Clauses (SCCs) and the service providers' data processing agreements. All network communication uses HTTPS (TLS 1.2+).

8. Data export and portability

You can export your full workout history as a CSV file at any time from the app's Settings. This file is generated on your device and shared using the standard iOS share sheet. This supports your right to data portability under GDPR Art. 20 and nDSG Art. 28.

9. Data retention

On-device data persists until you delete it from the app or uninstall the app. Workout data sent to our servers for AI coaching is not stored permanently and is retained only for the duration of the request. Crash reports in Sentry are retained for 90 days.

10. Your rights

Under the GDPR and the Swiss nDSG, you have the right to:

  • Access your personal data
  • Rectify inaccurate data
  • Erase your data ("right to be forgotten"): delete the app to remove all local data, or contact us to request deletion of server-side data
  • Port your data: use the CSV export feature in Settings
  • Withdraw consent at any time (e.g., revoke HealthKit access in iOS Settings)
  • Object to processing based on legitimate interest
  • Lodge a complaint with a supervisory authority

For EU residents, you may contact your national data protection authority. For Swiss residents, you may contact the Federal Data Protection and Information Commissioner (FDPIC) at edoeb.admin.ch.

11. Security

All data stored on your device is protected by iOS encryption. All network communication uses HTTPS (TLS 1.2+). We do not store passwords or account credentials. Duro does not require an account.

12. Children

Duro is not directed at children under 16. We do not knowingly collect data from children under 16. If you believe a child has provided us with personal data, please contact us and we will delete it.

13. Changes

We may update this policy. The effective date at the top will reflect the latest revision. For material changes, we will notify you through the app or website. Continued use of Duro after changes constitutes acceptance.

14. Contact

Questions about this policy or data protection requests? Email us at privacy@trainduro.com.

Duro
Support Privacy Terms
© 2026 EP Studios. All rights reserved.