Приватность и 152-ФЗ
Gotcha — self-hosted-платформа: вы разворачиваете её на своей инфраструктуре и сами распоряжаетесь всеми данными. Это значит, что в терминах Федерального закона № 152-ФЗ «О персональных данных» оператором персональных данных (ПДн) становитесь вы, а не разработчики Gotcha. Эта страница помогает понять, какие ПДн обрабатывает система, что уже включено для минимизации, и какие обязанности остаются на вас.
Это техническая справка, а не юридическая консультация. За полной оценкой обязанностей обращайтесь к профильному юристу.
Какие персональные данные обрабатываются
| Категория | Где хранится | Примеры |
|---|---|---|
| Аккаунт-холдеры Gotcha | PostgreSQL: users, user_identities | email при регистрации, email и subject от SSO/OAuth-провайдера |
| Конечные пользователи наблюдаемых приложений | ClickHouse: events, transactions, metric_points | user_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-сервер |
| Webhook | payload оповещения | адрес, который вы указали |
| 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, экспорт/удаление, обезличенные внешние уведомления) уже встроены — но их настройка и юридическая часть остаются на операторе.