Безопасность
Версия: v1 Действует с: 27.04.2026
Эта страница описывает, как Quantra обращается с вашими данными и какие технические меры применяются для их защиты. Документ информационный — это не контракт, а попытка прозрачно показать архитектурные решения, на которых построен Сервис.
1. Брокерские токены
- Токен принимается через HTTPS-форму подключения брокера.
- Токен зашифрован перед записью в БД (AES-GCM, ключ управляется отдельно от пароля БД).
- Сервис использует токен только для read-only вызовов:
getOperations,getPositions,getPortfolioи аналогов. Методы, которые могут выставить заявку, не вызываются. - Если ваш токен утрачен или скомпрометирован, отзовите его в личном кабинете брокера. Сервис автоматически перестанет работать через 401-ошибку API.
- Удаление аккаунта в Сервисе уничтожает зашифрованный токен в БД.
2. Аутентификация
- Вход — через magic link (одноразовая ссылка на email). Пароли в Сервисе не используются.
- Сессия привязана к hybrid JWT + opaque session ID; cookie помечен
HttpOnly,Secure(в проде),SameSite=Lax. - Сессии можно посмотреть и завершить из
/settings/security → Активные сессии. - Magic link одноразовый и истекает через короткое окно.
- Обработчик
/loginустроен так, чтобы не выдавать существование email (anti-enumeration).
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).
- Не передавайте свой токен третьим лицам.
- Завершайте сессии в
/settings/securityпосле работы с общедоступного устройства.
10. Изменения
При существенных изменениях архитектуры безопасности Сервис обновляет этот документ и помечает новую версию. Вас не будут просить «согласиться» с этой страницей — это информационный документ, не контракт.