Introduction
Open Wearables Sync SDKs enable seamless background synchronization of health data directly from Apple HealthKit (iOS), Samsung Health, and Health Connect (Android) to the Open Wearables platform. Unlike cloud-based providers (Garmin, Polar, Suunto) that use webhooks and OAuth, on-device health stores require a push-based model where data is sent from the user’s device to your backend.Why Push-Based? Apple HealthKit, Samsung Health, and Health Connect don’t expose cloud APIs. Health data lives exclusively on the user’s device, so the mobile app must actively push data to your backend.
Architecture Overview
Health Data Store
Health data is stored locally on the user’s device — in Apple Health (iOS), Samsung Health, or Health Connect (Android).
Your App + Sync SDK
The SDK reads data from the health store and handles background synchronization automatically. Available as native iOS (Swift), native Android (Kotlin), or Flutter (cross-platform).
Key Features
Background Sync
Health data syncs automatically even when your app is in the background, using iOS Background App Refresh or Android WorkManager.
Incremental Updates
Uses anchored queries to sync only new data since the last sync, minimizing battery usage and network traffic.
Secure Storage
Credentials stored securely in iOS Keychain or Android EncryptedSharedPreferences. API keys never leave your backend.
Wide Data Support
Steps, heart rate, workouts, sleep, body measurements, nutrition, and more — all normalized to Open Wearables data model.
Available SDKs
iOS (Swift)
Native iOS SDK — the core implementation for Apple HealthKit sync.
Android (Kotlin)
Native Android SDK — sync from Samsung Health and Health Connect.
Flutter
Flutter SDK — cross-platform wrapper around the native iOS and Android SDKs.
React Native
React Native SDK — cross-platform wrapper around the native iOS and Android SDKs.
Security Model
The SDK uses a secure token-based authentication flow that keeps your App credentials safe:- App credentials stay on your backend -
app_idandapp_secretare never exposed to mobile apps - Short-lived access tokens - Generated server-to-server via
POST /api/v1/users/{user_id}/token, forwarded to the mobile SDK - Secure credential storage - iOS Keychain / Android EncryptedSharedPreferences
- Automatic token refresh - SDK can automatically refresh expired tokens using the
refresh_token - API key auth - Alternative for internal tools (not recommended for production)
Next Steps
iOS SDK
Get started with the native iOS SDK (Swift)
Android SDK
Get started with the native Android SDK (Kotlin)
Flutter SDK
Get started with the Flutter SDK

