Перейти к содержимому
Доверие · Безопасность

Где живут ваши данные

Без маркетинговых формулировок: что мы реально делаем для защиты данных, какие провайдеры участвуют и какие гарантии у нас есть.

Хранилище данных

  • Postgres (Supabase EU) — основная база. Документы, профили, контрагенты, история версий. Регион EU, шифрование на диске.
  • Vercel Blob (EU) — артефакты выпусков (PDF, DOCX). С SHA-256 для проверки неизменности.
  • Upstash Redis (EU) — rate-limiting и временные кэши. Без персональных данных.

Шифрование

  • В пути: TLS 1.2+ (HTTPS) для всех соединений между клиентом, нашим приложением, Supabase, Vercel и Anthropic API.
  • В покое: Postgres шифрует диск (Supabase managed). Vercel Blob — server-side encryption.
  • Секреты: переменные окружения только на серверной стороне, никогда не попадают в клиентский bundle. Pre-commit semgrep сканирует на утечки.

Контроль доступа

  • Авторизация: Supabase Auth (email + magic link). Токены обновляются автоматически, истекают по графику.
  • Разделение пространств: каждый документ принадлежит конкретному пользователю и пространству. RLS-политики Supabase + проверки в каждом API.
  • Роли: 4 роли (владелец / администратор / редактор / наблюдатель), серверные проверки прав в каждом действии. Подмена роли клиентом невозможна.

Сессии и токены

  • Срок жизни access-токена: 1 час (настройка Supabase Auth по умолчанию). Refresh-токен живёт 30 дней.
  • Refresh без перелогина: токен обновляется автоматически в фоне, пока вы активны.
  • Истечение бездействия: при отсутствии активности 30 дней refresh истекает — нужен повторный логин.
  • Принудительный logout: кнопка «Выход» в Настройках завершает текущую сессию. Глобального logout «со всех устройств» сейчас нет — добавим позже.
  • Токены хранятся в HTTP-only cookies — JavaScript на клиенте не имеет к ним доступа (защита от XSS-кражи токенов).

Загрузка файлов

  • Поддерживаемые форматы: PDF, DOCX, обычный текст. Сканы изображений (JPG/PNG) для проверки документа не поддерживаются — нужен извлекаемый текст.
  • Лимит размера: 10 МБ на файл. Больше — Dokli отклонит загрузку. Большинство договоров умещаются в 1-3 МБ.
  • Валидация: проверка MIME-типа на сервере, проверка структуры (corrupted PDF/DOCX отклоняются), ограничение количества загрузок (rate-limit).
  • Антивирус: встроенного AV-сканирования нет. Файлы хранятся в изолированном хранилище (Vercel Blob), не исполняются на сервере.
  • Хранение загруженных файлов: только для пользователя, который загрузил. Доступ через signed URLs с истечением. После анализа исходный файл можно удалить из настроек документа.

Удаление данных

  • Удаление одного документа: кнопка «Удалить» на странице документа. Действие необратимо — версии и история тоже стираются.
  • Удаление контрагента: через карточку контрагента в Настройках. Документы, привязанные к контрагенту, не удаляются автоматически.
  • Удаление аккаунта: Настройки → Удалить аккаунт. Срок удаления — до 30 дней (ст. 21 152-ФЗ), на практике обычно 24-72 часа. Некоторые служебные данные хранятся дольше по закону: платёжные документы — 4 года (НК РФ).
  • Что остаётся после удаления: анонимизированная статистика использования (без ИНН, ФИО, текстов документов), записи в журналах безопасности (для расследования инцидентов — до 6 месяцев), платёжные документы по законодательству.
  • Запрос на доступ к своим данным: hello@dokli.ru — ответ в срок до 10 рабочих дней (ст. 14 152-ФЗ).

Логирование и аудит

  • Журнал ключевых событий: создание документа, выпуск, восстановление, приём риска, изменение прав. Не перетирается.
  • Sentry: технические ошибки. Не пишем туда тексты документов и персональные данные — только стек-трейсы и анонимизированный контекст.
  • PostHog (EU): продуктовая аналитика. Никаких текстов договоров — только события «создал документ», «выпустил PDF» и подобные служебные счётчики.

Сторонние сервисы

  • Anthropic Claude — обработка ваших брифов и документов для генерации. Anthropic не использует данные API для обучения моделей (политика default-off).
  • YooKassa — платежи. Реквизиты карты не попадают в Dokli.
  • ФНС-реестры — публичные API для проверки самозанятых и ИНН. Только отправляем ИНН для проверки, ничего не сохраняем у них.

Бэкапы и восстановление

  • Postgres: ежедневные автоматические бэкапы (Supabase managed), хранятся 7 дней. Point-in-time recovery в продовых тарифах Supabase.
  • Vercel Blob: S3-совместимое хранилище с встроенной репликацией.
  • RTO/RPO: цель восстановления — до 4 часов. На практике обычно меньше.

Соответствие требованиям

  • 152-ФЗ «О персональных данных»: уведомление в Роскомнадзор по ст. 22 подаётся перед публичным запуском prod-сервиса. Согласия пользователей хранятся, поддерживается удаление аккаунта с полным стиранием данных.
  • Уровень защищённости ИСПДн (УЗ-3): согласно Приказу ФСТЭК России № 21 от 18.02.2013 — организационные и технические меры защиты от типовых угроз (несанкционированный доступ, неправомерное изменение / уничтожение).
  • ГК РФ + ФЗ-422: формы документов соответствуют российскому законодательству. Шаблоны актуализируются по нормативным изменениям.
  • Удаление по запросу: в Настройках есть кнопка удаления аккаунта — необратимо стирает все ваши данные за исключением минимума, который мы обязаны хранить по закону (платёжные документы — срок хранения 4 года).

Что пока не реализовано

  • Двухфакторная аутентификация (2FA) — в плане после стабилизации ядра, Module 80 v2.
  • Глобальный logout «со всех устройств» — сейчас завершается только текущая сессия. Добавим позже.
  • Антивирусное сканирование загруженных файлов — пока нет. Файлы хранятся изолированно и не исполняются на сервере. Если планируем расширять приём файлов (например, бухгалтерские документы) — добавим AV.
  • Несколько администраторов одного пространства — сейчас модель «один владелец без передачи». Это сознательное ограничение, не недоработка.
  • Независимый SOC 2 / ISO 27001 аудит — это для enterprise масштаба. На нашем размере экономически не оправдано пока.
  • Локализация ПДн в РФ — основная база в Supabase EU. Для клиентов с жёстким требованием 152-ФЗ ст. 18 ч. 5 о локализации первичной записи (например, госкомпании) — Dokli пока не подходит.

Данные под защитой — создайте первый документ

EU-серверы, шифрование в пути и в покое, 152-ФЗ. 3 документа бесплатно.

Нашли уязвимость или сомнительное место? Напишите на security@dokli.ru — отвечаем в течение 24 часов рабочих дней.