Честная 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.