Архитектура безопасности и локального шифрования API
Firewire Analytics не умеет торговать и выводить деньги: брокеры подключаются ключами доступа на чтение, а сами ключи шифруются в браузере вашим мастер-паролем. Ниже — где хранится зашифрованный ключ и когда сервер работает с ним в открытом виде.
1. Доступ строго в режиме Read-Only (Без права сделок и вывода средств)
Взаимодействие с брокерскими API (БКС Мир инвестиций, Т-Инвестиции, Финам, Freedom Finance (Tradernet), JetLend) происходит по специализированным ключам доступа с флагом Read-Only. Отчёты других брокеров, например ВТБ, загружаются файлом через ИИ-Ко-пилота — ключ доступа к счёту для этого не нужен.
- Нельзя перевести деньги: Ключи не содержат разрешений на вывод капитала или межсчётные переводы.
- Нельзя совершать сделки: Система физически не имеет функций выставления лимитных или рыночных заявок.
- Только аналитические данные: Считываются только списки позиций, балансы, купонные выплаты и исторические отчёты по сделкам.
2. Шифрование ключей в браузере: AES-256-GCM на мастер-пароле
API-ключи и токены брокеров шифруются на вашем устройстве, прежде чем куда-либо сохраняются:
- Ключ из мастер-пароля — PBKDF2-HMAC-SHA-256, 600 000 итераций: из пароля и случайной соли (16 байт) получается 256-битный ключ шифрования; браузер не позволяет его выгрузить.
- Шифрование — AES-256-GCM (Web Crypto API): новый случайный вектор инициализации на каждое шифрование и проверка целостности — при неверном пароле или подменённых данных расшифровка не проходит.
- Старые ключи: ключи, сохранённые прежней версией с дополнительным слоем «Кузнечик», по-прежнему расшифровываются; новые ключи шифруются только AES-256-GCM.
3. Где хранится зашифрованный ключ и когда его видит сервер
Мастер-пароль не покидает браузер и нигде не сохраняется. Зашифрованный ключ (блоб) хранится в браузере (localStorage), а режим хранения вы выбираете при подключении брокера:
- Только локально: блоб есть только в этом браузере; после очистки данных сайта ключ придётся ввести заново.
- Облачный сейф: та же зашифрованная копия сохраняется в вашем аккаунте, чтобы подключение работало на других устройствах. Сервер хранит блоб, но не знает мастер-пароль.
- Автосинхронизация 24/7: для фонового обновления сервер хранит копию ключа, зашифрованную серверным ключом (envelope-шифрование), и расшифровывает её сам.
Во время синхронизации браузер расшифровывает ключ и передаёт его серверу по TLS. Сервер использует его только для чтения данных у брокера и обрабатывает открытый токен в оперативной памяти, а брокерскую сессию хранит с envelope-шифрованием серверным ключом и ограниченным сроком жизни.
4. Безопасность публичных портфелей и совместного доступа
При совместном доступе и публикации структуры портфеля (публичные ссылки и Bento-виджеты для подписчиков) сервисом автоматически применяется режим маскирования балансов. Наблюдатели видят исключительно процентные доли активов, доходность TWR/XIRR и структуру инструментов, без раскрытия точной суммы капитала в рублях.