Авторизацията на здравни данни е процес на получаване на изричното съгласие на потребителя за четене и запис на медицински и фитнес данни чрез системни API на мобилни платформи. На iOS авторизацията се реализира чрез HealthKit с класовете HKHealthStore и HKObjectType, а на Android — чрез Google Fit API с OAuth 2.0 и FitnessOptions. Според Apple HealthKit Documentation, 2025, здравните данни се класифицират като категория особено поверителни. Медицинска точност и съответствие с регулациите са ключови изисквания при работа с такива данни.
Основни точки
Авторизацията на здравни данни е механизъм, който изисква изрично и документирано съгласие на потребителя преди достъп до неговите медицински и фитнес показатели. За разлика от стандартните разрешения (контакти, календар), здравните данни се регулират от допълнителни правни норми: HIPAA в САЩ, GDPR в Европа и 152-ФЗ в Русия.
На iOS здравната авторизация се реализира чрез HealthKit: потребителят вижда екран със списък на всички типове данни, които приложението изисква, и може да избере конкретни категории за предоставяне на достъп. На Android се използва Google Fit API с авторизация чрез OAuth 2.0, където за всеки тип данни се изисква отделен обхват.
Според данни на App Annie (2025), приложенията за здраве и фитнес са един от най-бързо растящите сегменти на мобилния пазар с годишен ръст от 28%. В същото време 71% от потребителите отказват достъп до здравни данни, ако приложението не предоставя ясно обяснение на целта на събирането.
Ключова разлика на здравната авторизация от другите разрешения — възможността за предоставяне на частичен достъп. Потребителят може да разреши четене на стъпки, но да забрани достъп до данни за сърдечен ритъм или медицински записи.
HealthKit е framework на Apple, представен в iOS 8, който предоставя единно централизирано хранилище за здравни данни. Приложенията нямат пряк достъп до HealthKit — те искат авторизация чрез HKHealthStore, а потребителят решава кои типове данни да предостави. Всички данни се криптират на устройството и се синхронизират чрез iCloud с крайно-до-крайно криптиране.
Процесът на авторизация започва със създаване на инстанция на HKHealthStore и извикване на метода requestAuthorization(toShare:read:). Приложението предава два набора от типове: за четене (HKObjectType, които приложението иска да чете) и за запис (HKSampleType, които приложението иска да запазва). Системата показва екран за съгласие, където потребителят включва или изключва всеки тип поотделно.
Важна особеност: HealthKit не показва на разработчика кои точно типове потребителят е разрешил на екрана за съгласие. След извикване на requestAuthorization трябва поотделно да се провери достъпът до всеки тип чрез HKHealthStore.authorizationStatus(for:). Според WWDC Session 11108 (2024), Apple препоръчва проверка на статуса на авторизация преди всяка операция за четене или запис.
HealthKit поддържа стотици типове данни, разделени в категории: количествени (стъпки, пулс, калории), характеристики (ръст, тегло, дата на раждане), клинични записи (алергии, ваксинации, резултати от изследвания), симптоми и менструален цикъл. Всеки тип е представен от подклас на HKObjectType: HKQuantityType за числови показатели и HKCategoryType за категорийни данни.
От iOS 18 Apple разшири HealthKit с поддръжка на данни от медицински институции чрез FHIR (Fast Healthcare Interoperability Resources). Приложенията могат да искат достъп до структурирани медицински записи, ако потребителят е свързал болницата или клиниката си с приложението Здраве.
Google Fit е платформа за работа с фитнес данни на Android, която използва авторизация чрез OAuth 2.0. За разлика от HealthKit, Google Fit не е вграден в операционната система на системно ниво — това е отделна услуга на Google Play Services, която изисква свързване чрез Google Play Console и създаване на OAuth 2.0 идентификационни данни.
За достъп до Google Fit приложението трябва да регистрира OAuth 2.0 клиентски идентификатор в Google Cloud Console. Авторизацията се иска чрез GoogleSignInAccount и GoogleSignIn.requestPermissions(). Потребителят вижда стандартния екран за съгласие на Google с изброяване на исканите обхвати: fitness.activity.read, fitness.body.read, fitness.nutrition.write и други.
Google Fit разделя разрешенията за четене и запис за всеки тип данни. Приложението може да поиска достъп за четене на броя стъпки, без да иска права за запис. От Google Fit API v2 всички искания за авторизация трябва да включват описание на целта на използване на данните — без това искането се отхвърля от модерацията на Google.
Класът FitnessOptions позволява декларативно да се посочи до кои типове данни е необходим достъп. За всеки тип може да се зададе ниво на достъп: ACCESS_READ, ACCESS_WRITE или и двете. Наборът от разрешения се предава на GoogleSignin.requestPermissions() заедно с акаунта на потребителя.
Списъкът с налични типове включва: стъпки (DataType.TYPE_STEP_COUNT_DELTA), калории (TYPE_CALORIES_EXPENDED), пулс (TYPE_HEART_RATE_BPM), разстояние (TYPE_DISTANCE_DELTA), активност (TYPE_ACTIVITY_SEGMENT) и сън (TYPE_SLEEP_SEGMENT). Всеки тип има своя честота на обновяване и изисквания за разрешения.
Имплементацията на искането за авторизация на здравни данни се различава значително на iOS и Android. По-долу са дадени работещи примери за HealthKit и Google Fit API.
В Swift искането за авторизация на HealthKit се изпълнява чрез HKHealthStore с посочване на типове за четене и запис. Примерът демонстрира искане за достъп до данни за стъпки и пулс.
import HealthKit
let healthStore = HKHealthStore()
let readTypes: Set<HKObjectType> = [
HKObjectType.quantityType(forIdentifier: .stepCount)!,
HKObjectType.quantityType(forIdentifier: .heartRate)!
]
let writeTypes: Set<HKSampleType> = [
HKObjectType.quantityType(forIdentifier: .stepCount)!
]
guard HKHealthStore.isHealthDataAvailable() else {
fatalError("HealthKit не е наличен на това устройство")
}
healthStore.requestAuthorization(toShare: writeTypes, read: readTypes) { success, error in
if success {
// Проверяваме статуса на всеки тип поотделно
let status = healthStore.authorizationStatus(for: readTypes.first!)
print("HealthKit авторизация: \(status.rawValue)")
} else {
print("Грешка при HealthKit авторизация: \(error?.localizedDescription ?? "неизвестная")")
}
}
На Android авторизацията на Google Fit се изпълнява чрез GoogleSignIn и FitnessOptions. Примерът демонстрира искане за достъп до данни за стъпки и калории.
val fitnessOptions = FitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_CALORIES_EXPENDED, FitnessOptions.ACCESS_READ)
.build()
val account = GoogleSignIn.getAccountForExtension(this, fitnessOptions)
if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
GoogleSignIn.requestPermissions(
this,
REQUEST_GOOGLE_FIT,
account,
fitnessOptions
)
} else {
// Разрешенията вече са предоставени — четем данни
readGoogleFitData(account)
}
// Обработка на резултата от искането за разрешения
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_GOOGLE_FIT && resultCode == RESULT_OK) {
val account = GoogleSignIn.getSignedInAccountFromIntent(data)
account?.let { readGoogleFitData(it) }
}
}
Здравните данни принадлежат към особено чувствителна категория лични данни. Разработчиците на приложения, работещи с HealthKit или Google Fit, са длъжни да спазват регулаторните изисквания, действащи в региона на потребителите.
В САЩ здравните данни се регулират от HIPAA (Health Insurance Portability and Accountability Act), който установява строги изисквания за съхранение, предаване и обработка на медицинска информация. Приложенията, работещи с HealthKit, могат да съответстват на HIPAA, ако данните се предават на сървъра в криптиран вид и достъпът до тях е ограничен.
В Европейския съюз здравните данни се считат за специална категория лични данни съгласно GDPR (член 9). Обработката на такива данни изисква изрично съгласие на потребителя и в повечето случаи извършване на оценка на въздействието върху защитата на данните. Нарушаването на изискванията на GDPR може да доведе до глоби до 20 милиона евро или 4% от годишния оборот на компанията.
В Русия събирането на здравни данни се регулира от 152-ФЗ „За личните данни“. От 2025 г. всички приложения, обработващи медицински данни на граждани на Руската федерация, са длъжни да използват сертифицирани средства за криптиране и да съхраняват данни на сървъри, разположени на територията на Руската федерация, в съответствие с изискванията на Роскомнадзор.
Препоръка: преди публикуване на приложение, работещо със здравни данни, се консултирайте с правния отдел за проверка на съответствието с местните регулации. Apple и Google си запазват правото да отхвърлят приложението, ако неговата политика за поверителност не отговаря на изискванията.
Често задавани въпроси
HealthKit — вграден iOS framework с локално криптирано хранилище за здравни данни. Google Fit — облачна услуга, базирана на Google Play Services, която използва OAuth 2.0 за авторизация. HealthKit работи офлайн, Google Fit изисква интернет връзка за синхронизация.
Да, на двете платформи. На iOS потребителят избира конкретни типове данни (стъпки, пулс, сън) на екрана за съгласие на HealthKit. На Android потребителят вижда списък с обхвати на Google Fit и може да оттегли отделни разрешения чрез настройките на акаунта си в Google.
HKHealthStore — централният клас на HealthKit framework на iOS. Той управлява авторизацията, четенето и записа на всички здравни данни. Приложението не може директно да получи достъп до хранилището на HealthKit — всички операции преминават през HKHealthStore, което гарантира единен интерфейс за достъп и спазване на правата за достъп на потребителя.
Потребителят може да оттегли достъпа чрез Настройки на Google — Управление на акаунта — Сигурност — Приложения на трети страни с достъп. Изберете приложението и щракнете върху „Премахване на достъпа“. Можете също да оттеглите достъпа чрез Google Play Console: Свързани услуги — Google Fit — Управление на приложения.
Ако приложението обработва здравни данни на потребители в САЩ и ги предава на сървър, съответствието с HIPAA е задължително. Ако всички данни остават локално на устройството и не се предават на трети страни, приложението може да не изисква съответствие с HIPAA, но Apple препоръчва следване на най-добрите практики за сигурност независимо от юрисдикцията.
Обобщение
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също