# Техническая спецификация: Прямая дистрибуция приложений ТБанк **Для:** 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*