Security

Честная security page, а не маркетинговые лозунги

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

Что мы не логируем

История сайтов

Мы не логируем посещённые домены, URL, DNS-запросы или содержимое пакетов. Это жёсткая граница продукта.

Источники IP

Постоянная история исходных IP не хранится. Только агрегированные счётчики по аккаунту, устройству и временному окну.

Содержимое трафика

Пакеты не инспектируются и не сохраняются. Метеринг считает только байты, не контент.

Реализовано

Шифрование ключей

WireGuard private keys и configJson шифруются AES-256-GCM перед записью в БД. Ключ шифрования — из переменной окружения.

RBAC

Роли USER, SUPPORT, ADMIN хранятся в Prisma. Доступ к /admin и admin API проверяется через shared access resolver.

Webhook verification

Stripe webhooks проверяются через HMAC-SHA256 raw body. CryptoBot — через HMAC-SHA256 заголовок.

Audit log

Все admin-действия пишутся в AuditLog с actor, entity, timestamp и metadata. Immutable append-only.

Rate limiting

Checkout, support ticket creation и VPN profile recommendation защищены rate limits через Redis.

Security headers

X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy, Permissions-Policy и CSP report-only.

Открытые задачи перед v1

Мы публично фиксируем незакрытый security debt вместо того, чтобы скрывать его.

MFA для администраторов

Двухфакторная аутентификация для admin-аккаунтов перед production-запуском.

Backfill зашифрованных данных

Существующие plaintext device secrets нужно перешифровать после применения migration к live БД.

Сторонний аудит

Независимый security audit запланирован после достижения v1 traction.

Модель шифрования

АлгоритмAES-256-GCM с уникальным IV на каждую запись
КлючCONFIG_ENCRYPTION_KEY из переменной окружения, не в коде
Что шифруетсяDevice.privateKey, Device.configJson, TunnelProfile.configJson
Обратная совместимостьPlaintext строки читаются без ошибок, новые — шифруются
Хранение ключей на клиентеOS keychain / DPAPI (Windows) — в roadmap
АудитКаждое admin-действие пишется в AuditLog с actor и timestamp