montana/Русский/Совет/вызовы/СПЕЦИФИКАЦИЯ_LAZY_TOOL_ТБАНК.md

15 KiB
Raw Permalink Blame History

Техническая спецификация: Прямая дистрибуция приложений ТБанк

Для: IT-команда ТБанк Холдинг От: Alejandro Montana Дата: 24.01.2026


Проблема

App Store удалил приложения российских банков. Клиенты вынуждены:

  • Искать APK/IPA на сторонних сайтах (риск малвари)
  • Использовать веб-версии (ограниченный функционал)
  • Терять доступ к push-уведомлениям и биометрии

Решение: LazyShop-модель (уже работает)

Референс: https://lazyshop.app — сервис, который уже делает это для тысяч пользователей.

Как это работает (проверено)

1. Клиент заходит на сайт через Safari на iPhone
2. Сайт определяет устройство автоматически
3. Клиент скачивает профиль → он появляется в Настройках iOS
4. Клиент заходит в Настройки → подтверждает установку профиля
5. Профиль собирает UDID и данные устройства
6. Через ~24 часа сертификат готов
7. Клиент получает ссылку на почту или переходит на сайт для скачивания
8. Приложение устанавливается напрямую

Почему Apple не может это закрыть

Это их собственный механизм для масштабирования технологий:

  • Enterprise Distribution Program
  • Ad-Hoc Distribution
  • Developer Certificates

Apple использует это для корпоративных клиентов, бета-тестирования, внутренних приложений. Закрыть = сломать свою же экосистему.

Если сертификат отзывают

Процедура повторяется:

  • Клиент заново устанавливает профиль
  • Получает новый сертификат
  • Скачивает приложение

Это неудобно, но работает. ТБанк может автоматизировать это через свою инфраструктуру.


Что делает ТБанк vs. что делает LazyShop

Компонент LazyShop (сейчас) ТБанк (своё решение)
Профиль Их сервер Сервер ТБанк
Сертификаты Их Apple Developer Account Apple Developer Account ТБанк
Доверие клиента "Какой-то сайт" "Мой банк"
Время выпуска ~24 часа Можно быстрее (своя инфраструктура)
Стоимость для клиента Платно Бесплатно (за счёт банка)
Лимит приложений 3 шт Все приложения холдинга

Архитектура для ТБанк

┌─────────────────────────────────────────────────────────────────┐
│                    КЛИЕНТ (iPhone)                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   1. Safari → tbank.ru/ios                                      │
│   2. Скачать профиль → Настройки                                │
│   3. Подтвердить установку профиля                              │
│   4. Подождать (автоматически или ~24ч)                         │
│   5. Получить ссылку → Скачать приложение                       │
│                                                                 │
│   Результат:                                                    │
│   ┌──────────────┐  ┌──────────────┐  ┌──────────────┐         │
│   │  ТБанк App   │  │  Т-Мобайл    │  │ Т-Страхование│         │
│   └──────────────┘  └──────────────┘  └──────────────┘         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    СЕРВЕР ТБанк                                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │              Profile Server                              │   │
│   │                                                         │   │
│   │   • Генерация .mobileconfig для каждого клиента         │   │
│   │   • Сбор UDID через профиль                             │   │
│   │   • Привязка к аккаунту клиента в банке                 │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │              Signing Service                             │   │
│   │                                                         │   │
│   │   • Apple Developer Enterprise Program ($299/год)       │   │
│   │   • Подписание IPA под конкретный UDID                  │   │
│   │   • Автоматизация через Apple API                       │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │              Distribution                                │   │
│   │                                                         │   │
│   │   • itms-services:// manifest для установки             │   │
│   │   • Push-уведомление "Ваше приложение готово"           │   │
│   │   • Ссылка в личном кабинете / на почту                 │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Процесс для клиента (как на LazyShop, но от банка)

Шаг 1: Вход

Клиент заходит на tbank.ru/ios через Safari на iPhone
→ Сайт автоматически определяет устройство
→ Кнопка "Установить приложения ТБанк"

Шаг 2: Профиль

