Перейти к содержимому

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

Предзапуск

Что мы делаем — и чего не обещаем.

На этой странице только те свойства, которые можно проверить в коде продукта. Здесь нет ни одного сертификата, потому что сегодня у нас их нет.

Чего вы не увидите на этой странице

Сознательно отсутствует, потому что сегодня это было бы неправдой:

  • Никаких сертификатов ISO 27001, SOC 2 или PCI DSS — у нас их нет.
  • Никаких значков «одобрено банками» и логотипов банков-партнёров.
  • Никаких упоминаний «сквозного шифрования»: техническая модель продукта устроена иначе.
  • Никаких цифр о числе пользователей, оценок в магазинах приложений и отзывов.

В тот день, когда что-то из этого станет правдой и будет проверяемым, оно появится здесь вместе с доказательством.

Что мы делаем — и чего не обещаем.

Изоляция по семье

Единица изоляции — семья, а не пользователь. Каждая финансовая строка — счета, карты, операции, регулярные платежи, подписки, уведомления, отчёты, память о продавцах — несёт идентификатор своей семьи как внешний ключ, с каскадным удалением. Ничто, привязанное к одной семье, не читается из другой.

Проверено интеграционным тестом: пользователь не может прочитать строки чужой семьи, даже зная точный идентификатор.

Контроль доступа

Каждый запрос к финансовым данным идёт от аутентифицированного доступа и проверяется на сервере — при каждом чтении и каждой записи, а не только на входе на страницу. Роль в семье и роль на платформе — два разных поля в двух разных таблицах: администрирование платформы не даёт власти над семьёй, а владение семьёй не даёт привилегий на платформе.

Сессии в httpOnly-куках, обязательное подтверждение почты, ограничение частоты запросов в точках входа.

Очищенные логи

Логи маскируют чувствительные значения до записи: суммы, описания, адреса почты, идентификаторы счетов, токены. Ошибка импорта фиксирует идентификатор импорта, но не содержимое файла.

Поведение покрыто тестами.

Границы ИИ

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

Во всём продукте банковский факт, неизменный, отделён от трактовки — неточной и помеченной как трактовка.

Загруженные файлы

Размер ограничен, типы — по белому списку, пустые файлы отклоняются. Выписка хранится под непрозрачным ключом, никогда под своим исходным именем, в отдельной папке семьи и вне репозитория кода. Для распознавания дублей считается отпечаток.

Ограничение частоты загрузки файлов для каждого пользователя.

Удаление ваших данных

Удаление аккаунта требует подтверждения по почте, а привязанные финансовые данные исчезают вместе с семьёй каскадом — пути, который оставил бы осиротевшие строки, просто нет. Очищенный журнал аудита, без финансовых данных, хранит след событий безопасности.

Каскад гарантирован на уровне схемы базы данных, а не соглашением в коде.

Ошибки и заголовки

Неожиданная ошибка показывает общую локализованную страницу: ни стека вызовов, ни внутренних подробностей в браузер не попадает. Заголовки безопасности выставлены глобально, подпись сервера отключена.

Коды ошибок приложения переводятся в безопасные HTTP-ответы.

Известные ограничения — под контролем, без утайки

Честный продукт публикует и то, что пока не сделано:

  • Ограничение частоты запросов живёт в памяти процесса: для нескольких инстансов понадобится общее хранилище.
  • Двухфакторная аутентификация пока не включена.
  • Отправку писем и хранение файлов в рабочей среде ещё предстоит довести до конца на стороне инфраструктуры.
  • Ни одного реального подключения Open Banking нет: слой существует, но к нему не подключён ни один банк.

Вопрос по безопасности?

Напишите нам, а не ждите: мы предпочитаем чинить сразу.

Адрес для писем о безопасности опубликуем к коммерческому запуску.

Следующее непонятное списание вы наконец поймёте.

Доступ открывается постепенно. Подпишитесь и назовите свой банк: мы напишем вам, когда придёт ваша очередь.

В лист ожидания