Безпека
Оновлено: 2026-05-26
Ваші документи — це чутливі дані. Ось як ми їх захищаємо. Цей документ написаний чесно — описує реальний стан речей, не маркетинг.
Шифрування
- У передачі (in transit): TLS 1.2+ для всіх з'єднань між фронтендом, API, фоновими воркерами та БД. HTTPS на всіх публічних доменах. Сертифікати оновлюються автоматично через Let's Encrypt.
- Паролі: зберігаються як bcrypt-хеші (стандартний work factor). Ми не маємо доступу до plain-text паролів — навіть в БД.
- API-ключі та секрети: зберігаються лише як змінні середовища на production-сервері, ніколи не потрапляють у git-історію або у код.
Інфраструктура
- Хостинг: Hetzner Online GmbH, Європейський Союз (Німеччина / Фінляндія). Дата-центри Hetzner сертифіковані за ISO 27001.
- Захист від DDoS і WAF: Cloudflare на edge-рівні.
- Rate limiting на API через nginx — захищає від брутфорсу й автоматичного зловживання.
- Ізоляція: production-середовище ізольоване від dev/staging; немає shared credentials.
Контроль доступу
- Доступ до production-сервера — лише через SSH з ключами (паролі вимкнено).
- Доступ персоналу до даних користувачів — лише за запитом юзера в підтримку (наприклад, для відтворення бага).
- JWT-токени авторизації мають TTL 24 години — після цього юзер мусить увійти повторно.
Залежності та оновлення
- Залежності pinned (lock-файли pyproject.toml і package-lock.json).
- Security-оновлення бібліотек застосовуються щонайменше раз на місяць.
Логи та моніторинг
- Структуровані логи через Loguru.
- Помилки агрегуються у Sentry — це дозволяє оперативно реагувати на збої.
- Логи не містять: номери карток, plain-text паролі, повний контент документів. Тільки метадані (ID, час, статус операції).
Програма повідомлення про вразливості
Знайшли security-баг? Напишіть на help@chatscontrol.com з темою «Security». Не публікуйте інформацію публічно до того, як ми виправимо. Ми відповідаємо протягом 48 годин, фіксимо критичні баги якомога швидше.
Чого у нас поки що немає (чесно)
Ми — невелика команда, частина enterprise-практик ще не впроваджена. Працюємо над цим:
- Шифрування дисків (at rest): диски Hetzner на серверах за замовчуванням не зашифровані. Це означає, що технічний персонал Hetzner потенційно має доступ до файлів — хоча Hetzner за договором не має права туди дивитися. Якщо для вас критично — напишіть, обговоримо options (виділений сервер з ручним LUKS, on-prem розгортання).
- Автоматичні бекапи: поки не налаштовані. Ризик у разі апаратного збою — втрата даних з моменту останнього ручного бекапа. Працюємо над цим.
- SOC 2 / ISO 27001: сертифікації не отримували — це актуально для значно більших компаній. За запитом надамо security-документацію для vendor reviews.
- Зовнішній penetration test: ще не проводили.
- Bug bounty: формальної програми немає, але повідомлення про вразливості розглядаємо серйозно.
Маєте питання? Напишіть нам на help@chatscontrol.com або в Telegram @mrbuslov.