Клиент нажимает кнопку
→ Safari предлагает скачать профиль (.mobileconfig)
→ Клиент переходит в Настройки → Основные → VPN и управление устройством
→ Видит "Профиль ТБанк" → Нажимает "Установить"
→ Подтверждает паролем устройства

Шаг 3: Ожидание (~24 часа или быстрее)

Профиль отправляет UDID на сервер ТБанк
→ Сервер регистрирует устройство в Apple Developer Portal
→ Apple выпускает provisioning profile для этого UDID
→ ~24 часа (или быстрее при автоматизации)

Шаг 4: Установка

Клиент получает push/SMS/email: "Приложения готовы"
→ Заходит на tbank.ru/ios
→ Нажимает "Скачать ТБанк" / "Скачать Т-Мобайл" / ...
→ iOS устанавливает приложение
→ Готово

Если сертификат отозван Apple

Приложение перестаёт открываться
→ Клиент заходит на tbank.ru/ios
→ Повторяет процедуру (новый профиль → новый сертификат)
→ Скачивает приложения заново

Это минус, но Apple не может закрыть сам механизм — это их инфраструктура.


Масштабирование на все приложения

Приложение Bundle ID Отдельный сертификат
ТБанк ru.tbank.app Да
Т-Мобайл ru.tbank.mobile Да
Т-Страхование ru.tbank.insurance Да
Т-Бизнес ru.tbank.business Да
Т-Инвестиции ru.tbank.invest Да
... ... Да

Каждое приложение = отдельный сертификат на устройстве клиента.

Преимущество: Отзыв одного сертификата не влияет на другие приложения.


Безопасность

Защита от компрометации

1. Certificate Pinning — приложение проверяет свой сертификат
2. HSM — приватные ключи в аппаратном модуле
3. Audit Log — все операции с сертификатами логируются
4. Revocation — мгновенный отзыв при подозрении

Согласие клиента (GDPR/152-ФЗ)

- Явное согласие перед регистрацией устройства
- Право отзыва в любой момент
- Данные UDID хранятся зашифрованно
- Привязка к уже верифицированному клиенту банка

Стоимость для ТБанк

Компонент Стоимость
Apple Developer Enterprise Program $299/год
Разработка Profile Server + Signing Внутренняя команда или ~$30-50k
Инфраструктура Уже есть у ТБанк
Поддержка Внутренняя команда

Итого: Минимальные затраты. Основная работа — разработка автоматизации.

LazyShop берёт с пользователей деньги. ТБанк делает бесплатно для своих клиентов → конкурентное преимущество.


Альтернатива: Android (APK)

Для Android проще:

1. APK подписывается ключом ТБанк
2. Раздаётся с сайта tbank.ru/android
3. Клиент разрешает "Установка из неизвестных источников"
4. Готово

Но риски:

  • Фишинговые сайты с поддельными APK
  • Клиенты привыкают устанавливать "откуда угодно"

Решение: QR-код в отделении / в веб-банке с TOTP-верификацией


Интеграция с Montana Protocol (опционально)

Montana Protocol добавляет:

  1. Постквантовые подписи ML-DSA-65 — защита от квантовых компьютеров
  2. Доказательство присутствия — клиент доказывает владение устройством
  3. Временные метки — неизменяемый лог всех операций

Это можно интегрировать позже или отдельно от Lazy Tool.


Референс: LazyShop

https://lazyshop.app — уже работает, тысячи пользователей.

Посмотрите как они это делают:

  1. Зайдите с iPhone через Safari
  2. Пройдите процесс установки профиля
  3. Увидите как это работает изнутри

ТБанк может сделать то же самое, но:

  • Бесплатно для клиентов
  • Под своим брендом
  • С интеграцией в существующую инфраструктуру
  • Для всех приложений холдинга

Готовность

Я сейчас разрабатываю iOS-приложение Montana с этим механизмом.

Могу:

  1. Показать как работает профиль + сертификат
  2. Поделиться архитектурой
  3. Помочь адаптировать под масштаб ТБанк

Следующий шаг

30-минутный звонок:

  1. Демо механизма
  2. Ответы на технические вопросы
  3. Обсуждение интеграции

Alejandro Montana 24.01.2026