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

Версия: v2 Действует с: 22.06.2026

Эта страница описывает, как Quantra обращается с вашими данными и какие технические меры применяются для их защиты. Документ информационный — это не контракт, а попытка прозрачно показать архитектурные решения, на которых построен Сервис.

1. Брокерские токены

  • Токен принимается через HTTPS-форму подключения брокера.
  • Токен зашифрован перед записью в БД (AES-GCM, ключ управляется отдельно от пароля БД).
  • Сервис использует токен только для read-only вызовов: getOperations, getPositions, getPortfolio и аналогов. Методы, которые могут выставить заявку, не вызываются.
  • Если ваш токен утрачен или скомпрометирован, отзовите его в личном кабинете брокера. Сервис автоматически перестанет работать через 401-ошибку API.
  • Удаление аккаунта в Сервисе уничтожает зашифрованный токен в БД.

2. Аутентификация

Вход в Сервис возможен несколькими способами. Пароли в Сервисе по-прежнему не используются и не хранятся.

  • Magic link. Одноразовая ссылка на email. Истекает через короткое окно и работает один раз. Обработчик /login устроен так, чтобы не выдавать существование email (anti-enumeration).
  • 6-значный код на email. Альтернатива ссылке для установленного приложения (PWA): в standalone-режиме ссылка из письма открывается в браузере с отдельным cookie-хранилищем (особенность iOS), поэтому код можно ввести прямо в приложении. Код одноразовый, с лимитом попыток и rate-limit по IP; ошибка такая же обезличенная, как и у ссылки.
  • Passkey (Face ID / Touch ID / отпечаток / Windows Hello). Вход по криптографическому ключу устройства (стандарт WebAuthn). Приватный ключ и сама биометрия никогда не покидают устройство — биометрия Сервисом не собирается и не хранится. На сервере хранится только публичный ключ, идентификатор учётных данных (credential id) и счётчик подписей; этого достаточно лишь чтобы проверить подпись при входе, но не воспроизвести ключ. Привязка к домену Сервиса (RP-ID) исключает использование passkey на чужом сайте. Успешный вход по passkey выпускает ту же сессию, что и magic link.
  • Код-замок (app-lock). Для установленного приложения можно включить 4-значный код, который запирает экран при возвращении в приложение. Это локальный замок приватности, а не серверный фактор входа: хэш кода (PBKDF2) хранится только в памяти устройства и никогда не передаётся на сервер. Если код забыт — доступ восстанавливается обычным входом по email-коду, а замок сбрасывается (fail-open: замок не запирает вас снаружи от собственного аккаунта).

Сессия привязана к hybrid JWT + opaque session ID; cookie помечен HttpOnly, Secure (в проде), SameSite=Lax. Сессии можно посмотреть и завершить из /settings/security → Активные сессии.

3. Аудит-лог

Сервис ведёт append-only журнал чувствительных действий:

  • логин, выдача и отзыв сессии,
  • подключение и удаление брокера,
  • выдача согласия с Terms / Privacy,
  • удаление аккаунта,
  • billing-события (включая webhook'и).

Записи содержат IP-адрес, user-agent и дату. Эти данные используются только для расследований инцидентов и не передаются третьим лицам.

4. AI-данные

При запросе AI-разбора Сервис отправляет провайдеру:

  • агрегированные метрики ваших сделок (P&L, win-rate, частоты),
  • описание паттерна, если разбираете паттерн,
  • ваше сообщение в чат, если используете чат.

Сервис не отправляет провайдеру:

  • ваш email или display name,
  • ваш брокерский токен,
  • сырые payload'ы операций брокера.

Системный промт зафиксирован версией (SYSTEM_PROMPT_VERSION) и хранится в репозитории вместе с тестами на forbidden-фразы. AI-провайдер не может предложить «купить SBER» — детектор forbidden-фраз режет такие ответы и возвращает refused-сообщение.

5. Платежи

  • Платежи проходят через хостинговую страницу ЮKassa. Сервис не хранит номера карт.
  • Webhook от ЮKassa проверяется в два уровня:

1. Source IP должен быть в опубликованном диапазоне ЮKassa. 2. Reverse-lookup: после получения webhook Сервис делает независимый GET /v3/payments/{id} к ЮKassa и сравнивает status/amount.

  • Webhook идемпотентен: повторные доставки одного события не создают дубликатов подписки.

6. Хранение и резидентность

  • Основная БД и бэкапы — серверы в РФ (152-ФЗ, локализация).
  • Скриншоты — S3-совместимое хранилище в РФ.
  • Шифрование на уровне диска (LUKS) на машинах prod.

7. Минимизация данных

  • На тарифе Free Сервис показывает историю только за последние 30 дней. Старее — не отображается, но и не удаляется автоматически.
  • Сервис не собирает дополнительные данные «на будущее»: только то, что прямо требуется для функций.

8. Уязвимости и инциденты

Если вы нашли уязвимость, напишите на security-email из подвала сайта. Сервис обязуется ответить в разумные сроки и не использовать against the reporter любые юридические инструменты, при условии добросовестного раскрытия (Coordinated Disclosure).

9. Что зависит от вас

  • Используйте уникальный пароль для email-аккаунта, на который приходит magic link.
  • При подключении брокера выдавайте токен с минимальными правами (read-only).
  • Не передавайте свой токен третьим лицам.
  • Passkey и код-замок привязаны к конкретному устройству — для входа с нового устройства используйте код из почты или добавьте passkey на этом устройстве.
  • Завершайте сессии в /settings/security после работы с общедоступного устройства.

10. Изменения

При существенных изменениях архитектуры безопасности Сервис обновляет этот документ и помечает новую версию. Вас не будут просить «согласиться» с этой страницей — это информационный документ, не контракт.

Quantra — журнал и аналитика истории сделок. Сервис не является инвестиционным советником и не предоставляет индивидуальных инвестиционных рекомендаций.