Mobil Geliştirmede Sağlık Verileri Yetkilendirmesi: Nedir, Nasıl Çalışır ve HealthKit'e Erişim

Yazar: IT Sectr Yayınlanma: 2026-05-22 Okuma süresi: 8 dk

Sağlık verileri yetkilendirmesi, mobil platformların sistem API'leri aracılığıyla tıbbi ve fitness verilerini okumak ve yazmak için kullanıcının açık onayını alma sürecidir. iOS'ta yetkilendirme, HKHealthStore ve HKObjectType sınıflarıyla HealthKit üzerinden gerçekleştirilirken, Android'de OAuth 2.0 ve FitnessOptions ile Google Fit API üzerinden yapılır. Apple HealthKit Documentation, 2025'e göre sağlık verileri özellikle hassas bir kategori olarak sınıflandırılır. Tıbbi doğruluk ve düzenlemelere uygunluk, bu tür verilerle çalışırken temel gereksinimlerdir.

Ana Noktalar

  • Health Data Authorization — kullanıcının tıbbi verilerine erişim için onay almanın zorunlu süreci.
  • HealthKit — HKHealthStore ve HKObjectType dahil olmak üzere Apple'ın sağlık verileri framework'ü.
  • Google Fit API — OAuth 2.0 ve FitnessOptions ile fitness verilerine erişim için Android platformu.
  • HKHealthStore — yetkilendirme talep etmek ve sağlık verileriyle işlem yapmak için iOS merkezi sınıfı.
  • Kullanıcı onayı — kullanıcının erişim izni vereceği belirli veri türlerini seçtiği zorunlu adım.

Sağlık verileri yetkilendirmesi nedir?

Sağlık verileri yetkilendirmesi, kullanıcının tıbbi ve fitness parametrelerine erişmeden önce açık ve belgelenmiş onayını gerektiren bir mekanizmadır. Standart izinlerden (kişiler, takvim) farklı olarak sağlık verileri ek yasal düzenlemelere tabidir: ABD'de HIPAA, Avrupa'da GDPR ve Rusya'da 152-FZ.

iOS'ta sağlık yetkilendirmesi HealthKit ile gerçekleştirilir: kullanıcı, uygulamanın talep ettiği tüm veri türlerinin listesini içeren bir ekran görür ve erişim izni vereceği belirli kategorileri seçebilir. Android'de ise OAuth 2.0 ile yetkilendirme yapan Google Fit API kullanılır ve her veri türü için ayrı bir scope talep edilir.

App Annie (2025) verilerine göre sağlık ve fitness uygulamaları, yıllık %28 büyüme oranıyla mobil pazarın en hızlı büyüyen segmentlerinden biridir. Kullanıcıların %71'i, uygulama veri toplama amacına dair net bir açıklama sunmazsa sağlık verilerine erişimi reddeder.

Sağlık yetkilendirmesinin diğer izinlerden temel farkı, kısmi erişim sağlayabilme yeteneğidir. Kullanıcı adım sayısının okunmasına izin verebilir ancak kalp atış hızı verilerine veya tıbbi kayıtlara erişimi reddedebilir.

HealthKit iOS'ta nasıl çalışır?

HealthKit, iOS 8 ile tanıtılan ve birleşik merkezi bir sağlık verisi deposu sağlayan bir Apple framework'üdür. Uygulamaların HealthKit'e doğrudan erişimi yoktur — HKHealthStore üzerinden yetkilendirme talep ederler ve kullanıcı hangi veri türlerinin sağlanacağına karar verir. Tüm veriler cihazda şifrelenir ve uçtan uca şifreleme ile iCloud üzerinden senkronize edilir.

HealthKit'e erişim talebi

Yetkilendirme süreci, bir HKHealthStore örneği oluşturmak ve requestAuthorization(toShare:read:) yöntemini çağırmakla başlar. Uygulama iki veri kümesi iletir: okuma için (uygulamanın okumak istediği HKObjectType) ve yazma için (uygulamanın kaydetmek istediği HKSampleType). Sistem, kullanıcının her türü ayrı ayrı etkinleştirip devre dışı bırakabildiği bir onay ekranı gösterir.

Önemli bir özellik: HealthKit, geliştiriciye kullanıcının onay ekranında hangi türlere izin verdiğini göstermez. RequestAuthorization çağrısından sonra, HKHealthStore.authorizationStatus(for:) aracılığıyla her türe erişim ayrı ayrı kontrol edilmelidir. WWDC Session 11108 (2024)'e göre Apple, her okuma veya yazma işleminden önce yetkilendirme durumunun kontrol edilmesini önerir.

HKObjectType veri türleri

