Перейти к содержимому
Andreja Zubac
Все проекты

Мобильное приложение

Trumia

Мобильное банковское приложение для частных клиентов на Flutter: онбординг с KYC, выпуск карт, платежи SEPA/SWIFT и аутентификация по passkeys.

Период
2026
Платформы
iOS, Android
Стек
  • Flutter
  • Dart
  • BLoC / Cubit
  • Sumsub
  • Wallester
  • Passkeys / WebAuthn
  • Secure storage
  • GitLab CI
  • HashiCorp Vault

Обзор

Trumia — мой последний проект: мобильное банковское приложение для частных клиентов на Flutter, которое выпускается через несколько окружений — Dev, Stage, UAT и Production. Оно охватывает весь путь клиента: от комплаенс-онбординга и верификации личности до карт, переводов и истории операций.

Моя роль

Flutter-разработчик. Я реализовал онбординг, KYC-верификацию, аутентификацию по passkeys, управление картами и платежи, а также участвовал в построении инфраструктуры безопасности и релизов приложения.

Задача

Банковский онбординг должен соответствовать требованиям комплаенса, зависит от внешнего провайдера верификации личности и обязан работать корректно, даже если результат проверки приходит с задержкой или проверка завершается ошибкой. При этом мобильную часть нужно было развивать параллельно с бэкендом, который ещё находился в разработке.

Решение

Источником истины для статуса верификации служит вердикт, приходящий на бэкенд через вебхук, а не статус SDK на устройстве; опрос статуса ограничен, а для ошибок и затянувшегося ожидания предусмотрены явные сценарии восстановления. Sumsub SDK скрыт за интерфейсом, поэтому приложение могло развиваться с опережением бэкенда. Прогресс онбординга сохраняется в защищённом хранилище, а проверка на уровне приложения пускает пользователя внутрь только после успешной верификации.

Архитектура и реализация

  • Изолировал Sumsub SDK за интерфейсом и выполнил его нативную настройку под iOS.
  • Passkeys (WebAuthn) с подписью Android-приложения, Digital Asset Links и конфигурацией для каждого окружения.
  • Участвовал в настройке подписи приложения, конфигурации RASP, GitLab CI/CD, управлении секретами в HashiCorp Vault и изоляции окружений.
  • Подготовил Architecture Decision Records по безопасности и подписи релизов.

Ключевые функции

  • Комплаенс-анкета из 9 шагов: резидентство, личный и финансовый профиль, налоговые декларации и декларация PEP
  • Лист ожидания для стран, где сервис пока недоступен
  • Возможность продолжить онбординг с места остановки
  • Съёмка документов и проверка liveness
  • Выпуск и редактирование карт, заморозка и разморозка, настройки карты и гибкие лимиты расходов
  • Переводы SEPA, SWIFT и внутренние переводы с получателями, валидацией и подтверждением
  • История операций, детали и статусы транзакций
  • Беспарольный вход по passkeys