Розробка мобільного додатку для державних послуг під ключ

Розробка мобільного додатку для державних послуг Ми розробляємо мобільні додатки для державних послуг під ключ. Це складні системи з інтеграцією ФНС, Госключем, ЄСІА, чергами СМЕВ, УКЕП та XML-схемами, яким уже більше 10 років. Розробка мобільного додатку для держпослуг вимагає глибокого розумінн

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Розробка мобільного додатку для державних послуг під ключ
Складний
від 2 тижнів до 3 місяців

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

Часті запитання

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Розробка мобільного додатку для державних послуг

Ми розробляємо мобільні додатки для державних послуг під ключ. Це складні системи з інтеграцією ФНС, Госключем, ЄСІА, чергами СМЕВ, УКЕП та XML-схемами, яким уже більше 10 років. Розробка мобільного додатку для держпослуг вимагає глибокого розуміння криптографії та нормативів. Додатково — обов'язкова сертифікація, вимоги 152-ФЗ, зберігання ПДн на серверах РФ. Перш ніж написати перший рядок коду, потрібно розібратися з регуляторикою. Наш досвід — 5+ років у держсекторі та понад 10 реалізованих проєктів. Гарантуємо якість та сертифіковані рішення. Вартість MVP знаходиться в діапазоні від 1,5 до 3 млн ₽, термін — від 3 місяців. Економія бюджету до 30% порівняно з типовими рішеннями. Оцініть ваш проєкт — зв'яжіться з нами для консультації.

Як налаштувати авторизацію через ЄСІА та Госключ?

Найболючіша точка. ЄСІА працює через OAuth 2.0 з модифікаціями, але не стандартними. Підпис запиту — ГОСТ Р 34.10-2012, не RSA. Це означає, що стандартна бібліотека типу AppAuth для iOS та Android не підійде напряму — потрібно або використовувати SDK від Ростелекому, або реалізовувати підпис самостійно через CryptoPro або ViPNet.

На Android CryptoPro CSP вбудовується як .apk-провайдер або через JCE-провайдер. Сертифікат користувача лежить у сховищі КриптоПро, доступ до нього — через KeyStore з кастомним провайдером:

val keyStore = KeyStore.getInstance("CryptoProKeyStore") keyStore.load(null) val privateKey = keyStore.getKey(alias, null) as PrivateKey val signature = Signature.getInstance("GOST3411withGOST3410EL") signature.initSign(privateKey) signature.update(dataToSign) val signedData = signature.sign() 

На iOS історія складніша — нативного ГОСТ немає, використовується SDK ViPNet CSP через Obj-C/C++ обгортку. Bridging Header, статичне лінкування, ручне управління пам'яттю в критичних місцях. В одному з проєктів через це cold start виріс з 1.2 до 2.8 секунд — довелося винести ініціалізацію провайдера в background thread з перевіркою готовності перед першою криптооперацією.

Госключ інтегрується через Universal Links: додаток формує запит на підпис, передає в Госключ через URL-схему, отримує callback з підписаним документом. Схема працює, але з нюансом — якщо Госключ не встановлений, потрібен fallback на веб-версію або QR-код. Обробляти це в UIApplicationDelegate / Activity.onNewIntent потрібно акуратно: стан екрану може змінитися, поки користувач був у Госключі.

Покрокова інтеграція Госключа

  1. Налаштуйте Universal Link у додатку для домену держпослуг.
  2. Сформуйте запит на підпис з унікальним ідентифікатором документа.
  3. Відкрийте Госключ через URL-схему з параметрами запиту.
  4. Обробіть callback через continuation/onNewIntent та перевірте підпис.
  5. Реалізуйте fallback — web-версію для підпису через браузер або QR-код.

Інтеграція з СМЕВ та ГІС

СМЕВ 3 працює через SOAP з WS-Security. Мобільний додаток напряму зі СМЕВ не спілкується — тільки через backend. Але це не знімає проблеми: XML-схеми запитів бувають об'ємними (реєстри, довідки), і потрібна валідація на клієнті до відправлення. Додаток обробляє до 10 000 одночасних запитів до ЄСІА.

Для Android використовуємо javax.xml.validation з XSD:

val schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI) val schema = schemaFactory.newSchema(Source(xsdInputStream)) val validator = schema.newValidator() validator.validate(StreamSource(xmlInputStream)) 

На iOS — libxml2 через C-біндинги, або просто JSON-API через backend-проксі. Другий варіант простіший, але втрачається частина контролю над форматом.

Статуси заявок — окрема біль. Державні процеси асинхронні: заявка подана, обробляється 3-5 робочих днів, приходить сповіщення. Потрібен polling або push через FCM/APNs. Push-сповіщення від держсервісів часто містять лише serviceId без деталей — значить, при тапі на нотифікацію потрібен окремий запит за даними перед навігацією. Якщо запит впав — показуємо skeleton, не крашимося. 95% користувачів повертаються завдяки таким деталям.

Вимоги до зберігання даних та безпеки

152-ФЗ вимагає зберігання ПДн на території РФ. Для мобільного додатку це означає: backend на російських серверах (Яндекс.Хмара, SberCloud, VK Cloud), заборона на передачу даних через закордонні CDN та аналітику. Сертифіковані фахівці гарантують відповідність вимогам.

Локальне зберігання чутливих даних — тільки через EncryptedSharedPreferences на Android (AES256-GCM через Jetpack Security) або Keychain на iOS з kSecAttrAccessibleWhenUnlocked. Токени сесії ЄСІА не можна зберігати в SharedPreferences без шифрування — це пряме порушення вимог до захисту ПДн.

