RunNerd is an AI-powered running coach that analyzes your workouts to generate personalized training plans, post-run analysis, and audio coaching briefings. This Privacy Policy explains what data we collect, how it's used, who else processes it, and the choices you have.
By using RunNerd, you consent to the practices described below. If you don't agree, please don't use the app.
01 Identity & contact
Publisher: Aaron Marr (independent developer)
App: RunNerd (bundle ID ai.daigest.runnerd), distributed via the Apple App Store.
Contact: hello@runnerd.ai for any privacy questions or requests.
02 What we collect
Every piece of data RunNerd collects is listed below. If a field isn't on this list, we don't collect it.
From Sign in with Apple
| Field | When | Purpose |
|---|---|---|
| Apple user identifier | Every sign-in | Account identity |
| Email (optional) | First sign-in only, if you share it | Account recovery |
| Full name (optional) | First sign-in only, if you share it | Personalization in coaching messages |
Apple's "Hide My Email" relay is supported. We never see your Apple ID password.
From Apple HealthKit (you grant permission during onboarding)
| Field | Purpose |
|---|---|
| Running workouts — start/end time, distance, duration, calories | Run analysis and plan generation |
| Heart-rate samples per workout | Heart-rate zone analysis, training-load calculation |
| Cadence (steps per minute) per workout | Form and efficiency context in run analysis |
| GPS route polyline — latitude/longitude samples on the workout | Per-mile splits, elevation correction, route deduplication |
| Workout source app and device name (Apple Watch, etc.) | Variance disclosure, device-specific calibration |
| Active energy, basal energy, sleep, body battery (when present) | Optional context for run analysis |
HealthKit data is read-only. RunNerd never writes data back to HealthKit. We do not request or read any other Health categories (no nutrition, mindfulness, reproductive health, blood pressure, glucose, ECG, or mobility data).
From Garmin Connect (only if you connect it)
If you connect your Garmin account, RunNerd receives the running activities you sync after connecting. The fields, purposes, and your controls are listed in Garmin Connect below.
From intervals.icu (only if you connect it)
intervals.icu is an independent training platform that many Garmin, Polar, Coros, Suunto, and Wahoo runners use. If you connect it, RunNerd gets read-only access to your intervals.icu activities. We don't request access to its wellness, calendar, or settings data.
| Field | Purpose |
|---|---|
| Running activities — start time, distance, duration | Run analysis and plan generation |
| Heart rate and cadence streams | Heart-rate zone analysis, training load, form and efficiency context |
| GPS route and altitude | Per-mile splits, elevation context, route matching |
| intervals.icu athlete ID and login tokens (tokens encrypted at rest) | Keeping the connection working and matching incoming runs to your account |
When you first connect, RunNerd imports your runs from the last 30 days. After that, new runs arrive automatically. Disconnecting (Profile → Connections → intervals.icu) deletes the stored tokens and athlete ID and stops new imports. Runs already imported stay with your account until you delete it.
From in-app run tracking (you grant location permission)
When you start a guided run inside RunNerd — rather than importing one recorded elsewhere from Apple Health — the app records your location directly to measure the run in real time. This is collected by the app itself, separately from HealthKit.
| Field | Purpose |
|---|---|
| Precise location — GPS latitude/longitude samples | Live route, distance, pace, and per-mile splits while a run is in progress |
| Background location — location while the app is backgrounded or the screen is locked | Keeps distance and pace recording during a run when your phone is in your pocket |
| Motion & fitness — step cadence from the device motion sensor | Live cadence (steps per minute) during a tracked run |
Location is collected only while you are actively tracking a run. Recording starts when you begin a run and stops when you finish it — RunNerd does not track your location in the background at any other time. You can decline location access and still use every other part of the app (importing runs from Apple Health, training plans, and coaching).
From you directly (typed in the app)
| Field | Purpose |
|---|---|
| Onboarding "About Me" text | Personalize coaching tone and context |
| Age and gender (optional) | Age-graded performance, training-load defaults |
| Run name / route name edits | Personal naming of your routes |
| Perceived effort and run-type overrides | Coaching accuracy |
| Race targets — distance, date, goal time | Plan periodization, race-week pushes |
| Coach chat messages | Conversation history and follow-up context |
| Backlog feedback / bug reports | Product improvement and triage |
Device & system data
| Field | Purpose |
|---|---|
| Expo push token | Delivery of run-analyzed, weekly recap, missed-run, and race-phase notifications |
| Device timezone | Local-time scheduling of coaching pushes |
| Platform identifier (iOS) | Routing notification payloads |
Generated by RunNerd
The app produces derived data from your inputs: AI run analyses (text and audio), weekly training plans, coaching briefings, and personal records. These are stored alongside your account and are deleted when your account is deleted.
Share images of a run, a personal record, or a recap are drawn on your iPhone and handed to the iOS share sheet. They aren't uploaded to our servers, and where they go next is up to you.
Operational logs
Our servers keep standard HTTP access logs (timestamp, IP address, request path, status, user-agent) for up to 30 days. Application logs may contain truncated user identifiers but no chat content, no HealthKit, Garmin, or intervals.icu values, and no full request bodies. Logs are not shipped to a third-party logging provider.
What we do NOT collect: contacts, calendar, photos, microphone audio, browsing history, advertising identifiers (IDFA / IDFV), location outside of an active run you are tracking, or any social-graph data.
03 How AI processes your data
RunNerd's coaching is AI-generated. Here's exactly which providers see what:
- Anthropic (Claude API) receives your run metrics — pace, heart rate, distance, elevation, splits, cadence, route summary, and timestamps — along with your coach chat messages and your "about me" context, in order to generate coaching feedback, plan adjustments, and your weekly training plan. Anthropic acts as a data processor under our commercial agreement, does not use your data to train its models, and retains API inputs and outputs for up to 30 days before deletion.
- OpenAI (TTS API) receives only the generated coaching text (a few hundred words per run) in order to produce the audio briefing. It does not receive raw HealthKit or Garmin data, or run metrics. OpenAI acts as a data processor under our API agreement, does not use this content to train its models, and may retain inputs for up to 30 days for abuse monitoring before deletion.
Both Anthropic and OpenAI are bound to the same confidentiality, security, and non-training commitments we apply to your data. Neither has rights to share, sell, or reuse your data beyond serving our requests. These protections are equivalent to those described elsewhere in this policy. See Anthropic's Privacy Policy and OpenAI's API Data Usage Policies for their full terms.
AI Transparency Statement — Garmin data. If you connect Garmin, Anthropic's Claude API receives your Garmin run metrics in the same way it receives your other run data, solely to generate your coaching, run analysis, and training plans. Before you connect Garmin, the app shows a consent screen explaining this, and nothing is imported until you agree. We keep a record of when you agreed and which version of the consent text you saw. You can withdraw consent at any time by disconnecting Garmin, which records the withdrawal and deletes your Garmin-sourced data. Garmin data and anything derived from it is never used to train, evaluate, or improve AI models.
You must consent to AI data sharing before using RunNerd. New users see the disclosure during onboarding; existing users see it on next launch after we update the policy. User-typed content is sanitized on our server before it's sent to any AI provider.
04 Apple HealthKit
Per Apple's HealthKit guidelines:
- HealthKit data is processed only to provide your training plan, post-run analysis, and coaching.
- We do not share HealthKit data with third parties for advertising or marketing.
- We do not sell HealthKit data.
- You can revoke RunNerd's HealthKit access at any time via iOS Settings → Privacy & Security → Health → RunNerd.
05 Garmin Connect
Connecting a Garmin account is optional. You connect through Garmin's own OAuth login, so RunNerd never sees your Garmin password.
What we receive
| Field | Purpose |
|---|---|
| Running activities synced after you connect — start/end time, distance, duration | Run analysis and plan generation |
| Heart rate and cadence | Heart-rate zone analysis, training load, form and efficiency context |
| GPS route and elevation | Per-mile splits, elevation context, route matching |
| Laps | Interval and workout structure in run analysis |
| Device name | Variance disclosure, device-specific calibration |
| Garmin user ID, granted permissions, and login tokens (tokens encrypted at rest) | Keeping the connection working and matching incoming runs to your account |
If the same run also reaches RunNerd through Apple Health, intervals.icu, or the in-app tracker, we combine them into one run and use Garmin's data (for example, heart rate, cadence, and elevation) where it's more complete.
Daily health metrics (such as resting heart rate, HRV, and sleep) may be added in a later update. If they are, they will be listed here before we receive them.
How we use it
- Garmin data is used only to provide run analysis, personal records and insights, AI coaching, and training plans for you.
- In a future update, RunNerd may send your planned workouts to your Garmin device. This policy will be updated when that ships.
- We do not sell Garmin data, and we do not share it with third parties for their own use. The processors that handle it on our behalf are listed in Third-party processors.
- Garmin data and anything derived from it is never used to train, evaluate, or improve AI models.
Disconnecting and deletion
- You can disconnect at any time in the app (Profile → Connections → Garmin) or by revoking RunNerd's access in Garmin Connect. Either one deregisters RunNerd from your Garmin account and deletes your Garmin-sourced data from our servers, along with the login tokens and your Garmin user ID. Runs that also came through Apple Health, intervals.icu, or the in-app tracker go back to that version, and runs only Garmin sent are removed.
- Deleting your RunNerd account does the same, immediately when you request deletion. Garmin data is removed at that point, before the 30-day deletion window ends, and it isn't restored if you restore your account.
06 Weather forecasts
To make your coaching content weather-aware ("it'll be windy this afternoon" or "go out early, it's going to be hot"), RunNerd fetches a 7-day forecast from Apple Weather (WeatherKit). We pass the latitude and longitude of your most recent run's starting point to WeatherKit and receive back a daily forecast (high, low, precipitation chance, wind, condition code). The forecast is stored against your weekly plan and shown on the Today and Week tabs.
Apple does not receive your account identity with the forecast request. Apple's terms for WeatherKit are at developer.apple.com/weatherkit.
07 Third-party processors
The complete list of services that touch your data:
| Processor | Data sent | Purpose |
|---|---|---|
| Apple — Sign in with Apple | Sign-in identity token only | Authentication |
| Apple — HealthKit | None outbound; on-device read | OS-level data plane |
| Apple Push Notification Service (via Expo) | Push token and notification payload (no PII in payload bodies) | Notification delivery |
| Anthropic (Claude API) | Run data (distance, pace, HR, splits, elevation), chat messages, onboarding "about me", plan adjustment context | AI coaching analysis and plan generation |
| OpenAI (TTS API) | Coaching text scripts (no raw HealthKit or Garmin data) | Audio briefing generation |
| Garmin (Garmin Connect API) | None outbound; we receive your Garmin activity data with your authorization | Run and health data import |
| intervals.icu | None outbound; we receive your intervals.icu activity data with your authorization | Run data import |
| Apple WeatherKit | Latitude/longitude of your most recent run's starting point (no account identity sent) | Weather-aware coaching and 7-day forecast on Today / Week |
| Open-Elevation API | GPS coordinate samples per workout, with no account identifier | Elevation correction fallback |
| DigitalOcean | All app data (PostgreSQL host, U.S. region) | Hosting |
| DigitalOcean Spaces | Encrypted database backups (AES-256, decryption key never sent off-host) | Off-host backup storage |
| Netlify | Website requests (IP address, browser, pages visited) and any email address you submit through a form on runnerd.ai | Website hosting and waitlist forms |
| Cloudflare Web Analytics | Page views, referrer, browser, and country for runnerd.ai, collected without cookies | Aggregate website traffic statistics |
If you connect Garmin, Garmin-sourced data is also processed by Anthropic (as run data for coaching) and DigitalOcean (hosting and backups), under the same terms as the rest of your data.
We minimize what's sent to each processor to only what is necessary for that service's function. Each processor operates under its own privacy policy and security commitments.
08 Push notifications
Your Expo push token is stored only to deliver run-analysis confirmations, weekly recaps, missed-run reminders, and race-week notifications. It is not used to identify you across other apps or for advertising.
You can disable push notifications at any time via iOS Settings → Notifications → RunNerd.
09 Product interaction data
RunNerd records a small set of in-app interaction events — for example, when you complete the first-run preview, dismiss an onboarding card, or trigger an account action. These events are linked to your account and used to improve the product (e.g., understanding where new users get stuck).
We do not use this data for advertising and we do not share it with third parties.
10 Our website
This policy also covers runnerd.ai.
Analytics — we use Cloudflare Web Analytics to count page views. It doesn't set cookies or build a profile of you, and we see only aggregate numbers (pages, referrers, browsers, countries).
Hosting — the site is hosted on Netlify, which keeps standard request logs (IP address, browser, page requested) under its own privacy policy.
Forms — if you join a waitlist on the site, we store the email address you enter and use it only to tell you about that feature. Email hello@runnerd.ai to have it removed at any time.
11 Data retention
Account data — retained while your account is active. Your full training history is what makes coaching accurate over time.
Backups — kept for 7 days locally and up to 30 days off-host. Backups are encrypted at rest with AES-256 and transferred over TLS.
Operational logs — retained up to 30 days, then rotated.
Connected services — Garmin data is deleted when you disconnect Garmin. intervals.icu tokens are deleted when you disconnect intervals.icu; runs already imported stay with your account.
On account deletion — all personally identifiable records are removed within 30 days. We may retain aggregated, de-identified statistics (e.g. average run distances) that cannot be tied back to you.
12 Security
- All traffic between the app, the website, and our servers is encrypted with TLS.
- You sign in with Apple, so RunNerd never stores a password for you.
- Login tokens for connected services (Garmin, intervals.icu) are encrypted before they're stored, and each connection is set up through that service's own sign-in.
- Database backups are encrypted with AES-256 before they leave the server.
- Access to production servers is limited to RunNerd's developer.
If you believe you've found a security issue, email hello@runnerd.ai.
13 Account deletion
You can delete your account and all associated data directly in the app:
Profile tab → Account section → "Delete my account"
Deletion is a 30-day soft-delete — your account and data are queued for permanent removal after 30 days. Within that 30-day window you can email hello@runnerd.ai to restore your account. After 30 days, all personally identifiable records are permanently removed from our servers.
If you've connected Garmin, deletion also disconnects RunNerd from your Garmin account and removes your Garmin data right away, at the start of the 30-day window.
If you can't access the app for any reason and need to initiate deletion by email, write to hello@runnerd.ai from the address you used at sign-in.
14 International transfers
Your data is stored on servers located in the United States (DigitalOcean's NYC region). If you access RunNerd from outside the U.S., your data is transferred to and stored in the U.S.
15 Children's privacy
RunNerd is not directed to children under the age of 13 and we do not knowingly collect data from them. If we learn we have collected data from a child under 13, we will delete it promptly.
16 Your rights
You have the right to:
Access — request a copy of the personal data we hold about you. Email hello@runnerd.ai and we'll respond within 30 days.
Correction — edit your run names, perceived effort, run-type classifications, race targets, and onboarding profile in-app at any time.
Deletion — see Account deletion above. Garmin-sourced data is also deleted whenever you disconnect Garmin.
Portability — request an export of your run history and training plans as JSON via the same email address. (An in-app export button is planned but not yet shipped.)
Withdraw consent — revoke HealthKit access via iOS Settings, disconnect Garmin in the app (Profile) or revoke RunNerd's access in Garmin Connect, disconnect intervals.icu in the app (Profile), disable push notifications via iOS Settings, or sign out from the app's Profile screen (which clears your push tokens; running data is retained until you request deletion).
17 Changes to this policy
We may update this policy from time to time. Material changes will be communicated in-app at least 7 days before they take effect. The "Last updated" date at the top of this page reflects the most recent revision.
18 Contact
Questions about this Privacy Policy or how your data is handled?