Безопасность
Версия: 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. Изменения
При существенных изменениях архитектуры безопасности Сервис обновляет этот документ и помечает новую версию. Вас не будут просить «согласиться» с этой страницей — это информационный документ, не контракт.