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

289 lines
15 KiB
Markdown
Raw Permalink Normal View 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*