Обеспечение соответствия мобильного приложения требованиям SOC 2
Если ваше B2B-приложение обрабатывает корпоративные данные, сертификация SOC 2 — обязательное условие для работы с Enterprise-клиентами в США и Европе. Без неё вас не допустят даже к пилоту, а крупные контракты останутся недоступны. Мы помогаем внедрить контроли безопасности, доступности и конфиденциальности прямо в мобильный код — от внедрения многофакторной аутентификации до автоматического сбора логов для аудитора. Каждый контроль документируется и проверяется: аудитор требует не намерений, а доказательств. Наш опыт — 15+ подготовок к SOC 2 для iOS, Android и Flutter-приложений, включая проекты с требованиями по безопасности финансовых данных. Гарантируем, что ваше приложение пройдёт аудит с первого раза.
Как автоматизировать сбор evidence для аудитора?
Ручной сбор evidence — самая частая причина затягивания аудита. Еженедельные отчёты, логи, конфиги — всё это нужно версионировать и хранить за период 12 месяцев. Мы настраиваем CI/CD pipeline, который автоматически собирает SAST-отчёты (MobSF, Semgrep), логи Play Integrity, результаты certificate pinning и access review. Это сокращает время подготовки в 2 раза по сравнению с ручным сбором, а затраты — на 30–50%. Аудитор получает единый дашборд с историей изменений.
Какие критерии Trust Service Criteria применимы?
SOC 2 строится на Trust Service Criteria (TSC). Для мобильных приложений релевантны три:
- Security — обязателен всегда
- Availability — если приложение критично для бизнес-процессов клиента
- Confidentiality — если обрабатываются конфиденциальные данные клиентов
Каждый критерий — набор контролей (CC). Аудитор проверяет не намерения, а доказательства: логи, конфигурации, процедуры, результаты тестирования. SOC 2 Type II — это аудит за период (обычно 12 месяцев), а не снимок состояния.
Технические контроли на стороне мобильного клиента
Большинство SOC 2 контролей реализуется на серверной стороне. Мобильный клиент отвечает за несколько специфических областей:
CC6.1 — Logical and Physical Access Controls
Многофакторная аутентификация. Для корпоративных пользователей SOC 2 фактически требует MFA. В мобильном приложении это TOTP (Google Authenticator / Authy совместимый), push-based аутентификация (через Firebase или собственный push) или biometric + PIN.
// Проверка наличия биометрии как второго фактора val biometricManager = BiometricManager.from(context) when (biometricManager.canAuthenticate(BIOMETRIC_STRONG)) { BIOMETRIC_SUCCESS -> enableBiometricMFA() BIOMETRIC_ERROR_NO_HARDWARE -> requireTOTP() BIOMETRIC_ERROR_NONE_ENROLLED -> promptUserToEnrollBiometric() } Автоматический выход и блокировка сессии. Session timeout после периода неактивности — типичный контроль CC6.1. Для B2B приложений: 15–30 минут неактивности → блокировка, требующая повторной аутентификации (не полного logout).
CC6.7 — Transmission of Data
Certificate pinning для всех API endpoints. Не только производственных — staging среда с тестовыми данными клиентов тоже должна быть защищена. Отдельный пин для staging, документированный в runbook ротации.
Логирование всех API запросов с ошибками 4xx/5xx — не на устройстве, на сервере. Аудитор попросит примеры логов за период.
CC7.2 — Monitoring of System Components
Аудитор потребует доказательства обнаружения модификации клиентского приложения. Мы реализуем tampering detection с помощью Play Integrity API на Android и DeviceCheck + AppAttest на iOS. Токен верифицируется на сервере через Google API.
// SafetyNet Attestation API (устаревает, замена — Play Integrity API) val integrityManager = IntegrityManagerFactory.create(context) val integrityTokenResponse = integrityManager.requestIntegrityToken( IntegrityTokenRequest.builder() .setNonce(serverGeneratedNonce) .build() ) // Токен верифицируется на сервере через Google API CC9.2 — Vendor and Business Partner Management
Каждый SDK в приложении — вендор. Аудитор проверит: есть ли vendor assessment для Firebase, Amplitude, Braze? Какие данные они получают? Какой их SOC 2 статус? Ответ — список всех SDK с указанием данных, которые они получают, ссылки на их SOC 2 отчёты. Это vendor inventory — документ, который нужно поддерживать актуальным.
Свидетельства (Evidence) для аудитора
SOC 2 аудит — это сбор доказательств. Для мобильного приложения типичные артефакты:
| Контроль | Свидетельство |
|---|---|
| CC6.1 MFA | Скриншоты UI + код реализации + тест-кейсы |
| CC6.1 Session timeout | Конфигурационный файл + автотесты |
| CC6.7 TLS | Результат SSL Labs или Qualys SSLTest |
| CC6.7 Certificate pinning | Код + результат pentest или mitmproxy тест |
| CC7.2 Integrity check | Логи Play Integrity за период |
| CC8.1 Vulnerability management | SAST отчёты (MobSF, Semgrep), pentest отчёт |
Сравнение подходов к сбору evidence
| Метод | Время подготовки | Надёжность |
|---|---|---|
| Ручной сбор | 2–3 недели | Низкая (ошибки) |
| Автоматизированный pipeline | 1 неделя | Высокая (версионирование) |
Автоматизация сбора evidence сокращает время подготовки в 2 раза по сравнению с ручным сбором, а затраты — на 30–50%. Получите консультацию по вашему проекту — мы покажем, как это сделать.
Как подготовиться к аудиту SOC 2?
Continuous Compliance — единственный реальный путь. Невозможно внедрить контроли за неделю до аудита. Вот пошаговый план:
- Проведите gap analysis текущего состояния приложения.
- Реализуйте контроли: MFA, certificate pinning, tampering detection, session timeout.
- Настройте автоматический сбор evidence: SAST в CI/CD, логирование, periodic access review.
- Документируйте каждый контроль и процедуру.
- Выберите аккредитованного аудитора.
- Пройдите аудит и исправьте замечания.
Мы имеем 7+ лет опыта в мобильной разработке и провели более 15 подготовок к SOC 2. Экономия времени на аудит составляет до 40% благодаря автоматизации. Свяжитесь с нами для консультации — мы оценим объём работ и предложим план.
Стандарт SOC 2 разработан AICPA. Подробнее на Wikipedia.