HealthKit, kategorilere ayrılmış yüzlerce veri türünü destekler: miktar (adım, nabız, kalori), özellikler (boy, kilo, doğum tarihi), klinik kayıtlar (alerjiler, aşılar, test sonuçları), semptomlar ve adet döngüsü. Her tür, HKObjectType'ın bir alt sınıfıyla temsil edilir: sayısal veriler için HKQuantityType ve kategorik veriler için HKCategoryType.

iOS 18 ile Apple, FHIR (Fast Healthcare Interoperability Resources) aracılığıyla sağlık kurumlarından gelen verileri desteklemek için HealthKit'i genişletti. Kullanıcı hastanesini veya kliniğini Sağlık uygulamasına bağladıysa uygulamalar yapılandırılmış tıbbi kayıtlara erişim talep edebilir.

Google Fit API Android'de nasıl çalışır?

Google Fit, Android'de fitness verileri için OAuth 2.0 ile yetkilendirme kullanan bir platformdur. HealthKit'in aksine Google Fit, işletim sistemine sistem düzeyinde gömülü değildir — Google Play Console üzerinden kayıt ve OAuth 2.0 kimlik bilgileri oluşturulmasını gerektiren ayrı bir Google Play Services hizmetidir.

Google Fit ve OAuth 2.0

Google Fit'e erişmek için uygulamanın Google Cloud Console'da bir OAuth 2.0 istemci kimliği kaydetmesi gerekir. Yetkilendirme GoogleSignInAccount ve GoogleSignIn.requestPermissions() aracılığıyla talep edilir. Kullanıcı, talep edilen scope'ların listesini içeren standart Google onay ekranını görür: fitness.activity.read, fitness.body.read, fitness.nutrition.write ve diğerleri.

Google Fit, her veri türü için okuma ve yazma izinlerini ayırır. Uygulama, yazma izni talep etmeden adım sayısını okumak için erişim talep edebilir. Google Fit API v2'den itibaren tüm yetkilendirme talepleri, veri kullanım amacının bir açıklamasını içermelidir — aksi takdirde talep Google moderasyonu tarafından reddedilir.

FitnessOptions ve Scope

FitnessOptions sınıfı, hangi veri türlerine erişilmesi gerektiğini bildirimsel olarak belirtmeyi sağlar. Her tür için erişim düzeyi ayarlanabilir: ACCESS_READ, ACCESS_WRITE veya her ikisi. İzin seti, kullanıcı hesabıyla birlikte GoogleSignin.requestPermissions()'a iletilir.

Mevcut türlerin listesi şunları içerir: adım (DataType.TYPE_STEP_COUNT_DELTA), kalori (TYPE_CALORIES_EXPENDED), nabız (TYPE_HEART_RATE_BPM), mesafe (TYPE_DISTANCE_DELTA), aktivite (TYPE_ACTIVITY_SEGMENT) ve uyku (TYPE_SLEEP_SEGMENT). Her türün kendi güncelleme sıklığı ve izin gereksinimleri vardır.

Sağlık verilerine erişim için kod örnekleri

Sağlık verileri yetkilendirme talebinin uygulanması iOS ve Android'de önemli ölçüde farklılık gösterir. Aşağıda HealthKit ve Google Fit API için çalışan örnekler verilmiştir.

Swift'te HealthKit

Swift'te HealthKit yetkilendirme talebi, okuma ve yazma türleri belirtilerek HKHealthStore aracılığıyla gerçekleştirilir. Örnek, adım ve nabız verilerine erişim talebini gösterir.

swift
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 bu cihazda kullanılamıyor")
}

healthStore.requestAuthorization(toShare: writeTypes, read: readTypes) { success, error in
    if success {
        // Her türün durumunu ayrı ayrı kontrol ediyoruz
        let status = healthStore.authorizationStatus(for: readTypes.first!)
        print("HealthKit yetkilendirmesi: \(status.rawValue)")
    } else {
        print("HealthKit yetkilendirme hatası: \(error?.localizedDescription ?? "bilinmeyen")")
    }
}

Kotlin'de Google Fit

Android'de Google Fit yetkilendirmesi, GoogleSignIn ve FitnessOptions aracılığıyla gerçekleştirilir. Örnek, adım ve kalori verilerine erişim talebini gösterir.

kotlin
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 {
    // İzinler zaten verildi — veriler okunuyor
    readGoogleFitData(account)
}

// İzin talebi sonucunun işlenmesi
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) }
    }
}

Güvenlik ve düzenlemelere uygunluk

Sağlık verileri, kişisel verilerin özellikle hassas bir kategorisine aittir. HealthKit veya Google Fit ile çalışan uygulama geliştiricileri, kullanıcıların bulunduğu bölgede geçerli olan düzenleyici gereksinimlere uymak zorundadır.

Sağlık verileri için HIPAA ve GDPR

ABD'de sağlık verileri, tıbbi bilgilerin saklanması, iletilmesi ve işlenmesi için katı gereksinimler belirleyen HIPAA (Health Insurance Portability and Accountability Act) yasasına tabidir. HealthKit ile çalışan uygulamalar, veriler şifrelenmiş biçimde sunucuya iletilirse ve erişim sınırlandırılırsa HIPAA uyumlu olabilir.

