When you open a wellness app that spans nutrition, yoga training, calendar scheduling, and analytics, you deserve to know exactly which device permissions it uses, whether it writes data behind your back, and what happens if you decline optional access.
In the verified native source code of Ayurveda & Asana Yoga (`SleepHealthStore.swift` and `PermissionManager.swift`), Apple Health (`HealthKit`) integration in release builds is strictly **read-only** and limited to four specific activity and sleep metrics—while scheduled meals, workouts, and shopping lists are stored via Apple's `EventKit` calendar framework and local `SwiftData` storage.
This guide explains the exact data types requested by the app, how overnight sleep and workouts are calculated in Analytics and Calendar, and how to manage permissions in iOS Settings.
What the App Reads from Apple Health: Sleep, Active Energy, Steps, and Workouts
In production builds (`SleepHealthStore.swift`), the app requests read authorization (`shareTypes = []`, meaning zero HealthKit writing in release builds) for four specific Apple Health data types: Sleep Analysis (`.sleepAnalysis`), Active Energy Burned (`.activeEnergyBurned`), Step Count (`.stepCount`), and Workouts (`HKObjectType.workoutType()`). It does not read or write dietary macronutrients or blood biomarkers to Apple Health.
When `usesHealthKit` is enabled for your profile, those four read-only streams power two views: daily activity summaries (`HealthActivitySummary`) on the calendar/training views—showing active kilocalories, step count, and recorded workouts with `kilocalories > 0` labeled `"HealthKit • <Source Name>"`—and multi-day charts in `AnalyticsViewModel`.
- Sleep Duration Attribution (`sleepDurationHoursByDay`): Groups sleep segments separated by no more than 2 hours into a single night's session, attributes the total to the wake day (`sessionEnd - 1 second`), sums only asleep stages (excluding awake gaps), and falls back to `.inBed` intervals only if a session has no overlapping staged sleep.
- Active Energy & Steps: Queries daily cumulative kilocalories (`activeEnergyBurned`) and steps (`stepCount`) per local calendar day.
- Workout Activities: Displays HealthKit workouts (such as Yoga, Walking, Running, Cycling, Pilates, or Strength Training) that report active energy above 0 kcal.
How EventKit Calendar, Notifications, and Camera Permissions Are Used
Alongside optional Apple Health read access, `PermissionManager.swift` coordinates four standard iOS permissions used by specific features across the 12 tabs.
Understanding which feature triggers each permission makes it easy to configure your device settings.
- Calendar Access (`EventKit` / `EKEventStore`): Required by the timeline views to save and sync your scheduled meals, workouts, and shopping list events on the calendar.
- Notifications (`UNUserNotificationCenter`): Optional; used to schedule local reminders for upcoming meals, workouts, shopping lists (`reminderMinutes`), and background generation tasks.
- Camera Access: Optional; used only when you scan a packaged food barcode (`BarcodeFoodMatcher`) or take a custom photo for a food or exercise item.
- Core Reference Catalogs Are Bundled Locally: Browsing the 14,487 foods, 704 dravyas, 1,511 recipes, 908 yoga poses, and 60 guided practices works from the local SwiftData store even if you disable Apple Health.
How to Review or Change Health and App Permissions Anytime
You can toggle Apple Health read categories or update Calendar, Notification, and Camera permissions at any time in iOS without losing your local SwiftData profile, pantry batches, favorites, or notes.
If a chart in Analytics shows zero for Sleep or Active Energy, check both the `usesHealthKit` toggle in the app and your sharing switches inside the Apple Health app.
- To manage Apple Health read access, open the Apple Health app, tap your profile icon in the top right, select Apps under Privacy, and tap Ayurveda & Asana Yoga (or follow the app's "Open Health App" button to Sharing > Apps > Ayurveda & Asana Yoga).
- Toggle Sleep, Active Energy, Steps, or Workouts on or off according to which charts you want displayed in Analytics and Calendar.
- To adjust Calendar, Notifications, or Camera access, open iOS Settings > Apps > Ayurveda & Asana Yoga and update the switches directly.
Sources & Classical References
- NCCIH — Know the Science — NIH consumer guide on evaluating digital health tools and interpreting personal health metrics.
- U.S. FDA — How to Understand and Use the Nutrition Facts Label — Reference for standard kilocalorie energy units used across nutrition and activity logs.





