Приватность и 152-ФЗ

Gotcha — self-hosted-платформа: вы разворачиваете её на своей инфраструктуре и сами распоряжаетесь всеми данными. Это значит, что в терминах Федерального закона № 152-ФЗ «О персональных данных» оператором персональных данных (ПДн) становитесь вы, а не разработчики Gotcha. Эта страница помогает понять, какие ПДн обрабатывает система, что уже включено для минимизации, и какие обязанности остаются на вас.

Это техническая справка, а не юридическая консультация. За полной оценкой обязанностей обращайтесь к профильному юристу.

Какие персональные данные обрабатываются

КатегорияГде хранитсяПримеры
Аккаунт-холдеры GotchaPostgreSQL: users, user_identitiesemail при регистрации, email и subject от SSO/OAuth-провайдера
Конечные пользователи наблюдаемых приложенийClickHouse: events, transactions, metric_pointsuser_id, user_ip, user_email, атрибуты user.* в тегах/атрибутах
Свободный текст с возможными ПДнClickHouse: events.message/exception_value/stacktrace/contexts, spans.description/data, profile_samples.stack, tagsвсё, что SDK или разработчик поместил в текст ошибки, имя транзакции, SQL/URL
Адреса доставки уведомленийPostgreSQL: org_invites.email, конфигурация каналовemail приглашённых, адреса email/Telegram/webhook-получателей

Сессии (sessions) хранят только хеш токена и user_id, без IP и user-agent — минимизация соблюдена на уровне схемы.

Что уже включено по умолчанию

  • Обезличивание IP и email на приёме. GOTCHA_SCRUB_IP=true и GOTCHA_SCRUB_EMAIL=true по умолчанию: events.user_ip и events.user_email зануляются ещё до записи в ClickHouse. Ключи из денилиста (GOTCHA_SCRUB_KEYS) вычищаются из тегов/контекстов.
  • Сроки хранения (retention). TTL применяется принудительно и настраивается: события и др. — GOTCHA_RETENTION_DAYS, спаны, метрики, профили — свои параметры (см. Конфигурация). Данные автоматически удаляются из ClickHouse по истечении срока.
  • Обезличенные внешние уведомления. GOTCHA_EXTERNAL_CHANNEL_DETAILS=false по умолчанию (privacy-by-default): в Telegram/webhook уходит только обезличенная ссылка на инстанс, а не текст ошибки. См. раздел о внешних получателях ниже.
  • Нет «phone-home». Gotcha не отправляет никакой аналитики/телеметрии наружу к разработчикам. Единственные внешние получатели — те, что вы сами настроили (каналы оповещений, SSO-провайдеры).
  • Защита от SSRF. Исходящие запросы (webhook-оповещения, аптайм-проверки) по умолчанию не ходят на приватные/loopback-адреса (GOTCHA_SSRF_ALLOW_PRIVATE=false).

Права субъектов: доступ и удаление

152-ФЗ (ст. 14) и аналогичные нормы дают субъекту право на доступ к своим ПДн и их удаление. В Gotcha это реализовано на уровне организации (доступно роли owner):

  • Выгрузка ПДн субъекта — экспортирует данные конечного пользователя (по user_id или email), включая события, транзакции (в т.ч. по идентификаторам в тегах) и метрики.
  • Удаление ПДн субъекта — удаляет те же данные из ClickHouse.

Свободный текст (spans.data/description, profile_samples.stack) программно по субъекту не удаляется — надёжно идентифицировать субъекта в произвольном JSON/стектрейсе нельзя. Эти поля обезличиваются истечением TTL (спаны — 30 дней, транзакции — 90, метрики — 30, профили — 7 по умолчанию). Если такие данные для вас чувствительны, включите обезличивание свободного текста (ниже) и настраивайте scrubbing на стороне SDK.

Самоудаление аккаунта. Владелец аккаунта Gotcha может удалить свой аккаунт на странице профиля — каскадно удаляются привязанные способы входа, членство в организациях и сессии. Если он единственный владелец организации, сначала нужно передать владение или удалить организацию.

Обезличивание свободного текста

По умолчанию GOTCHA_SCRUB_FREETEXT=false: текст ошибок, стектрейсы и описания спанов пишутся дословно (наивная маскировка ломала бы SQL/URL и снижала пользу). Если разработчики могут поместить ПДн прямо в текст ошибки, включите GOTCHA_SCRUB_FREETEXT=true (маскирует email в свободном тексте) и дополнительно настройте scrubbing на стороне SDK.

Внешние получатели и трансграничная передача

Когда вы подключаете канал оповещений или SSO, ПДн могут покидать ваш периметр:

ПолучательЧто уходитЮрисдикция
Telegramтекст/ссылка оповещения (chat_id получателя)серверы за пределами РФ
Email (SMTP)текст/ссылка оповещения, email получателяваш SMTP-сервер
Webhookpayload оповещенияадрес, который вы указали
OAuth/SSO (Yandex ID, VK ID, generic OIDC)email/subject при входепровайдер (Yandex/VK — РФ)

Передача текста ошибок (с возможными ПДн) в Telegram — это потенциально трансграничная передача (152-ФЗ ст. 12). Поэтому детали по умолчанию отключены (GOTCHA_EXTERNAL_CHANNEL_DETAILS=false). Если вы включаете детали, убедитесь в наличии законных оснований для трансграничной передачи. TelegramSender позволяет переопределить базовый URL API — можно проксировать через инфраструктуру в нужной юрисдикции.

Ваши обязанности как оператора (152-ФЗ)

Ниже — ориентир, а не исчерпывающий список; сверяйтесь с актуальной редакцией закона и юристом:

  • Локализация БД (ст. 18.5). Хранение ПДн граждан РФ должно вестись в базах данных на территории РФ. Gotcha не привязана к зарубежным хостингам — разворачивайте PostgreSQL и ClickHouse в нужной юрисдикции.
  • Уведомление Роскомнадзора о намерении обрабатывать ПДн (за исключением случаев из ст. 22).
  • Публикация политики обработки ПДн (ст. 18.1 ч. 2 п. 2). Используйте инвентарь выше как основу.
  • Основания обработки и согласие субъектов, где это требуется.
  • Меры защиты ПДн: доступ к инстансу, шифрование каналов (TLS), резервные копии, разграничение ролей.

Технические средства для соблюдения (обезличивание, retention, экспорт/удаление, обезличенные внешние уведомления) уже встроены — но их настройка и юридическая часть остаются на операторе.