Skip to content

UNDA — Runtime Permissions

Status: Draft. Permissions are requested at the moment the corresponding feature is enabled (§8.2 incremental permissions), never all-up-front.

iOS

Permission (Info.plist key)Requested whenRationale (user-visible)Notes
NSUserNotificationsUsageDescriptionUser toggles reminders ON"Send you reminders for your workout of the day and upcoming period."Off by default (§3.3).
NSHealthShareUsageDescription (HealthKit read)User enables HealthKit sync"Read workouts, resting heart rate, HRV, and sleep so UNDA can adapt your plan to your recovery."Requested only for the specific categories in use.
NSHealthUpdateUsageDescription (HealthKit write)User enables "write completed workouts to Health""Write completed workouts to Apple Health so they appear in your Fitness ring."Optional; user can enable read without write.
NSCalendarsUsageDescription (only if user opts in)User taps "Add to Calendar" on a workout"Add planned workouts to the calendar you choose."Not requested at startup.

Permissions not requested: contacts, precise location, background location, camera, microphone, photos, motion & fitness at OS level (beyond what HealthKit covers), reminders, or advertising identifier.

Android

PermissionRequested whenRationaleNotes
POST_NOTIFICATIONS (Android 13+)User toggles reminders ON"Send you reminders for your workout of the day and upcoming period."Off by default.
Health Connect read permissionsUser enables Health Connect syncPer-category: heart rate, exercise, sleep, weight (if used later).Requested per category, at feature enable.
Health Connect write permissionsSame as iOS write pathOptional.
READ_CALENDAR / WRITE_CALENDAR (only if opts in)Same as iOSSame.

Permissions not requested: ACCESS_FINE_LOCATION, READ_CONTACTS, READ_SMS, READ_MEDIA_*, advertising ID.

Play/Store declarations

  • Google Play Health Apps declaration: we will declare period tracking + activity/fitness features per §18. Answers must match the running app; keep this doc updated when Health Connect scopes change.
  • App Store privacy details: health & fitness data + identifiers (UUID) + diagnostics (if a crash SDK is later added); never "advertising or marketing" or "third-party advertising".

Change control

Adding a new permission requires:

  1. Updating this doc + data-flow.md.
  2. Confirming the permission is only requested at feature-enable time (not app launch).
  3. Confirming the App Store / Play declaration answers still hold.

UNDA is a fitness and training support product. It is not a medical device.