Розробка мобільного додатку для зберігання документів (Digital Wallet)

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

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Розробка мобільного додатку для зберігання документів (Digital Wallet)
Середній
від 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

Розробка мобільного додатка для зберігання документів (Digital Wallet)

Паспорт у телефоні — звучить просто, поки ти не зустрішся з користувачем на iOS 15 без Face ID, якому потрібно продемонструвати документ офлайн з криптографічним підтвердженням автентичності. Тут звичайний «файловий менеджер з гарним UI» перетворюється на невдалий продукт, а правильний Digital Wallet стає окремим інженерним проектом.

Основна інженерна проблема: де та як зберігати

Більшість перших версій таких додатків роблять те ж саме: зберігають PDF у Documents/ та шифрують AES-256. Це катастрофічно недостатньо. Проблема не в алгоритмі шифрування—це управління ключами.

Якщо ключ зберігається поряд з даними (навіть обгорнутий у SecKeyCreateRandomKey), дані можна відновити при джейлбрейку чи фізичному доступі до пристрою. Правильна схема: мастер-ключ створюється в Secure Enclave на iOS (kSecAttrTokenIDSecureEnclave) і ніколи не покидає чип. На Android аналог — Android Keystore з StrongBox на пристроях із виділеним HSM (Pixel 3+, Samsung з Knox). Документ шифрується похідним ключем через HKDF, похідний ключ шифрується мастер-ключем. Без біометрії або PIN ключ недоступний.

Другий болючий момент — резервні копії. За замовчуванням Documents/ на iOS потрапляє в iCloud Backup. Документи користувача відправляються в хмару без відома розробника. Рятує isExcludedFromBackup = true для каталогу сховища та явний атрибут NSURLIsExcludedFromBackupKey.

Верифікація автентичності документів при імпорті

Зберігання — половина справи. Користувачі очікують, що додаток усе ж таки зможе базово перевірити документ при завантаженні: чи не пошкоджений PDF, чи MRZ у паспорті збігається з візуальним вмістом, чи не закінчився термін дії документа.

Для розпізнавання MRZ використовуємо Vision framework на iOS (VNRecognizeTextRequest) або ML Kit Document Scanner на Android. OCR зони MRZ дає точність >98% на якісній фотографії. Для PDF — PDFKit на iOS, PdfRenderer на Android: перевіряємо цифровий підпис документа (PDFDocument.accessPermissions, ланцюг X.509 у вбудованому CMS).

Повна верифікація eIDAS/PAdES — окрема тема, але базова перевірка реалізується за 3-4 дні.

Структура сховища

WalletVault/
├── index.encrypted       # CBOR-маніфест усіх документів (ID, тип, дата, хеш мініатюри)
├── docs/
│   ├── {uuid}.enc        # Зашифрований документ (AES-GCM, 256-bit)
│   └── {uuid}.meta.enc   # Метадані (ім'я, теги, термін дії)
└── keys/
    └── vault.key.ref     # Посилання на ключ у Keychain/Keystore (не сам ключ)

Маніфест-індекс дозволяє відображати список документів без розшифрування самих файлів—мініатюри зберігаються окремо, зменшені до 64×64 px.

Офлайн-демонстрація та верифікація третьою стороною

Сценарій «показати документ інспектору» потребує більше, ніж просто показати картинку. Для критичних випадків (посвідчення водія, корпоративний бейдж) реалізуємо ISO 18013-5 (mDL — mobile Driving Licence) поверх BLE/NFC: верифікатор запитує конкретні поля (лише ім'я та дату народження, без адреси), пристрій відповідає підписаним CBOR-об'єктом. Користувач бачить, які поля розкриваються—selective disclosure у дії.

Для менш критичних сценаріїв достатньо QR з підписаним JWT + короткий час життя (60 секунд).

Етапи роботи

Аудит вимог до типів документів та сценаріїв демонстрації → проектування схеми зберігання та управління ключами → розробка Vault-модуля → інтеграція OCR/MRZ-верифікації → UI для управління документами → security review → публікація.

Одна платформа з базовим сховищем: від 5 тижнів. Дві платформи з MRZ, офлайн-верифікацією за ISO 18013-5 та MDM-інтеграцією: 3–5 місяців. Вартість розраховується індивідуально після аналізу вимог.