Сертифікація ФСТЕК потрібна не завжди, але якщо додаток обробляє відомості обмеженого доступу (не державну таємницю, але службову інформацію) — потрібна атестація за 17-м наказом. Це впливає на вибір криптобібліотек: тільки сертифіковані СКЗІ.

Сканування на вразливості перед релізом — обов'язково. Використовуємо MobSF (Mobile Security Framework) для статичного аналізу APK/IPA, OWASP Mobile Top 10 як чеклист. Особлива увага — exported Activities без перевірки Intent, незахищені ContentProviders, логування токенів у LogCat.

Специфіка UX для держдодатків

При розробці мобільного додатку для держпослуг важливо враховувати аудиторію: люди 18-80 років з різним рівнем цифрової грамотності. Розмір шрифту за замовчуванням — 16sp. Підтримка Dynamic Type (iOS) та sp-одиниць (Android) обов'язкова. Екрани з формами — короткі кроки, ніяких багатосторінкових wizard-форм без збереження прогресу.

Доступність (a11y): contentDescription для кожного значущого елемента, правильні accessibilityRole в React Native або UIAccessibilityTraits в SwiftUI. Додатки держпослуг періодично перевіряє Роскомнадзор, у тому числі на доступність для людей з інвалідністю.

Офлайн-режим критично важливий: не у всіх користувачів стабільний інтернет. Кешуємо довідники (список регіонів, типів документів) через Room / Core Data. Статуси заявок синхронізуємо при відновленні з'єднання через WorkManager (Android) або BGTaskScheduler (iOS). Офлайн-режим підвищує повернення користувачів на 30% порівняно з додатками без нього.

Чому нативна розробка виграє у кроссплатформи?

Нативна розробка швидша за кроссплатформу в 1.5-2 рази на криптоопераціях. Для більшості держдодатків оптимальна нативна розробка — iOS (Swift + UIKit/SwiftUI) + Android (Kotlin + Jetpack Compose). Flutter — допустимий, якщо команда підготовлена і немає hard-залежності від нативних криптобібліотек. React Native з react-native-crypto — ризиковано: ГОСТ-криптографія через JS-міст нестабільна.

Архітектура: Clean Architecture + MVVM. Repository шар ізолює СМЕВ/ЄСІА від UI. UseCase містить бізнес-логіку обробки статусів. ViewModel керує станом екрану. Dependency Injection — Hilt (Android) / Swinject (iOS).

Компонент Android iOS
Криптографія CryptoPro CSP / ViPNet ViPNet CSP SDK
Авторизація AppAuth + ЄСІА patch AppAuth + ЄСІА patch
Локальне зберігання Room + EncryptedSharedPreferences Core Data + Keychain
Push-сповіщення FCM APNs
DI Hilt Swinject
Мережа Retrofit + OkHttp URLSession / Alamofire

Типові проблеми та рішення

Проблема Рішення
Довгий cold start через криптопровайдер Ініціалізація в background thread з прапорцем готовності
Госключ не встановлений Fallback на web-версію через WebView або QR-код
Push-сповіщення без деталей При тапі на нотифікацію — окремий запит за даними
Зміни API ЄСІА без попередження Моніторинг схем через кастомні алерти
Детальніше про сертифікацію ФСТЕК Атестація за 17-м наказом потрібна для систем, що обробляють службову інформацію обмеженого доступу. Це передбачає використання тільки сертифікованих СКЗІ (CryptoPro, ViPNet) та проходження перевірки на відсутність недекларованих можливостей. Процес займає 2-4 місяці та проводиться ліцензованою організацією.

Що входить в роботу

  • Юридична та технічна експертиза вимог, аудит інтеграцій
  • UX-проектування з урахуванням аудиторії 18-80 років
  • Розробка модулів авторизації (ЄСІА, Госключ), форм, push-сповіщень
  • Інтеграційне тестування в тестовому середовищі ЄСІА
  • Інструкції та навчання співробітників замовника
  • Підтримка після релізу, моніторинг змін API ЄСІА та СМЕВ

Етапи роботи

Аудит вимог включає юридичну експертизу: які дані обробляються, чи потрібна атестація, які API ЄСІА/СМЕВ використовуються. Без цього етапу технічне проектування неможливе.

Проектування: UX для цільової аудиторії, схема авторизації, модель даних, API-контракти з backend.

Розробка йде ітераційно: спочатку авторизація та core-флоу, потім форми та довідники, потім push та офлайн. Інтеграційне тестування — в тестовому середовищі ЄСІА (є окремий стенд для розробників).

Публікація: RuStore обов'язковий для держдодатків останнім часом. Google Play та App Store — паралельно. Проходження рев'ю RuStore повільніше (5-10 днів vs 1-3 дні в Google Play).

Підтримка: зміни API ЄСІА та схем СМЕВ виходять без попередження. Моніторинг через Firebase Crashlytics + кастомні алерти на зміну структури відповіді.

Терміни MVP (авторизація + 2-3 держпослуги): 3-5 місяців. Повнофункціональний додаток з широким каталогом послуг — 8-14 місяців. Бюджет повного циклу розробки зазвичай становить від 5 до 10 млн ₽. Вартість розраховується індивідуально після аналізу вимог та складу інтеграцій. Працюємо на ринку з 2018 року, виконали 15+ успішних проєктів для держзамовників. Оцініть ваш проєкт — напишіть нам. Замовте консультацію з мобільного додатку держпослуг.