Local-first by design.
In the current version, your runner profile, workouts, races, plans, and imported health data are stored on your device. Peakward does not sync these core records to a cloud account or application server. Optional cloud AI processing is described below.
Peakward creates an anonymous Firebase identity for service integrity and configuration; it does not ask for an email address or password. If account deletion is interrupted, an opaque recovery receipt may retain that anonymous identifier while deletion remains pending. Completion removes the raw identifier and retains a pseudonymous, deterministic owner hash in the operation receipt so an interrupted app can still confirm deletion. Completed receipts are scheduled for automatic deletion after 45 days; Firebase TTL removal is asynchronous. The hash can link receipts created for the same anonymous identity during that period, but it does not contain the raw identifier. Direct client access to receipts is blocked.
Firebase is Peakward's only managed backend. Firestore is not used to sync your profile, workouts, races, plans, or imported health records; it stores only the short-lived account-deletion receipts described above.
Peakward uses Firebase App Check to reduce abuse of its Firebase services. Release builds use Apple App Attest with DeviceCheck fallback on iOS and Google Play Integrity on Android. Apple, Google, and Firebase may process app, device, and integrity-attestation signals or tokens for this purpose; these checks do not send your workouts, plans, races, or imported health records.
On supported devices, coaching can run on-device. The optional Gemini fallback through Firebase AI Logic is remotely disabled by default and requires explicit in-app consent. If available and enabled, Gemini may process runner profile, workout, race, and health context to generate a response.
If you allow location access for weather context, Peakward sends latitude and longitude to OpenWeather to retrieve local conditions for your Daily Brief. Those coordinates are not used to sync your training records.
If you enable analytics in the app, Peakward sends product-usage analytics to PostHog and Firebase Analytics, and crash or error diagnostics to Sentry and Firebase Crashlytics. These services receive the anonymous Firebase identity as a pseudonymous app identifier while analytics are enabled. Contact support@mikezamayias.com for data questions.
If workout reminders are enabled, Firebase Cloud Messaging processes a device push token to deliver them. You can disable cloud AI, analytics, and notifications from app settings.