Avrupa Birliği'nde sağlık verileri, GDPR (madde 9) uyarınca özel bir kişisel veri kategorisi olarak kabul edilir. Bu tür verilerin işlenmesi, kullanıcının açık onayını ve çoğu durumda bir veri koruma etki değerlendirmesini gerektirir. GDPR gereksinimlerinin ihlali, 20 milyon avroya veya şirketin yıllık küresel cirosunun %4'üne kadar para cezasıyla sonuçlanabilir.

Rusya'da sağlık verilerinin toplanması, 152-FZ «Kişisel Veriler Hakkında» yasasıyla düzenlenir. 2025'ten itibaren Rusya vatandaşlarının tıbbi verilerini işleyen tüm uygulamalar, Roskomnadzor gereksinimlerine uygun olarak sertifikalı şifreleme araçları kullanmak ve verileri Rusya Federasyonu topraklarında bulunan sunucularda depolamak zorundadır.

Öneri: sağlık verileriyle çalışan bir uygulamayı yayınlamadan önce, yerel düzenlemelere uygunluğu kontrol etmek için hukuk departmanına danışın. Apple ve Google, gizlilik politikası gereksinimleri karşılamıyorsa uygulamayı reddetme hakkını saklı tutar.

Sıkça Sorulan Sorular

HealthKit ve Google Fit arasındaki fark nedir?

HealthKit, yerel şifrelenmiş sağlık verisi deposuna sahip entegre bir iOS framework'üdür. Google Fit, yetkilendirme için OAuth 2.0 kullanan Google Play Services tabanlı bir bulut hizmetidir. HealthKit çevrimdışı çalışır, Google Fit senkronizasyon için internet bağlantısı gerektirir.

Kullanıcı sağlık verilerine kısmi erişim sağlayabilir mi?

Evet, her iki platformda da. iOS'ta kullanıcı, HealthKit onay ekranında belirli veri türlerini (adım, nabız, uyku) seçer. Android'de kullanıcı, Google Fit scope'larının listesini görür ve Google hesap ayarlarından tek tek izinleri iptal edebilir.

HKHealthStore nedir ve ne işe yarar?

HKHealthStore, iOS'ta HealthKit framework'ünün merkezi sınıfıdır. Tüm sağlık verilerinin yetkilendirmesini, okunmasını ve yazılmasını yönetir. Uygulama HealthKit deposuna doğrudan erişemez — tüm işlemler HKHealthStore üzerinden gerçekleşir, bu da birleşik bir erişim arayüzü ve kullanıcı erişim haklarına uygunluğu garanti eder.

Bir uygulama için Google Fit erişimi nasıl iptal edilir?

Kullanıcı, Google Ayarları — Hesap yönetimi — Güvenlik — Erişimi olan üçüncü taraf uygulamalar üzerinden erişimi iptal edebilir. Uygulamayı seçin ve «Erişimi kaldır»a tıklayın. Ayrıca Google Play Console üzerinden de erişim iptal edilebilir: Bağlı hizmetler — Google Fit — Uygulama yönetimi.

HealthKit'li uygulamalar için HIPAA uyumu zorunlu mu?

Uygulama, ABD'deki kullanıcıların sağlık verilerini işliyor ve sunucuya iletiyorsa, HIPAA uyumu zorunludur. Tüm veriler cihazda yerel olarak kalıyorsa ve üçüncü taraflara iletilmiyorsa, uygulamanın HIPAA uyumlu olması gerekmeyebilir, ancak Apple, yargı yetkisinden bağımsız olarak en iyi güvenlik uygulamalarının izlenmesini önerir.

Özet

  • Health Data Authorization — tıbbi verilere erişim için kullanıcının açık onayını almanın zorunlu süreci.
  • HealthKit — iOS'ta HKHealthStore aracılığıyla sağlık verileri için Apple framework'ü.
  • Google Fit API — OAuth 2.0 ve FitnessOptions ile fitness verilerine erişim için Android platformu.
  • Veri türleri — HealthKit nicel, kategorik ve klinik verileri destekler; Google Fit adım, kalori, nabız, aktivite ve uyku verilerini destekler.
  • Kısmi erişim — kullanıcı her iki platformda da bazı veri türlerine erişim izni verip diğerlerini reddedebilir.
  • HIPAA ve GDPR — ABD ve Avrupa Birliği'nde sağlık verilerinin işlenmesinde zorunlu olan düzenleyici gereksinimler.
  • Rusya düzenlemesi — 152-FZ, Rusya vatandaşlarının tıbbi verilerinin işlenmesinde sertifikalı şifreleme ve verilerin Rusya Federasyonu'ndaki sunucularda depolanmasını gerektirir.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun