Забезпечення відповідності мобільного додатку вимогам HIPAA (медичні дані)

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Забезпечення відповідності мобільного додатку вимогам HIPAA (медичні дані)
Складний
від 1 тижня до 3 місяців
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Забезпечення HIPAA-комплайансу мобільного додатку

HIPAA у мобільному додатку — це робота з Protected Health Information (PHI). Діагнози, призначення, результати аналізів, історія хвороб — все це PHI. Якщо додаток зберігає, передає або відображає навіть один з 18 ідентифікаторів HIPAA (ім'я, дата народження, адреса, номер телефону, email, номер страхування, поєднаних з медичними даними), він потрапляє під дію закону як Business Associate або Covered Entity.

Технічні гарантії — не опція

HIPAA Security Rule ділить захисні заходи на Administrative, Physical та Technical гарантії. Мобільна розробка відповідає за Technical. Ключові вимоги:

Шифрування PHI у спокої (at rest)

На Android PHI не можна зберігати в простому SharedPreferences або незашифрованій SQLite. Мінімум — EncryptedSharedPreferences через AndroidX Security:

val masterKey = MasterKey.Builder(context)
    .setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
    .setUserAuthenticationRequired(true)  // вимагає біометрії/PIN для доступу
    .setUserAuthenticationParameters(300, KeyProperties.AUTH_BIOMETRIC_STRONG)
    .build()

val encryptedPrefs = EncryptedSharedPreferences.create(
    context,
    "phi_secure_prefs",
    masterKey,
    EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
    EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)

Для бази даних — SQLCipher або Room з шифруванням через SupportSQLiteOpenHelper. На iOS — Core Data з NSPersistentStoreDescription та NSFileProtectionComplete:

let storeDescription = NSPersistentStoreDescription(url: storeURL)
storeDescription.setOption(FileProtectionType.complete as NSObject,
                           forKey: NSPersistentStoreFileProtectionKey)

FileProtectionType.complete означає: дані недоступні, поки пристрій заблокований. Навіть при фізичному доступі до пристрою.

Шифрування при передачі (in transit)

TLS 1.2 — абсолютний мінімум. Рекомендується TLS 1.3. Certificate pinning обов'язковий для PHI endpoints — перехват трафіку через корпоративний proxy або MITM-атака не мають давати доступ до медданих.

// OkHttp certificate pinning
val client = OkHttpClient.Builder()
    .certificatePinner(
        CertificatePinner.Builder()
            .add("api.healthapp.example.com",
                 "sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=")
            .build()
    )
    .build()

Пін оновлюється за 30+ днів до ротації сертифіката — інакше всі користувачі отримають SSLPeerUnverifiedException та додаток впаде.

Автоматичний вихід з сеансу (Automatic Logoff)

HIPAA вимагає автоматичного завершення сеансу після періоду неактивності. Для медичних додатків типовий таймаут — 5–15 хвилин. Реалізація через AppStateMonitor:

class SessionTimeoutManager {
    private var lastActivityTime = Date()
    private let timeoutInterval: TimeInterval = 10 * 60  // 10 хвилин

    func recordActivity() {
        lastActivityTime = Date()
    }

    func checkTimeout() {
        if Date().timeIntervalSince(lastActivityTime) > timeoutInterval {
            // Блокуємо додаток, вимагаємо повторної аутентифікації
            authManager.lockSession()
            // PHI не має бути видна у App Switcher
            obscureScreenForAppSwitcher()
        }
    }
}

Важливо з iOS: при переході у фон скриншот екрана зберігається для App Switcher. Якщо на екрані PHI — замінити його на заглушку в applicationWillResignActive.

Аудит доступу до PHI

Кожен доступ до PHI має логуватися. Це не опція — це HIPAA Audit Control requirement. Мінімальний набір для кожної події:

  • User ID та роль
  • Timestamp з точністю до секунди
  • Тип операції (view, create, update, delete, export)
  • Ідентифікатор пацієнта (не ім'я — ID)
  • Ідентифікатор ресурсу (запис, документ)
  • IP адреса або Device ID

Логи зберігаються 6 років (HIPAA retention). Їх нельзя видаляти або змінювати — append-only storage.

Backup та Recovery

Дані PHI мають бути доступні навіть після збою. Вимоги: резервне копіювання, тестування відновлення, документально Recovery Time Objective (RTO) та Recovery Point Objective (RPO). Для мобільних додатків це стосується серверної частини, але мобільний клієнт не повинен бути єдиним сховищем PHI.

Business Associate Agreement

Якщо додаток використовує хмарні сервіси для обробки PHI — AWS, Google Cloud, Azure, Firebase — з кожним повинен бути підписаний BAA (Business Associate Agreement). AWS та Google Cloud надають BAA, але тільки для певних сервісів. Firebase Crashlytics, наприклад, не покривається BAA Google Cloud — нельзя включати в Crashlytics дані, які можуть бути PHI (user ID, який можна пов'язати з медданими — вже потенційно PHI).

Типові помилки при розробці

  • Логування PHI у Crashlytics без анонімізації
  • Push-сповіщення з текстом діагнозу — нарушення, навіть якщо пристрій тільки користувача
  • Синхронізація через iCloud Drive без шифрування
  • Debug build з відключеним certificate pinning, випадково потрапив у production
  • Відсутність FLAG_SECURE на екранах з PHI — дані видні у App Switcher

Терміни

Задача Срок
Аудит поточного додатку + gap analysis 3–5 днів
Шифрування at rest + в transit 3–5 днів
Session timeout + екрани блокування 2–3 дні
Audit logging з retention 3–4 дні
BAA зі всіма субпроцессорами + документація 3–7 днів
Повний HIPAA compliance 4–8 тижнів

Стоимость рассчитывается індивідуально після аудиту архітектури та складу PHI.