Export Compliance — це вимоги експортного контролю, які магазини застосунків висувають до продуктів із шифруванням. Розробник зобов'язаний вказати категорію криптографії та подати декларацію відповідно до норм Бюро промисловості та безпеки США (BIS). За даними Apple Export Compliance Documentation, 2026, неправильне заповнення призводить до відхилення білда. Процедура стосується як App Store, так і Google Play, і потребує розуміння категорій CCAT та масового ринку.
Головне
Export Compliance — це комплекс нормативних вимог, що регулюють експорт програмного забезпечення з криптографічними функціями за межі США. Правила встановлені Бюро промисловості та безпеки (BIS) Міністерства торгівлі США в рамках Regulations 15 CFR Parts 730–774. Apple та Google, як американські компанії, зобов'язані перевіряти застосунки на відповідність цим нормам. Розробник заповнює декларацію, вказуючи категорію шифрування та тип алгоритмів.
Основою регулювання є EAR (Export Administration Regulations), який класифікує все криптографічне ПЗ за категоріями. Категорія 5 Part 2 охоплює продукти з шифруванням. Для мобільних застосунків діють спрощені правила — масовий ринок (mass market) та повідомлювальний порядок (self-classification). Розробнику не потрібно отримувати індивідуальну ліцензію, якщо застосунок підпадає під виняток.
Будь-який застосунок, що використовує шифрування, зобов'язаний пройти перевірку. Виняток — продукти, що використовують лише вбудоване шифрування ОС (iOS URLSession, Android SSLSocket) без додавання власних криптоалгоритмів. Якщо розробник додає custom шифрування, бібліотеку OpenSSL або будь-яку реалізацію AES/RSA, декларація обов'язкова. За даними Google Play Console, близько 30% відхилених застосунків отримують відмову через некоректний Export Compliance.
Експортний контроль захищає національну безпеку, обмежуючи поширення криптографічних технологій. США вимагають звітності про продукти з шифруванням, щоб запобігти їх використанню в незаконних цілях. Для розробника недотримання правил веде до блокування застосунку, штрафів до 1 мільйона доларів і заборони на публікацію. Apple та Google виступають агентами контролю — вони не пропустять білд без коректної декларації.
Порушення Export Compliance може призвести до видалення застосунку з магазину та внесення розробника до чорного списку. BIS має право застосувати адміністративні санкції, включаючи великі штрафи. У 2024 році BIS оштрафувало три компанії за публікацію ПЗ з несертифікованим шифруванням на суму понад 2 мільйони доларів. Для інді-розробників основний ризик — відхилення білда та втрата часу на перепублікацію.
Apple та Google виступають посередниками між розробником i регулятором. App Store Connect та Google Play Console включають обов'язкові форми Export Compliance на етапі завантаження. Без проходження цього кроку кнопка відправлення на рев'ю блокується. Магазини не перевіряють коректність даних — тільки їх наявність. Відповідальність за достовірність лежить на розробнику.
Класифікація шифрування починається з відповіді на питання: чи використовує застосунок власну криптографію? Якщо застосунок покладається виключно на стандартні API ОС (CommonCrypto на iOS, javax.crypto на Android), він підпадає під виняток і не потребує декларації. Якщо додано зовнішню бібліотеку або реалізовано власний алгоритм, необхідно визначити категорію CCAT.
CCAT-1 — товари масового ринку (mass market) з криптографією, що відповідають винятку 740.17 EAR. Сюди входять застосунки з шифруванням AES-128/256, RSA-2048, що використовують стандартні протоколи TLS/HTTPS. CCAT-2 — продукти з нестандартною криптографією, що потребують індивідуальної ліцензії. Більшість мобільних застосунків потрапляють до CCAT-1. Категорія масового ринку — найбільш проста форма декларування.
Застосунок вважається продуктом масового ринку, якщо його криптографічні функції доступні широкій аудиторії, не потребують спеціальних знань для використання та відповідають відкритим стандартам. За даними BIS Supplementary Information (2025), до масового ринку належать застосунки з AES, RSA, ECC та реалізаціями TLS 1.2/1.3. Якщо застосунок використовує нестандартні алгоритми з довжиною ключа менше 56 біт, він виключається з цієї категорії.
Процедура Export Compliance в App Store починається в App Store Connect під час завантаження нового білда. Система задає серію запитань: чи використовує застосунок шифрування, чи є він масовим ринком, чи зареєстровано ERN. Розробник відповідає і на підставі відповідей формується експортний статус. Якщо допущено помилку, статус можна змінити — Apple не штрафує за виправлення, але повторне завантаження білда обов'язкове.
ERN (Encryption Registration Number) — номер щорічної реєстрації в BIS, який підтверджує, що продукт повідомлювально класифіковано. Реєстрація ERN безкоштовна і діє один рік. Форма подання — SNAP-R на сайті BIS. Після отримання ERN розробник вводить номер в App Store Connect і звільняється від повторних запитань при наступних завантаженнях протягом року. За статистикою Apple, 60% розробників використовують ERN для спрощення процедури.
Якщо ERN відсутній, розробник проходить самостійну класифікацію через інтерфейс App Store Connect. Apple використовує алгоритм, заснований на відповідях, щоб присвоїти категорію. При невірному виборі система рекомендує отримати ERN. Самостійна класифікація підходить для простих застосунків з типовим шифруванням. Для продуктів з нестандартною криптографією Apple рекомендує реєстрацію ERN для уникнення помилок.
Google Play реалізує перевірку Export Compliance через форму в консолі розробника. На етапі створення нового релізу система запитує інформацію про криптографію. Google використовує ті самі категорії EAR, що й Apple, але процес називається Export Compliance Review. Відповіді фіксуються і застосовуються до всіх майбутніх збірок. Google не вимагає ERN для більшості застосунків — достатньо заяви про належність до масового ринку.
У Google Play Console розділ Export Compliance знаходиться в налаштуваннях застосунку App Content. Розробник відповідає на три запитання: чи містить застосунок криптографію, чи призначений він для масового ринку та чи відповідає винятку 740.17. Google не перевіряє достовірність відповідей до виникнення скарги. Однак BIS може запитати документи, і розробник зобов'язаний надати обґрунтування класифікації.
Основна відмінність — Apple вимагає ERN для складних випадків, Google покладається на самодекларацію. App Store запитує Export Compliance для кожного нового білда, Google Play — один раз для застосунку. Apple більш суворо перевіряє відповіді і може відхилити білд, Google тільки фіксує дані. Обидва магазини дотримуються єдиної нормативної бази EAR, але процес реалізації різниться. Розробнику достатньо один раз розібратися з класифікацією для публікації на обох платформах.
Помилки в Export Compliance поділяються на три категорії: невірна класифікація шифрування, пропуск обов'язкових полів та некоректний ERN. Найчастіша — розробник вказує, що шифрування не використовується, хоча застосунок викликає методи CommonCrypto або javax.crypto. Друга за частотою — помилковий вибір категорії CCAT, коли застосунок з TLS 1.3 вказується як нестандартна криптографія. Третя — введення невірного ERN, який не проходить перевірку в базі BIS.
Рекомендується складати список всіх криптографічних функцій застосунку до заповнення форми. Перевірити, які бібліотеки імпортуються, які API шифрування викликаються. Для iOS — перевірити наявність CommonCrypto, Security.framework, OpenSSL. Для Android — javax.crypto, android.security, Conscrypt. Якщо застосунок використовує лише HTTPS через стандартні мережеві запити, він звільняється від декларації. При найменшому сумніві вибрати варіант з декларуванням.
Регулярний аудит Export Compliance допомагає уникнути санкцій при оновленні застосунку. Якщо в новій версії додано криптографію, необхідно перезаповнити декларацію. Apple та Google повідомляють розробника, якщо категорія застосунку змінилася. Раз на рік рекомендується перевіряти актуальність ERN та продовжувати його при необхідності. Для великих проектів з десятками застосунків автоматизація аудиту через CI/CD знижує ризик людської помилки.
Часті запитання
Ні, якщо HTTPS реалізовано через вбудовані API ОС (URLSession на iOS, HttpURLConnection на Android) без додавання власних сертифікатів або кастомних криптоалгоритмів, декларація не потрібна. Виняток — використання OpenSSL або інших сторонніх TLS-бібліотек.
ERN (Encryption Registration Number) — ідентифікатор щорічної реєстрації в BIS. Отримати його можна безкоштовно через систему SNAP-R на сайті bis.gov, заповнивши форму повідомлення про класифікацію. Номер діє 1 рік і покриває всі версії застосунку.
Так, Apple може відхилити білд, якщо відповіді на запитання Export Compliance суперечливі або не відповідають функціональності застосунку. У цьому випадку розробник отримує повідомлення від App Store Review із зазначенням причини і може перезавантажити білд з виправленими даними.
Нормативна база EAR єдина, але процес різниться: Apple перевіряє кожен білд, Google — один раз для застосунку. Apple вимагає ERN для нестандартної криптографії, Google приймає самодекларацію. Обидва магазини дотримуються категорій CCAT та правил BIS.
App Store та Google Play блокують завантаження білда без заповненої форми Export Compliance. Застосунок не пройде рев'ю, і публікація стане неможливою. Для вже опублікованих застосунків зміна експортного статусу потребує нової збірки та повторного проходження рев'ю.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також