Этот документ опубликован на нескольких языках. В случае расхождений между языковыми версиями обязательной является польская версия.
Версия 1.2 · Последнее обновление: 29 октября 2026 г.
1. Как читать этот реестр
Это реестр операций по обработке согласно ст. 30 GDPR для formexposed. Это не политика конфиденциальности и не маркетинг. Его задача — показать надзорному органу, Клиенту, проверяющему нас как обработчика, или следующему человеку, которому придётся отвечать на вопрос, что фактически обрабатывается, где это хранится, кто это получает и как долго оно хранится. Мы публикуем его, потому что сервис, который проверяет и отслеживает формы, сам должен быть открыт для проверки.
При его составлении действовали три правила.
- Измерено, а не задумано. Утверждение о полях данных, сроках хранения, получателях или мерах защиты появляется только там, где его подтверждает программный код, схема базы данных или измерение. То, что запланировано, называется «запланировано». То, что по умолчанию отключено, называется «по умолчанию отключено». Там, где мы не можем что-то доказать, мы так и говорим.
- Сроки хранения указаны дважды. Один раз для каждой операции по обработке и ещё раз в разделе 6 как общая картина: какой ночной процесс удаляет какие данные и до каких данных он не доходит. Реестр, заявляющий срок хранения, который применяется лишь к части данных, хуже реестра, который называет открытый вопрос.
- Открытые вопросы указаны в тексте, а не в сноске. В разделе 8.1 перечислены ещё не реализованные меры, в разделе 10 — открытые вопросы с запланированными мерами. Реестр — это рабочий инструмент, а не сертификат.
Поля данных вместо названий таблиц. Для каждой операции по обработке мы перечисляем сохраняемые данные в виде полей, описанных простым языком. Название таблицы базы данных следует в скобках, чтобы аудитор мог найти нужное место, например «попытки входа (login_attempts)». Перечни полей составлены на основе схемы базы данных, а не по памяти.
Сроки хранения в виде подстановочных значений. Если срок хранения можно задать в административной области, он отображается здесь именно так, как его считывает ночной процесс: число, которое Вы видите, берётся из той же настройки, которая управляет удалением. Сроки хранения, зафиксированные в программе, указаны числами.
Основа измерений. Схема, код и настройки были измерены 11 октября 2026 г. в системе разработки, которая по коду и схеме совпадает с рабочей системой. Числа строк из системы разработки мы не приводим; они содержат тестовые данные и ничего не говорят о реальной эксплуатации.
Намеренно опущено. В этом реестре не указываются имена хостов, внутренние сетевые адреса, порты, имена пользователей или версии программного обеспечения наших серверов. Такие сведения помогают злоумышленнику и ни одному субъекту данных. По той же причине открытые вопросы защиты наших собственных серверов мы описываем лишь в общих чертах (раздел 8.1): мы называем риск, но не путь к нему. Подробности мы предоставим надзорному органу по запросу.
Правовая природа. Этот реестр — документация, которую мы ведём согласно ст. 30 GDPR для надзорного органа; он опубликован добровольно. Он не является частью какого-либо договора и не представляет собой заверения, гарантии или соглашения о качестве по отношению к Клиентам или третьим лицам. Что мы должны Клиентам, регулируется Условиями использования, Соглашением об обработке данных и приложениями к нему; в отношении этих обязательств они имеют приоритет над этим реестром. Реестр описывает положение на дату данной версии. Квалификации вроде «открытый вопрос» или «оценка» отражают наше собственное мнение и не предвосхищают правовую оценку надзорного органа или суда; меры, обозначенные как «запланировано», — это намерения без обязательного срока.
2. Юридическое лицо и почему этот реестр состоит из двух половин
| Поле | Запись |
| Юридическое лицо | LW IT Solutions Company Lukas Wójcik, индивидуальное предприятие, зарегистрированное в польском реестре предпринимателей (CEIDG); владелец Lukas Wójcik |
| Адрес | al. Tadeusza Kościuszki 80/82, lok. 301, 90-437 Łódź, Польша |
| Налоговые идентификаторы | NIP 7252266190, идентификационный номер плательщика НДС PL7252266190 |
| Контакты | contact@lukaswojcik.com; окно поддержки (вопросительный знак в навигации); страница контактов |
| Сервис | formexposed: проверка, мониторинг и защита контактных форм на сайтах (приложение на formexposed.com, целевая страница на form.exposed) |
| Представитель согласно ст. 27 GDPR | Не применимо. Юридическое лицо учреждено в Союзе (Польша). |
| Инспектор по защите данных | Не назначен. Оценка согласно ст. 37 приведена в разделе 9. |
| Компетентный надзорный орган | Prezes Urzędu Ochrony Danych Osobowych (UODO, польский орган по защите данных), ul. Moniuszki 1A, 00-014 Warszawa |
| Хостинг | Наши собственные серверы в Польше: один веб-сервер с приложением и базой данных и один сервер сканирования с локальной языковой моделью в той же внутренней сети. Никаких сторонних центров обработки данных или облачных провайдеров. |
formexposed играет разные роли по отношению к разным группам людей. Если их смешать, получится реестр, который не подходит ни для одной из них.
- Контролёр (часть B, ст. 30(1)). Мы сами являемся контролёром данных наших Клиентов и участников их команд (аккаунт, вход, оплата, поддержка, журналы), посетителей нашего собственного сайта, проверок без аккаунта (бесплатная проверка, инструмент заголовков, исследование, проверка потенциальных клиентов) и предотвращения злоупотреблений.
- Обработчик (часть A, ст. 30(2)). Для персональных данных третьих лиц, которые Клиент вносит в сервис или которые возникают при оказании услуги Клиенту, мы действуем по поручению Клиента: копии реальных писем форм при проверке доставки, подписчики клиентского портала Клиента, получатели оповещений Клиента, люди, случайно видимые на проверяемых страницах Клиента, учётные данные тестового аккаунта Клиента и код формы, вставляемый Клиентом. Основанием служит Соглашение об обработке данных, заключаемое с каждым Клиентом при регистрации.
- Только на стороне Клиента. Некоторые функции плагина WordPress и расширения TYPO3 обрабатывают данные исключительно на сайте Клиента, и эти данные никогда к нам не поступают (карантин, страховочная сеть, арифметическая задача, настройки хранения, локальные счётчики, средство записи). Они не являются обработкой с нашей стороны и поэтому не входят ни в одну часть. Тем не менее мы описываем их в конце части A, чтобы граница была видна.
Разделение заложено в коде, а не только в тексте: из реального письма формы проверка доставки записывает в базу данных только время, привязку и результат аутентификации; снимки экрана браузерных проверок маскируют поля ввода; учётные данные тестовых аккаунтов зашифрованы так, что веб-сервер уже не может их прочитать. Подробности приведены в записях.
Разделы 6–11 относятся к обеим частям: хранение, автоматизированные решения, технические и организационные меры, ответственный за защиту данных, открытые вопросы и поддержание этого реестра.
Сфера охвата. Этот документ — часть реестра, касающаяся сервиса formexposed. Обработка тем же юридическим лицом для других сервисов фиксируется в их собственных реестрах; общий бухгалтерский учёт и управление предприятием вне сервиса этой частью не охватываются.
3. Часть A – ст. 30(2): обработка по поручению Клиентов
A.0 Участники
| Поле | Запись |
| Обработчик | LW IT Solutions Company Lukas Wójcik, al. Tadeusza Kościuszki 80/82, lok. 301, 90-437 Łódź, Польша; contact@lukaswojcik.com |
| Контролёры | Клиенты formexposed: предприятия и агентства, которые держат домены в аккаунте и используют функции, при которых возникают данные третьих лиц. В случае агентств контролёром дополнительно может быть собственный клиент агентства; тогда агентство действует как обработчик в отношении этого клиента, а мы — как дальнейший обработчик. |
| Список контролёров | Часть этого реестра, хранящаяся электронно (ст. 30(3) GDPR) в системе сервиса и не воспроизведённая в этой публичной версии, поскольку содержит персональные данные Клиентов и устаревала бы с каждым новым Клиентом: владелец каждого рабочего пространства с именем, адресом электронной почты и компанией из клиентского аккаунта (адрес и номер НДС только у Stripe) (users, workspaces, workspace_users), а также домены рабочего пространства (domains). Мы предоставляем её надзорному органу в виде выписки по запросу. |
| Представители и ответственные за защиту данных контролёров | В системе для этого нет отдельного поля. Если Клиент назначил представителя по ст. 27 GDPR или ответственного за защиту данных, он может сообщить нам о них; мы храним уведомление вместе со списком контролёров. |
| Представитель обработчика | Неприменимо (место деятельности в Польше). |
| Ответственный за защиту данных | Не назначен (раздел 9). |
| Указания | Указание следует из Соглашения об обработке данных и настроек Клиента: Клиент включает проверку доставки, настраивает получателей оповещений, сохраняет тестовый аккаунт и настраивает клиентский портал. Без этого действия соответствующая обработка не происходит. |
| Технические и организационные меры | Раздел 8 и страница Технические и организационные меры применяются к каждой операции обработки части A. Особые меры указаны в соответствующей записи. |
A.1 Проверка доставки – контрольная копия писем форм
| Поле | Запись |
| Цель | Проверка того, действительно ли отправляется письмо контактной формы Клиента и как оно аутентифицируется (SPF, DKIM, DMARC, согласование). После принятой активной тестовой отправки её копия должна поступить в контрольный почтовый ящик в течение настраиваемого срока ожидания (сейчас 3 часа); иначе возникает оповещение «Тестовое письмо не получено». По заголовкам также определяются подлинность письма формы, используемый почтовый сервис и адрес отправителя для проверки по чёрным спискам. |
| Предпосылка | Платный тариф, подтверждённый домен, функция включена Клиентом. Клиент указывает собственный контрольный адрес с идентификатором (вида «delivery+identifier@…») в скрытой копии уведомления своей формы. Без настроенного контрольного ящика функция недоступна. |
| Категории субъектов данных | Посетители сайта Клиента, отправляющие его форму; люди, чьи данные посетитель вписывает в сообщение; сотрудники Клиента, указанные получателями в заголовках. |
| Категории персональных данных | В контрольном ящике (у поставщика почтового сервиса): полная копия каждого письма формы, включая реальные обращения с именем, адресом электронной почты, номером телефона и свободным текстом, до удаления. Читается при получении: заголовки и не более первых 8 КБ тела. В базе данных: время получения, привязка к домену и при необходимости к тестовому запуску (delivery_log); последний результат аутентификации по домену с результатами SPF, DKIM и DMARC, согласованием, доменом отправителя, доменами подписи и адресом отправляющего почтового сервера (поле аутентификации домена в domains). Содержимое, тема и адрес отправителя-посетителя в базу данных не записываются. |
| Примечание о домене отправителя | Если форма указывает адрес посетителя как отправителя (ошибочная настройка, которую призвана выявить проверка), результат аутентификации содержит домен этого адреса, а не сам адрес. Если посетитель использует личный домен, это также может быть персональными данными. Значение перезаписывается при следующем получении. |
| Источник | Форма на сайте Клиента через скрытую копию, указанную Клиентом. |
| Правовое основание (определяется контролёром) | Определяется Клиентом. Предлагаемый нами текст для политики конфиденциальности Клиента основывает копию на ст. 6(1)(f) GDPR (законный интерес в надёжном получении обращений). Клиент информирует посетителей об этом потоке данных; Соглашение об обработке данных обязывает его к этому. |
| Получатели | Поставщик почтового сервиса, обслуживающий контрольный ящик (Namecheap, Inc. (Private Email), Phoenix, Arizona, USA). Копия поступает прямо туда: она приходит только тогда, когда MX-записи нашего домена указывают на этот ящик (это проверяется перечнем проверок перед запуском); через пересылку она в ящик не попадает. На странице домена Клиент видит только время, привязку и результат аутентификации. Если результат аутентификации ухудшается, оповещение Клиенту и выбранным им каналам указывает домен отправителя, если он не относится к сайту (A.3, 4.1). |
| Третья страна | Зависит от поставщика почтового сервиса; см. раздел 4. Договор с предполагаемым поставщиком и основание передачи пока не задокументированы. |
| Хранение | После успешной обработки письмо помечается для удаления и удаляется из ящика в том же запуске, даже если его нельзя связать ни с одним доменом. Получение выполняется вместе с проверкой состояния каждые пять минут, пока мониторинг включён в области администрирования (srv/cron_status.php, cfg/zustellung_lib.php). Если получение или удаление не удаётся, письмо остаётся в ящике до следующего успешного запуска. То же получение удаляет привязки в delivery_log через 180 дней. Результат аутентификации существует столько же, сколько домен. |
| Что подтверждает доказательство | Только получение в контрольном ящике копии, связанной с конкретным тестовым запуском. Оно не доказывает ни получения фактическим адресатом, ни записи в CRM. Встроенное подтверждение HubSpot не предлагается. |
| Технические и организационные меры | Раздел 8. В частности: содержимое оценивается только в памяти; тело, тема и полные адреса отправителей не сохраняются; удаление независимо от успешности привязки. |
Проверка доставки — единственная функция, через которую к нам поступают реальные сообщения посетителей наших Клиентов. Поэтому это обработка по поручению Клиента, а не услуга под нашей собственной ответственностью, и поэтому время пребывания в ящике является реальной мерой риска: обычно минуты; при сбое получения — до его возобновления. Копии не должны содержать особые категории персональных данных; технически мы не можем это предотвратить, поскольку содержание сообщения определяет посетитель.
A.2 Клиентский портал и ежемесячный отчёт подписчикам
| Поле | Запись |
| Цель | Агентство (тариф Business) показывает клиентам состояние их доменов под собственным брендом (портал по случайному адресу, при желании с паролем и на собственном поддомене агентства). Клиент может заказать там ежемесячный отчёт по электронной почте. Отчёт отправляется от имени агентства. |
| Категории субъектов данных | Клиенты агентства и их сотрудники, заказывающие отчёт; люди, открывающие портал. |
| Категории персональных данных | Подписчик: адрес электронной почты, язык, идентификатор подтверждения, время заказа и IP-адрес на момент заказа, время подтверждения (double opt-in), время отписки, последний месяц отправки (client_subscribers). Портал: название, выбранные домены, случайный идентификатор, пароль только в виде хеша, создавшее лицо, время, отзыв доступа (client_portals). Посещения портала отражаются в журнале просмотров страниц (B.2). |
| Источник | Вводятся самими подписчиками в портале. |
| Правовое основание (определяется контролёром) | Согласие подписчика, полученное посредством двойного подтверждения; контролёром является агентство. Мы не пишем никому, кто сам не подписался и не подтвердил подписку. |
| Получатели | Агентство (видит своих подписчиков); поставщик почтового сервиса (Namecheap, Inc. (Private Email), Phoenix, Arizona, USA) для письма подтверждения и отчёта. |
| Третья страна | Через поставщика почтового сервиса; см. раздел 4. |
| Хранение | Ночной запуск удаления (cfg/fristen_lib.php, часть «подписчики портала»): неподтверждённые заказы через 30 дней; отписавшиеся подписчики через три года после отписки как доказательство прежнего согласия. Подтверждённые подписчики, не отписавшиеся от рассылки, сохраняются, пока существует рабочее пространство агентства. Портал с отозванным доступом только блокируется, а не удаляется; его подписчики больше не получают отчёты, но их данные остаются (раздел 10). Порталы и подписчики удаляются сразу вместе с рабочим пространством (fe_arbeitsbereich_daten_loeschen()). Отправленные отчёты остаются в исходящих 30 дней (B.25). |
| Технические и организационные меры | Раздел 8. В частности: пароль портала только в виде хеша, попытки подбора ограничены (десять на портал и IP-адрес, 50 на портал за 15 минут); отписка одним нажатием в каждом письме; портал показывает только состояние и основные показатели, без отдельных находок с доказательствами. |
A.3 Получатели оповещений, подтверждающие обработку лица и исполнители Клиента
| Поле | Запись |
| Цель | Уведомления о неисправностях и изменениях получателям, которых Клиент настраивает для домена: электронная почта, вебхук, Slack, Discord, Microsoft Teams, Google Chat, Telegram. Для каждого получателя немедленно либо в ежедневной или еженедельной сводке, а также отдельные получатели только для эскалаций. Каждое уведомление о проблеме становится инцидентом, принятие которого получатель может подтвердить по ссылке. Для отслеживаемых форм Клиент может указать ответственного и срок исполнения. |
| Категории субъектов данных | Сотрудники и поставщики услуг Клиента, которых Клиент указывает получателями оповещений или назначает исполнителями; люди, подтверждающие принятие инцидента. Участники команды с собственным аккаунтом также отражены в части B. |
| Категории персональных данных | Получатель оповещений: канал, адрес назначения (адрес электронной почты, адрес вебхука или чата, идентификатор чата Telegram), выбранные события, режим доставки, секрет подписи вебхуков, последняя доставка и последняя ошибка (alerts). Журнал доставки: получатель, события, состояние, ошибка, время (alert_log). Очередь сводок: строки уведомлений и ссылка до доставки (alert_queue). Инцидент: заголовок, строки уведомлений, ссылка, идентификатор подтверждения, время и имя или адрес электронной почты подтвердившего лица, введённые в форме, а иначе адрес вошедшего участника (alert_incidents). Попытки доставки эскалаций по инциденту и получателю: число попыток (не более пяти), время последней и следующей попытки и успеха, ссылка на письмо в исходящих, ошибка (таблица alert_escalation_deliveries). Назначение: аккаунт ответственного лица и срок исполнения (в monitored_forms). |
| Содержание уведомлений | Домен, событие, краткое объяснение и ссылка на страницу домена. Без содержимого сообщений посетителей. |
| Источник | Вводится Клиентом; подтверждающее лицо вводит своё имя самостоятельно; идентификатор чата Telegram создаётся, когда получатель нажимает «Начать» в боте (B.32). |
| Правовое основание (определяется контролёром) | Определяется Клиентом; как правило, организация собственной деятельности Клиента (ст. 6(1)(b) или (f) GDPR в отношении сотрудников и поставщиков услуг Клиента). |
| Получатели | Операторы выбранных каналов; см. 4.1. Оповещения по электронной почте через поставщика почтового сервиса (Namecheap, Inc. (Private Email), Phoenix, Arizona, USA). |
| Третья страна | В зависимости от выбранного канала; несколько поставщиков находятся в США, Telegram — вне ЕС без решения об адекватности. См. 4.1. |
| Хранение | Журнал доставки удаляется через 90 дней (каждую ночь, fe_alert_log_aufraeumen() из srv/cron_status.php). Уведомления сводок — через 30 дней после доставки (cfg/kanal_lib.php, при каждой доставке сводки). Инциденты — пока не разрешены; разрешённые — через 180 дней после разрешения (cfg/vorfall_lib.php, запуск эскалаций), вместе с попытками доставки их эскалаций. Получатели оповещений и назначения — до удаления Клиентом или вместе с доменом. |
| Технические и организационные меры | Раздел 8. В частности: вебхуки подписываются отдельным секретом для каждого получателя; подтверждение принятия только после клика (POST), чтобы предпросмотр ссылок в чат-программах ничего не запускал; во время окна обслуживания оповещения только регистрируются, но не отправляются. |
A.4 Люди, случайно видимые на проверяемых страницах Клиента и снимках экрана
| Поле | Запись |
| Цель | Проверка доменов в аккаунте Клиента (сканирование, мониторинг, активная проверка) читает публичные страницы Клиента и делает снимки экрана форм. Содержимое самой страницы может относиться к людям, никак не связанным с проверкой. Эти данные возникают случайно; они не являются целью проверки. |
| Категории субъектов данных | Люди, чьи имя, фотография или контактные данные появляются на проверяемой странице (контактное лицо рядом с формой, фотографии команды на главной странице, реквизиты в выходных данных). |
| Категории персональных данных | Снимки экрана: видимая область главной страницы, каждая видимая форма в виде фрагмента и изображение последующей страницы после активной тестовой отправки; хранятся файлами вне веб-каталога, в базе данных только ссылка (scan_screenshots). Структура формы: адрес страницы, селектор, имена, типы и подписи полей, признаки обязательности и видимости, подписи кнопок отправки (forms, поле «карта полей»); без значений полей. Сканер читает начало скрытых полей (до 24 символов) и атрибутов данных (до 60 символов) только во время проверки для распознавания меток времени и токенов; сохраняется только результат. Находки с доказательствами (findings), сводка с заголовками страниц (scans). Для подходящих проверок в учётных записях на платных тарифах локальная модель генерирует план действий в порядке приоритетов на основе выбранных находок и метаданных сканирования; его текст, язык, статус и метка времени сохраняются в сводке сканирования. Если в форме указан адрес электронной почты получателя, сохраняется только его домен, никогда не сам адрес. |
| Источник | Публичные страницы домена Клиента, полученные сканером. |
| Правовое основание (определяется контролёром) | Определяется Клиентом для содержимого его собственного сайта. Для нас обработка является частью порученной проверки. |
| Получатели | Клиент; в случае агентств — их клиент через портал или отчёт white-label; любой получивший ссылку на отчёт (отчёты по случайным адресам, не в поисковых системах). Если тип формы неясен, локальная языковая модель на нашем сервере получает для классификации структуру формы с заголовком страницы, её адресом и видимым текстом формы (до 400 символов); изображения она не получает. Для подходящих платных проверок локальная модель также получает имя хоста, общий результат и оценку, CMS, релевантный тип формы и адрес страницы, выявленный плагин, если он есть, и выбранные находки с отрицательным или неопределённым результатом, чтобы составить план действий. Запрос временно находится во внутренней очереди заданий и удаляется после получения результата либо при плановой очистке записей старше одного часа. |
| Третья страна | Нет. |
| Хранение | Результаты проверок домена — не более 13 месяцев; последняя завершённая проверка каждого домена сохраняется (ночной запуск удаления, часть «старые результаты проверок»). Формы, находки, ссылки на изображения и сами файлы изображений удаляются с результатом проверки. Вместе с доменом эти данные удаляются немедленно (цепочка удаления в B.15; исключения в разделе 6.4). |
| Границы маскирования | Снимки экрана полной проверки ничего не маскируют: они показывают то, что страница показывает любому посетителю. При получении поля формы пусты, поскольку сканер ничего не вводит; предварительно заполненные значения были бы видны. После входа снимки экрана не делаются (A.5). Изображения браузерных проверок маскируют поля ввода (A.6). |
| Технические и организационные меры | Раздел 8. В частности: изображения доступны только через отчёт, а идентификатор чужого изображения возвращает «не найдено»; отчёты с noindex; каждая проверка выполняется в собственном изолированном контейнере. |
Те же данные возникают при проверках без аккаунта (бесплатная проверка, исследование, проверка потенциальных клиентов). В этих случаях нет Клиента, по поручению которого мы действуем; поэтому они отражены в части B (B.5, B.7, B.8).
A.5 Учётные данные тестового аккаунта для сканирования после входа
| Поле | Запись |
| Цель | Чтение форм, появляющихся только после входа (клиентская зона, зона участников). Сканер входит с тестовым аккаунтом, созданным Клиентом на собственном сайте, и читает указанные страницы. Кроме формы входа он ничего не отправляет, не выполняет там активных тестов, не делает снимков экрана и не посещает адреса выхода, удаления или отмены. Если в форме входа есть CAPTCHA, он останавливается; CAPTCHA не обходятся. |
| Предпосылка | Подтверждённый домен, платный тариф, роль владельца или администратора, прямое подтверждение, что аккаунт тестовый. Не более пяти страниц, все на одном домене. |
| Категории субъектов данных | Лицо, на имя которого зарегистрирован тестовый аккаунт (в идеале никто; Клиенту следует использовать функциональный аккаунт); люди, чьи данные появляются на страницах после входа. |
| Категории персональных данных | Имя пользователя и пароль тестового аккаунта, только в зашифрованном виде; подсказка имени пользователя (первый символ и длина); адрес входа, список страниц, имена полей входа, признак успешного входа, создавшее лицо, время, последний результат в виде краткого кода (domain_logins). Для выполняющегося задания — копия шифротекста (поле «пакет входа» в scan_jobs). Со страниц после входа: структура формы как в A.4, без снимков экрана и без cookie. |
| Источник | Вводится Клиентом в аккаунте. |
| Правовое основание (определяется контролёром) | Определяется Клиентом. Клиент гарантирует наличие права использовать тестовый аккаунт. |
| Получатели | Нет. Ни Клиент, ни поддержка, ни программный интерфейс не могут прочитать учётные данные; интерфейс показывает только подсказку имени пользователя. |
| Третья страна | Нет. |
| Защита учётных данных | Имя пользователя и пароль шифруются сразу при сохранении открытым ключом сервера сканирования (X25519, HKDF-SHA256, AES-256-GCM; домен привязан как ассоциированные данные, поэтому шифротекст нельзя прикрепить к другому домену). Только сервер сканирования имеет закрытый ключ. Веб-сервер, база данных и резервные копии содержат только шифротекст; мы также не можем расшифровать его там. Сервер сканирования расшифровывает данные только на время запуска, передаёт их изолированному контейнеру проверки только через стандартный ввод, немедленно удаляет копию в задании и не записывает их ни в результат, ни в журнал, ни в текст ошибки. При передаче на сайт Клиента их защищает только шифрование этого сайта; границы этой передачи изложены в разделе 10. |
| Хранение | Сохранённые учётные данные — до удаления Клиентом. При удалении шифротекст перезаписывается случайными данными той же длины, а строка удаляется; ожидающие задания очищаются (fe_login_loeschen()). Вместе с доменом строка удаляется через внешний ключ. Сервер сканирования очищает копии в заданиях после запуска; оставшееся (задание прервано, сервер сканирования недоступен) очищается запуском проверки состояния не позднее чем через час (fe_login_aufraeumen(), часть «login_jobs»). Резервные копии базы данных содержат шифротекст до истечения срока копии через 14 дней. |
| Технические и организационные меры | Раздел 8. В частности: асимметричное шифрование с отдельными ключами; чёрный список путей выхода и удаления; отсутствие снимков экрана после входа; функция только для платных тарифов и подтверждённых доменов; каждое изменение в журнале действий (без учётных данных). |
Мы намеренно не предусмотрели возможности хранить учётные данные сервера Клиента, области администрирования CMS или аккаунтов хостинга. Тестовый аккаунт — аккаунт посетителя на сайте Клиента, а не доступ к системе Клиента.
A.6 Настроенные сценарии форм, браузерные проверки и независимая проверка
| Поле | Запись |
| Цель | Отслеживаемая форма проходится в реальном браузере (Chromium, WebKit или обоих) до момента непосредственно перед отправкой: загрузка страницы, предшествующие клики (не более пяти, никогда по полю ввода или кнопке отправки), заполнение полей явно синтетическими значениями (например, адресом с зарезервированным окончанием .invalid), переход по многошаговым формам. Браузерная проверка ничего не отправляет; отправка технически заблокирована в браузере. Дополнительно выполняются измерения времени и визуальные сравнения формы. |
| Категории субъектов данных | Как в A.4 (люди, видимые на странице формы); сотрудники Клиента, указанные исполнителями (A.3). |
| Категории персональных данных | Конфигурация: адрес формы, селекторы, начальный адрес, шаги кликов, выбор браузера, название, критичность, назначение, срок исполнения (monitored_forms). Результаты каждого запуска: состояние, техническая причина сбоя, очищенные сообщения об ошибках, сетевые и временные измерения, изображение формы в JPEG не более 32 КБ с замаскированными полями ввода (form_browser_runs). Наблюдения по проверке (form_observations), временные ряды (form_performance). Задания со списком целей (поля «targets» и «result» в scan_jobs). |
| Тестовый доступ | Если Клиент сохранил тестовый аккаунт (A.5), полная проверка также использует его для настроенных сценариев форм. Согласно исследованному коду, отдельные браузерные проверки между двумя полными проверками работают без тестового аккаунта. |
| Независимая проверка | Предусмотрена вторая точка проверки в другом местоположении, которая выполняла бы перепроверку перед оповещением. Она получала бы домен, очищенную конфигурацию и идентификатор задания, без ввода посетителей и учётных данных. Сейчас она не настроена (по умолчанию выключена). Без неё нет доказательства из второго местоположения; тогда оповещение основано на нашем собственном измерении. |
| Источник | Настраивается Клиентом; результаты получаются при загрузке страницы Клиента. |
| Правовое основание (определяется контролёром) | Определяется Клиентом для содержимого его сайта и обязанностей его сотрудников. |
| Получатели | Клиент; если настроена независимая точка проверки — её оператор (сейчас никто). |
| Третья страна | Нет. |
| Хранение | Результаты браузерных запусков, завершённые браузерные задания и временные ряды удаляются через 13 месяцев (ночной запуск удаления, части «browser_runs», «browser_jobs», «form_performance»). Конфигурации — до удаления домена (по отдельности их можно изменить или выключить, но не удалить); вместе с доменом они удаляются вместе с запусками, наблюдениями и временными рядами через внешние ключи. |
| Что доказывает измерение | Время и состояния из нашего проверяющего браузера. Они не измеряют опыт реальных посетителей и не доказывают ни долю завершений, ни потерянные обращения. |
| Технические и организационные меры | Раздел 8. В частности: отправка технически предотвращена; только адреса на том же домене; замаскированные изображения; изолированный контейнер проверки. |
A.7 «Fix it for me» – вставленный код формы
| Поле | Запись |
| Цель | Клиент вставляет код своей формы; языковая модель на нашем собственном оборудовании встраивает модуль защиты. В ответ возвращаются изменённый файл, патч, результат проверки синтаксиса и указание, действительно ли встроен вызов проверки. Без вставленного кода сервис выдаёт готовый модуль с именами полей из последнего сканирования. |
| Категории субъектов данных | Люди, чьи данные случайно присутствуют во вставленном коде (например, адрес получателя, имена в комментариях, учётные данные почтового сервера). |
| Категории персональных данных | Вставленный код, не более 30 000 символов. В базе данных — только запись в журнале действий (действие «fix_ai» с рабочим пространством и временем), учитываемая в дневном лимите, составляющем сейчас десять вызовов на рабочее пространство. |
| Источник | Вставляется Клиентом. |
| Правовое основание | Исполнение договора с Клиентом (ст. 6(1)(b) GDPR) для самого кода; для случайно содержащихся в нём данных третьих лиц основание определяет Клиент. |
| Получатели | Нет. Языковая модель работает на нашем собственном сервере сканирования во внутренней сети; внешнего ИИ-сервиса нет, даже в качестве резервного варианта. |
| Третья страна | Нет. |
| Хранение | Код не сохраняется. Для проверки синтаксиса создаётся временный файл, который сразу после неё удаляется. Запись журнала действий удаляется через 365 дней. |
| Примечание Клиенту | Перед вставкой код с паролями, API-ключами или персональными данными следует очистить. Мы не проверяем содержимое. |
| Технические и организационные меры | Раздел 8. В частности: только владельцы и администраторы на платных тарифах; вставленный код передаётся модели с пометкой как данные и никогда не выполняется; загрузки на сторонние серверы нет. |
A.8 Бренд white-label и контактные лица агентства
| Поле | Запись |
| Цель | Отчёты, краткие отчёты, журналы доказательств и клиентский портал агентства (тариф Business) отображаются под его брендом, по запросу — на собственном поддомене агентства. |
| Категории субъектов данных | Контактные лица агентства, чьи имя или контактные данные появляются в контактной строке. |
| Категории персональных данных | Название компании, сайт, контактная строка, заметка клиенту, акцентный цвет, оформление, файл логотипа, переключатель упоминания formexposed, собственный домен с идентификатором и состоянием подтверждения (workspace_branding). |
| Источник | Вводится агентством. |
| Правовое основание | Исполнение договора с агентством (ст. 6(1)(b) GDPR). Если контактная строка называет сотрудников агентства, основание определяет агентство. |
| Получатели | Любой, кому агентство передаёт отчёт, краткий отчёт или ссылку на портал. |
| Третья страна | Нет. |
| Хранение | До изменения агентством; бренд и файл логотипа удаляются вместе с рабочим пространством (fe_arbeitsbereich_daten_loeschen()). Собственный домен, проверка DNS которого не проходит семь дней, отключается. По умолчанию собственный домен выключен. |
| Технические и организационные меры | Раздел 8. |
A.9 Счётчики, показатели состояния и ошибки полей из плагина и расширения
| Поле | Запись |
| Цель | Раз в день плагин WordPress и расширение TYPO3 сообщают показатели форм подключённого сайта: заблокированные отправки по причинам, отправки, отправленные и неотправленные письма, показатели состояния настроек форм, сохранённые обращения по источникам и срокам хранения. Необязательно, по умолчанию выключено: события форм и категории ошибок полей по позиции поля. Эти показатели формируют раздел «Защита в цифрах», ежемесячный отчёт, оповещение об отсутствии обращений и уведомления о рискованных настройках. |
| Классификация | Показатели устроены так, чтобы не описывать ни одного человека. Мы включаем их в часть A, поскольку они возникают из событий на сайте Клиента, вызванных его посетителями; на наш взгляд, они являются персональными данными лишь в пограничных случаях (сайт с очень небольшим числом отправок в определённый день). Сама передача (ключи, версии, хост) отражена в части B (B.20). |
| Категории субъектов данных | Посетители сайта Клиента, отправляющие форму. |
| Категории персональных данных | Ежедневные показатели по хосту: заблокировано всего и по причинам, отправки, отправленные и неотправленные письма, категория ошибки отправки почты (только одна из четырёх категорий, никогда не текст ошибки, поскольку он может содержать адреса получателей), число ответов reCAPTCHA, удалённые и выпущенные из карантина обращения (plugin_stats). Состояние: версии из фиксированного списка плагинов форм, CAPTCHA и почты, числовые показатели настроек, сроки хранения (plugin_health). Уведомления об изменениях: название и версия обновлённого плагина (plugin_changes). Необязательно: счётчики по форме и дню с категориями ошибок по позиции поля (form_metrics). Никогда: ввод, имена полей, пароли, файлы, адреса электронной почты, имена, IP-адреса или постоянные идентификаторы посетителей. |
| Источник | Плагин на сайте Клиента через программный интерфейс с использованием секрета подключения сайта. |
| Правовое основание (определяется контролёром) | Определяется Клиентом; Клиент решает, активировать ли необязательные счётчики и как информировать посетителей. |
| Получатели | Клиент. Домены из ссылок в заблокированных сообщениях поступают в коллективную защиту (B.21). |
| Третья страна | Нет. |
| Хранение | Ежедневные показатели, уведомления об изменениях и счётчики форм удаляются через 13 месяцев (ночной запуск удаления, части «plugin_stats» и «form_metrics»). Показатели состояния перезаписываются с каждым сообщением. Все данные плагина для хоста удаляются, как только ни один домен в системе больше не ссылается на этот хост (немедленно при удалении последнего домена; старые данные каждую ночь, часть «orphan_hosts»). |
| Что доказывают показатели | То, что подсчитал плагин. Они не доказывают ни долю завершений, ни потерянные обращения. |
| Технические и организационные меры | Раздел 8. В частности: приём только с привязанной парой ключей сайта; принимаются только известные ключи и числа, всё остальное отбрасывается; дни вне окна в 14 дней отклоняются. |
A.10 Граница: что остаётся только на сайте Клиента
Следующие функции плагина WordPress и расширения TYPO3 обрабатывают данные исключительно на сервере Клиента. Они к нам не поступают, и доступа к ним у нас нет. Ответственность несёт только оператор сайта; он решает об активации, сроках хранения и способе информирования посетителей. Для этого плагин предлагает абзацы для политики конфиденциальности оператора.
| Функция | Что обрабатывается локально | Хранение на стороне Клиента |
| Карантин | Остановленные отправки с причиной, которые можно выпустить по электронной почте на адрес сайта | 14 дней |
| Страховочная сеть | Отправки, письмо формы которых не было отправлено, для повторной отправки (по умолчанию включена) | 30 дней |
| Арифметическая задача вместо reCAPTCHA | Вычислительная задача в браузере посетителя, без стороннего сервиса (по умолчанию выключена) | – |
| Настройки хранения | Удаление сохранённых обращений в плагинах форм по истечении срока, выбранного оператором (по умолчанию выключено) | согласно настройке |
| Ограничение частоты | краткоживущий идентификатор, производный от IP-адреса, нам не передаётся | кратковременно |
| Локальные ежедневные счётчики | Значения счётчиков до передачи | не более 14 дней |
| Средство записи для администраторов | технические селекторы и шаги навигации в сеансовом хранилище браузера вошедшего администратора; ввод не читается. Передаётся только выбранная конфигурация (затем A.6) | не более 15 минут |
| Помощь посетителям | может активироваться отдельно; не хранит черновики и не повторяет отправку автоматически | – |
| Наблюдение за новыми правилами спама | дополнительные совпадения подсчитываются локально, без автоматической активации | семь дней |
A.11 Защита форм (formconfirmed)
| Поле | Сведения |
| Цель | Оценка отправок через формы на сайтах Клиента для распознавания автоматизированных отправок: выдача и проверка задач (доказательство выполнения вычислительной работы), одноразовые проверочные токены, время заполнения, поле-ловушка, многочисленные запросы; по желанию Клиента — оценка текста сообщения языковой моделью. Только для Клиентов, включивших защиту форм. |
| Категории субъектов данных | Посетители сайтов Клиента, которые открывают страницу с защищённой формой или отправляют её. |
| Категории персональных данных | IP-адрес (хранится только в сокращённом виде и хешированным с ежедневно меняющимся ключом), адрес и домен страницы, моменты времени и время заполнения, заполнено ли поле-ловушка (да/нет), идентификатор браузера в журнале веб-сервера; только при включённой проверке содержания — текст сообщения (только в оперативной памяти). |
| Источник | Браузер посетителя (задача, проверочный токен); сервер Клиента (запрос на проверку, при необходимости текст). |
| Получатели | Клиент (балл, действие, причины). Других нет; субобработчиков для этой обработки нет. |
| Третья страна | Нет. |
| Срок хранения | Хешированный идентификатор — 1 час; использованные проверочные токены — не более 11 минут; результаты проверки без IP-адреса и без текста — 30 дней; ежедневные показатели — 400 дней; журнал веб-сервера — 14 дней; текст не хранится. |
| ТОМ | Раздел 8; дополнительно сокращение и хеширование с ежедневным ключом, подписанные задачи, однократное использование, языковая модель на собственном оборудовании без журналирования текста. |
4. Часть A – получатели, субобработчики и передачи в третьи страны
В следующей таблице перечислены получатели, которых мы сами привлекаем и которые могут получать данные части A. Определяющий, постоянно обновляемый список — страница Субобработчики; если она отличается от этой таблицы, это выявленная проблема, а не вопрос оформления.
| Получатель | Что получает | Третья страна | Основание | Состояние |
| Namecheap, Inc. (Private Email), Phoenix, Arizona, USA | Контрольный ящик проверки доставки (A.1); отправка писем оповещений (A.3), подтверждений и отчётов подписчикам портала (A.2) | Место обработки ещё нужно проверить; см. страницу «Субобработчики» | Соглашение об обработке данных; основание передачи ещё нужно проверить | Открыто. Соответствующий договор, фактические места обработки и основание передачи пока не задокументированы. Этот реестр не подтверждает ни сертификации, ни заключённого договора. |
| Namecheap, Inc. (регистратор, DNS; пересылка почты до настройки ящика) | До настройки ящика — общая входящая почта на адреса нашего домена; не копии проверки доставки, которые приходят только при MX-записях, указывающих непосредственно на ящик (A.1) | США | нужно проверить: сертификация по EU-US Data Privacy Framework или стандартные договорные положения | Используется; основание открыто. |
| Наш собственный сервер сканирования с локальной языковой моделью | Структура формы для классификации и выбранные находки с метаданными сканирования для планов действий в учётных записях на платных тарифах (A.4), вставленный код (A.7), расшифрованные данные тестового доступа только во время запуска (A.5) | – | Эксплуатируется нами, не третьим лицом | Используется. |
| Независимая точка проверки во втором местоположении | Домен, очищенная конфигурация, идентификатор задания (A.6) | зависит от местоположения | определить до ввода в эксплуатацию | Не настроена. |
Хостинг: без третьих лиц. Приложение, база данных, снимки экрана и резервные копии находятся на наших собственных серверах в Польше. При переходе в дата-центр или к облачному поставщику этот абзац необходимо переписать.
4.1 Каналы оповещений, выбранные Клиентом
Помимо привлечённых нами получателей существуют каналы, которые Клиент выбирает для своих оповещений (A.3). Наш сервер запускает передачу; Клиент определяет получателя и поставщика. Выбор канала не освобождает нас от собственных обязанностей обработчика. Для каждого поставщика необходимо определить роль, договор и гарантии, требуемые для третьих стран; для чат-сервисов это ещё не завершено (открытый вопрос для юридической проверки).
| Канал | Что отправляется | Местонахождение поставщика |
| Электронная почта | Домен, событие, объяснение, ссылка; на указанный адрес | через Namecheap, Inc. (Private Email), Phoenix, Arizona, USA |
| Вебхук на свободно выбранный адрес | Событие в JSON (домен, события, строки, ссылка, метка времени), подписанное секретом получателя | определяется Клиентом |
| Slack, Discord, Microsoft Teams, Google Chat | то же уведомление сообщением чата на указанный адрес вебхука | преимущественно США |
| Telegram | получатель выбран Клиентом; мы отправляем сообщение через нашего бота на связанный идентификатор чата | вне ЕС, решения об адекватности нет; основание передачи — открытый вопрос для юридической проверки |
Содержимое сообщения посетителя не отправляется ни в одном случае. Уведомления содержат домен, событие и ссылку.
5. Часть B – ст. 30(1): обработка под нашей собственной ответственностью
Контролёр всего в этой части: LW IT Solutions Company Lukas Wójcik, al. Tadeusza Kościuszki 80/82, lok. 301, 90-437 Łódź, Польша, contact@lukaswojcik.com. Представитель не требуется (место деятельности в Союзе). Ответственный за защиту данных не назначен (раздел 9). Технические и организационные меры: раздел 8 и страница Технические и организационные меры. Порядок осуществления прав субъектов данных описан на странице Доступ, удаление и другие Ваши права; владельцы аккаунтов могут самостоятельно скачать свои данные файлом (Настройки).
Когда мы опираемся на законные интересы (ст. 6(1)(f) GDPR), мы называем интерес и причину недостаточности менее вмешивающегося средства. Баланс интересов — наша оценка; она входит в юридическую проверку.
B.1 Посетители нашего сайта – журналы веб-сервера
| Поле | Запись |
| Цель | Работа и безопасность сайта и приложения: доставка, устранение неисправностей, обнаружение атак и перегрузки. |
| Категории субъектов данных | Каждый, кто открывает страницу formexposed.com или form.exposed, включая посетителей страниц Клиента, браузер которых загружает изображение нашего значка (B.18), получателей, открывающих ссылку отчёта или подтверждения принятия, и сайты, плагин которых вызывает наш интерфейс. |
| Категории персональных данных | Полный IP-адрес, время, запрошенный адрес, код состояния, переданные байты, ссылающаяся страница (referrer), идентификатор браузера (user agent). |
| Место хранения | Журналы доступа вышестоящего прокси и веб-сервера в виде файлов на веб-сервере, не в базе данных. |
| Источник | Браузер или программа, выполняющие запрос. |
| Правовое основание | Ст. 6(1)(f) GDPR. Интерес: безопасная и бесперебойная работа. Баланс интересов: без полного адреса нельзя связать повторные запросы одного отправителя и отражать атаки; усечённый адрес не позволяет такого различения. Журналы не объединяются с другими данными и удаляются через короткий срок. |
| Получатели | Нет. |
| Третья страна | Нет. |
| Хранение | 14 дней: ежедневная ротация с 14 поколениями, затем перезапись (системная служба ротации журналов, не ночной запуск удаления приложения). |
| Технические и организационные меры | Раздел 8. |
B.2 Журнал просмотров страниц приложения
| Поле | Запись |
| Цель | Безопасность и обнаружение злоупотреблений (кто, что и как часто запрашивает), прослеживаемость доступа к аккаунту, простая статистика использования без аналитического сервиса. |
| Категории субъектов данных | Все посетители сайта и пользователи приложения при фактических просмотрах страниц (без фоновых запросов и отправок форм). |
| Категории персональных данных | Полный IP-адрес, страна, определённая по нему при записи (локальная геобаза, без запроса третьим лицам), идентификатор аккаунта вошедших пользователей, запрошенный адрес и ссылающаяся страница (токены доступа в них, например ссылки отчётов или порталов, маскируются), идентификатор браузера и определённые по нему тип устройства, операционная система и браузер, язык, время (access_logs). Во время «Просмотра как Клиент» (B.14) идентификатор аккаунта не устанавливается, чтобы просмотры поддержки не попадали в журнал Клиента. |
| Источник | Запрос браузера. |
| Правовое основание | Ст. 6(1)(f) GDPR. Интерес: предотвращение злоупотреблений и прослеживаемость. Баланс интересов: как в B.1; срок хранения дольше, поскольку признаки злоупотреблений становятся видны за недели. Следует ли усекать IP-адрес или сокращать срок хранения — открытый вопрос для юридической проверки. |
| Получатели | Нет. Владельцы аккаунтов получают собственные просмотры страниц при экспорте данных. |
| Третья страна | Нет. |
| Хранение | 60 дней (каждую ночь между 03:00 и 03:05, srv/cron_status.php, настройка «журнал просмотров страниц»). |
| Технические и организационные меры | Раздел 8. IP-адрес берётся из перенаправленного заголовка только тогда, когда запрос поступил от нашего собственного вышестоящего прокси, и тогда только запись, добавленная этим прокси; иначе любой мог бы произвольно указать своё происхождение. |
B.3 Cookie и хранение в браузере
| Поле | Запись |
| Цель | Технически необходимое хранение: сеанс, защита от межсайтовой подделки запросов (CSRF), подсчёт лимитов проверок без аккаунта, вход, сохранение входа по запросу, светлое или тёмное оформление. |
| Категории субъектов данных | Посетители и пользователи formexposed.com. |
| Категории персональных данных | Сеансовый cookie bpid (идентификатор сеанса; заканчивается при закрытии браузера; HttpOnly, SameSite=Lax, Secure через HTTPS). Cookie bp_remember только после выбора «Оставаться в системе» (селектор и проверочное значение; 30 дней). Локальное хранилище bp_theme (светлая, тёмная или системная тема). В области администрирования дополнительно локальные настройки отображения операторов. Для лимитов из идентификатора сеанса формируется хеш; сам идентификатор не сохраняется. |
| Не устанавливаются | Нет аналитических, рекламных или отслеживающих cookie. Партнёрская программа (B.33) работает без cookie. Изображение значка на страницах Клиента не устанавливает cookie (B.18). reCAPTCHA может устанавливать cookie Google при отправке защищённой формы (B.23). |
| Правовое основание | Доступ к конечному устройству: строго необходим для запрошенной пользователем услуги (§ 25(2) подпункт 2 TDDDG, немецкий Закон о защите данных телекоммуникационных цифровых услуг; ст. 399(3) PKE, польский Закон об электронных коммуникациях (Prawo komunikacji elektronicznej)). Обработка: ст. 6(1)(b) GDPR (аккаунт) и (f) (безопасность, лимиты). |
| Получатели | Нет. |
| Третья страна | Нет. |
| Хранение | Сеанс; 30 дней для токена сохранения входа. Ночной запуск удаляет истёкшие токены сохранения входа в базе данных (remember_tokens); при выходе, смене пароля и отзыве устройства — немедленно. |
| Технические и организационные меры | Раздел 8. |
B.4 Бесплатная проверка без аккаунта – приём, лимиты и мониторинг злоупотреблений
| Поле | Запись |
| Цель | Любой может заказать проверку домена без аккаунта. Чтобы поле ввода не превратилось в оружие против сторонних сайтов, действуют многоуровневые лимиты: одна анонимная проверка домена за семь дней (затем тот же отчёт), лимиты по IP-адресу и сеансу за 24 часа, дневной лимит всей системы, блокировка очень молодых доменов, чёрный список и исключение из проверок, только публичные адреса. Подозрительные закономерности регистрируются и сообщаются оператору. Лимиты по IP-адресу, сеансу и всей системе, каждый с отдельным подсчётом, также действуют для проверки из плагина без аккаунта (плагин с привязанной парой ключей учитывается по сайту вместо адреса) и исключения из проверок (B.30); у бесплатного инструмента заголовков (B.9) собственные лимиты по IP-адресу и дню и по всей системе. |
| Категории субъектов данных | Люди, запускающие проверку, запрос инструмента заголовков или исключение из проверок; серверы с установленным плагином. |
| Категории персональных данных | Журнал каждого запроса: источник (проверка, плагин, инструмент заголовков, исключение), полный IP-адрес, хеш идентификатора сеанса, проверяемый хост, страна по IP-адресу, приём или отклонение с причиной, время (check_throttle). Аномалии: тип (IP-адрес, сеанс, страна, система), ключ (для типа «IP» полный IP-адрес), закономерность, серьёзность, краткое описание, время обнаружения и разрешения, разрешившее лицо (abuse_flags). Задание: хост, режим, уровень доверия и усечённый хеш сеанса как идентификатор инициатора (scan_jobs). Отчёт: случайный идентификатор, хост, язык, срок действия, первый просмотр, число просмотров (reports). Кешированный возраст домена из запроса к реестру (domain_age_cache). |
| Источник | Ввод человека; его запрос; запрос к реестру (RDAP) для возраста домена. |
| Правовое основание | Выполнение запрошенной проверки: ст. 6(1)(b) GDPR (использование бесплатной проверки согласно документу Условия использования); альтернативно (f). Лимиты и мониторинг: ст. 6(1)(f). Интерес: предотвращение использования сервиса как инструмента против сторонних сайтов или средства массовой рассылки спама. Баланс интересов: без привязки к адресу и сеансу лимиты невозможно применять; семидневный срок соответствует самому длительному лимиту, подсчитываемому по этим данным. |
| Получатели | Google (reCAPTCHA при отправке, B.23). Для возраста домена сканер обращается к службе перенаправления RDAP rdap.org, которая направляет к ответственному реестру; передаётся только доменное имя. При аномалии оператор получает сигнал через Telegram без переменных (без хоста и адреса). Отчёт видит тот, у кого есть его случайная ссылка. |
| Третья страна | США через reCAPTCHA (B.23). |
| Хранение | Журнал запросов 7 дней (каждую ночь, srv/cron_status.php). Разрешённые аномалии — 90 дней после разрешения; неразрешённые остаются, пока кто-нибудь их не разрешит (раздел 10). Анонимные отчёты истекают через 30 дней; затем ночной запуск удаляет отчёт, задание, результат проверки, формы, находки и изображения (fe_reports_aufraeumen()). Администратор может вручную разблокировать записи адреса; это удаляет его журнал за последние 24 часа. |
| Технические и организационные меры | Раздел 8. Аварийная остановка всех анонимных проверок в области администрирования; обратное давление, не принимающее новые бесплатные проверки при накоплении очереди. |
B.5 Проверка сторонних сайтов краулером
| Поле | Запись |
| Цель | Проверка безопасности публичных контактных форм: меры защиты от спама и злоупотреблений, функции защиты данных и доступности, встроенные сторонние скрипты, поведение после отказа в баннере cookie, мобильное отображение. Применяется к проверкам без аккаунта (B.4), доменам в аккаунте, которые ещё не подтверждены, и как основа исследования (B.7) и проверки потенциальных клиентов (B.8). Для подтверждённых доменов в аккаунте мы действуем по поручению Клиента (A.4). |
| Поведение краулера | Собственный идентификатор со ссылкой на страницу краулера; читает robots.txt перед проверкой и останавливается, если правило disallow охватывает главную страницу (также если robots.txt недоступен или возникает ошибка сервера); правила disallow для отдельных подпутей отдельно не соблюдаются. Пульс формы, получение подтверждения, инструмент заголовков и поиск открытых файлов не читают robots.txt. Не более восьми публичных страниц за проверку, дополнительно до трёх страниц с нажатием «Отклонить» в баннере cookie, до трёх страниц в мобильном представлении, активные тесты для подтверждённых доменов и до пяти страниц после входа (A.5); страницы загружаются последовательно, не параллельно; только публичные адреса, без внутренних сетей, перенаправления проверяются заново; чёрный список и исключение проверяются до приёма и повторно в сканере. Пассивно: без подтверждения контроля для Клиентов ничего не отправляется (исключение: внутренние проверки наших собственных тестовых и демонстрационных доменов, B.6). |
| Категории субъектов данных | Операторы проверяемых сайтов (если это физические лица, например индивидуальные предприниматели); люди, случайно видимые на проверяемых страницах. |
| Категории персональных данных | Как в A.4: адреса и заголовки страниц, структура формы (имена, типы и подписи полей, без значений полей), меры защиты, сторонние скрипты (адреса; идентификаторы аккаунтов пикселей и инструментов записи заменяются до сохранения), поведение баннера cookie, снимки экрана (видимая область главной страницы, формы). Если в форме появляется адрес получателя, только его домен (scans, forms, findings, scan_screenshots). |
| Источник | Публично доступные страницы. |
| Правовое основание | Ст. 6(1)(f) GDPR. Интерес: выполнение запрошенной проверки безопасности; привлечение внимания операторов сайтов к слабым местам, способным навредить посетителям. Баланс интересов: читается лишь то, что видит каждый посетитель, в небольшом объёме и без отправки чего-либо; оператор может в любое время навсегда исключить свой домен без подтверждения. Информация по ст. 14 GDPR предоставляется через страницу краулера, исключение из проверок и документ Политика конфиденциальности; достаточно ли этого по ст. 14(5)(b) — открытый вопрос для юридической проверки. |
| Получатели | Инициатор отчёта и любой, кому он передаёт случайную ссылку; локальная языковая модель на нашем собственном сервере при неясном типе формы (структура формы, заголовок и адрес страницы, видимый текст формы). Предупреждения об уязвимостях версий плагинов никогда не появляются в анонимных отчётах. |
| Третья страна | Нет. |
| Хранение | Анонимно: 30 дней (B.4). Проверка потенциальных клиентов: 90 дней (B.8). Исследование: до публикации (B.7). Домен в аккаунте: не более 13 месяцев, последняя проверка сохраняется; немедленное удаление вместе с доменом. Внутренние проверки оператора без домена и отчёта (например, созданные из командной строки): срока хранения нет (раздел 10). Временные файлы на сервере сканирования удаляются после каждого запуска. |
| Технические и организационные меры | Раздел 8. В частности: отдельный контейнер проверки с пониженными привилегиями, файловой системой только для чтения, лимитом памяти и собственной сетью; двойная проверка цели. |
B.6 Активные тестовые отправки
| Поле | Запись |
| Цель | Проверка того, принимает ли контактная форма отправку без защиты, действуют ли на сервере CAPTCHA, ловушка (honeypot), токен, валидация адреса электронной почты и ограничение частоты, а также возможно ли внедрение заголовков. |
| Предпосылка | Для Клиентов — только домены с предоставленным подтверждением контроля (DNS-запись, метатег, файл или подключённый плагин); дополнительно оператор внутренним инструментом командной строки создаёт проверки с уровнем «подтверждён» для наших собственных тестовых и демонстрационных доменов. Только при включённом глобальном переключателе, только для формы, надёжно классифицированной как общая контактная форма. Никогда для заказов, бронирований, регистраций, рассылок, платежей, загрузки файлов, обязательных полей с реальными персональными данными или доменов органов власти, медицинских либо образовательных учреждений. |
| Категории субъектов данных | Сотрудники Клиента, получающие письма форм. |
| Категории персональных данных | Тестовая отправка не содержит персональных данных: отправитель «FormExposed Security Scanner», наш собственный адрес отправителя или адрес с окончанием .invalid, обозначенная строка темы и текст на языке страницы со ссылкой на страницу краулера и исключение из проверок и номером проверки. У нас сохраняются: ответ страницы, находки, изображение последующей страницы (как в A.4). |
| Объём | Не более пяти отправок на проверку (настройка, по умолчанию 5); повторение с частотой проверок тарифа, ежедневно на самом высоком тарифе. |
| Источник | Указание Клиента. |
| Правовое основание | Исполнение договора с Клиентом (ст. 6(1)(b) GDPR); отправки поступают в собственную форму Клиента. Для получателей на стороне Клиента: организация деятельности Клиента. |
| Получатели | Клиент (его письмо формы). |
| Третья страна | Не через нас. |
| Хранение | Результаты как в A.4. |
| Технические и организационные меры | Раздел 8. Внедрение заголовков только обнаруживается, но никогда не выполняется с реальным получателем; валидация адреса электронной почты использует только домен, который не может существовать. |
B.7 Исследование «Индекс безопасности форм»
| Поле | Запись |
| Цель | Статистика защиты контактных форм в стране или отрасли. Публикуются только общие показатели, без названий сайтов; сегменты только от 20 страниц с формой. |
| Категории субъектов данных | Операторы сайтов из списка; случайно видимые люди. |
| Категории персональных данных | Как в B.5, только пассивно. Дополнительно список: хост, сегмент, состояние, задание (study_domains); исследование с названием, страной, общими результатами (studies). |
| Источник | Список публичных сайтов, составленный оператором; сами страницы. |
| Правовое основание | Ст. 6(1)(f) GDPR. Интерес: статистические сведения о состоянии безопасности форм. Баланс интересов: пассивно, с ограничением интенсивности (несколько заданий за запуск), действуют чёрный список и исключение, публикация только общих показателей, исходные данные удаляются. |
| Получатели | Общественность, только общие показатели. |
| Третья страна | Нет. |
| Хранение | Исходные данные (результаты проверок, формы, находки, изображения, задания) удаляются при публикации (fe_studie_veroeffentlichen()). Список хостов с сегментом остаётся и после неё; для него и для исследований, которые никогда не публикуются, срока хранения нет (раздел 10). Оператор решает, какие списки проверять и публиковать ли исследования. |
| Технические и организационные меры | Раздел 8. |
B.8 Проверка потенциальных клиентов (режим привлечения для агентств)
| Поле | Запись |
| Цель | Агентство (тариф Business) пассивно проверяет сайт потенциального клиента и получает краткий отчёт под своим брендом и пассивный отчёт. Мы ни с кем не связываемся; агентство само передаёт ссылку. |
| Категории субъектов данных | Оператор проверяемого сайта; случайно видимые люди; сотрудники агентства, запускающие проверку. |
| Категории персональных данных | Как в B.5, только пассивно. Дополнительно: рабочее пространство, инициатор проверки, хост, случайный идентификатор отчёта, время (prospect_checks). |
| Источник | Ввод агентства; публичные страницы. |
| Правовое основание | Ст. 6(1)(f) GDPR (наш интерес в предоставлении сервиса и интерес агентства в обоснованном обращении). Роли агентства и нас, а также обязанности агентства при передаче отчёта — открытые вопросы для юридической проверки: если агентство без запроса отправляет отчёт по электронной почте или звонит по телефону, это прямой маркетинг, требующий согласия по ст. 398 PKE и § 7(2) UWG (немецкого Закона против недобросовестной конкуренции), в том числе между предприятиями. Это ответственность агентства; Условия использования соответствующим образом обязывают его. |
| Получатели | Агентство и любой, кому оно передаёт ссылку. |
| Третья страна | Нет. |
| Хранение | Срок действия отчёта и результата проверки истекает через 90 дней, после чего они удаляются ночным запуском (fe_reports_aufraeumen()); запись проверки удаляется через 90 дней при ежедневном запуске коллективной защиты с 04:00 (srv/cron_status.php). Вместе с рабочим пространством — немедленно. |
| Технические и организационные меры | Раздел 8. Месячная квота (настройка, по умолчанию 30); та же страница в течение семи дней возвращает тот же отчёт; исключение из проверок действует. |
B.9 Инструмент заголовков без аккаунта
| Поле | Запись |
| Цель | Бесплатная оценка (от A+ до F) заголовков безопасности главной страницы домена. Два запроса, без браузера, формы и отправки. |
| Категории субъектов данных | Люди, использующие инструмент; операторы проверяемого домена. |
| Категории персональных данных | Журнал запросов как в B.4 (источник «headers», IP-адрес, хеш сеанса, хост). Результат: хост, оценка, баллы, проверенные заголовки (header_checks). |
| Правовое основание | Ст. 6(1)(f) GDPR, как в B.4 и B.5. |
| Получатели | Google (reCAPTCHA, B.23). |
| Третья страна | США через reCAPTCHA. |
| Хранение | Журнал запросов 7 дней; результаты удаляются сейчас через 90 дней (ночной запуск удаления, часть «header_checks», настройка «headers_keep_days»). Для доменов в аккаунте оценка определяется заново ежедневно и сохраняется с доменом. |
| Технические и организационные меры | Раздел 8. Лимиты по IP-адресу и дню; исключение из проверок действует. |
B.10 Аккаунты Клиентов
| Поле | Запись |
| Цель | Обслуживание клиентских аккаунтов, рабочих пространств и тарифов. |
| Категории субъектов данных | Клиенты (предприятия) и участники их команд с собственным аккаунтом. |
| Категории персональных данных | Адрес электронной почты и нормализованная форма, пароль только в виде хеша, имя (обязательно), фамилия и компания (если предоставлены); приложение не хранит адрес и номер НДС, они предоставляются только в Stripe (B.26); состояние, язык, режим отображения, валюта, тариф и состояние оплаты, идентификаторы клиента и подписки Stripe, конец расчётного периода, отмена в конце периода, идентификаторы подтверждения и сброса со сроком действия, новый адрес электронной почты до подтверждения, время регистрации, последний вход и последний IP-адрес, время отзыва всех сеансов, данные второго фактора (B.11), включение ежемесячного отчёта, время письма-напоминания, активации кодами, реферальный код и рекомендация (users). Рабочие пространства с названием, временем, состоянием (workspaces); членство с ролью и датой присоединения (workspace_users). |
| Источник | Регистрация и настройки человека; состояние оплаты из Stripe. |
| Правовое основание | Ст. 6(1)(b) GDPR (договор). Последний IP-адрес: (f) (безопасность аккаунта). |
| Получатели | Stripe (B.26); поставщик почтового сервиса для писем аккаунта (B.25). Участники одного рабочего пространства видят имя, адрес электронной почты и роль других участников. |
| Третья страна | Через Stripe и поставщика почтового сервиса. |
| Хранение | До удаления владельцем аккаунта. При удалении собственные рабочие пространства владельца, которыми больше никто не пользуется, удаляются со всеми доменами и их данными; пространства с другими участниками переходят другому участнику, в первую очередь администраторам, а среди них — имеющему наибольший стаж участия. Членство, токены сохранения входа, устройства, API-ключи, открытые коды Telegram, отзывы об отчётах (B.35) и строка аккаунта удаляются; действующая платная подписка сначала немедленно прекращается в Stripe, без возврата (www/ajax.php, fe_konto_reste_loeschen()). Напротив, отмена в области оплаты действует в конце периода; затем аккаунт продолжает работу на бесплатном тарифе. Что остаётся, изложено в разделе 6.4. Аккаунты, которые никогда не подтверждались и в которые никогда не входили, удаляются через 30 дней, если к их рабочему пространству не прикреплён другой участник (ночной запуск удаления, часть «pending_accounts»). Неактивные аккаунты не удаляются. Если договор об аккаунте прекращается иным способом, например по нашему расторжению, мы удаляем аккаунт не позднее 30 дней после окончания договора; сейчас это выполняется вручную (обязательство из Соглашения об обработке данных). |
| Технические и организационные меры | Раздел 8. |
B.11 Вход, устройства, второй фактор и журнал действий
| Поле | Запись |
| Цель | Защита аккаунтов: ограничение попыток входа и ввода других паролей, отображение вошедших устройств и отзыв их доступа, двухфакторный вход, прослеживаемость изменений. |
| Категории субъектов данных | Владельцы аккаунтов и участники команд; люди, пытающиеся войти, зарегистрироваться или ввести пароль клиентского портала. |
| Категории персональных данных | Попытки входа: IP-адрес, введённый адрес электронной почты, успех, время (login_attempts). Устройства: хеш идентификатора сеанса (никогда не сам идентификатор), ссылка на токен сохранения входа, IP-адрес, идентификатор браузера и определённые по нему браузер, операционная система и тип устройства, время входа, последней активности и отзыва доступа, а для «Просмотра как Клиент» — идентификатор сотрудника поддержки (login_sessions). Токены «Оставаться в системе»: селектор, проверочное значение, срок действия (remember_tokens). Второй фактор: секрет в зашифрованном виде, время активации, последний использованный временной шаг, коды восстановления только в виде хеша (в users). Журнал действий: аккаунт, рабочее пространство, действие, цель, подробности, IP-адрес, страна, время (audit_logs). Счётчики попыток входа, второго фактора, подтверждения пароля, сброса пароля, регистрации и паролей клиентских порталов: HMAC-ключ, производный от цели и идентификатора аккаунта (для неизвестного адреса или сброса — адрес электронной почты в нижнем регистре), IP-адреса, аккаунта и IP-адреса вместе либо идентификатора портала (также вместе с IP-адресом), число попыток, срок действия; адреса электронной почты и IP-адреса там не хранятся открытым текстом (таблица auth_attempt_buckets). |
| Правовое основание | Ст. 6(1)(b) GDPR в сочетании со ст. 32 (список устройств, второй фактор) и (f) (попытки входа, журнал действий). Интерес: защита аккаунтов от захвата, документирование изменений (ст. 5(2)). Баланс интересов: усечённый адрес не отвечает на вопрос «это был я?»; журнал действий должен сохраняться дольше спора, возникающего лишь через месяцы. |
| Получатели | Нет. Владелец аккаунта видит свои устройства и получает попытки входа, устройства и действия при экспорте данных; во время сеанса «Просмотр как Клиент» там не появляются ни IP-адрес, ни браузер сотрудника поддержки. |
| Третья страна | Нет. |
| Хранение | Попытки входа 7 дней; после успешного входа неудачные попытки с того же адреса удаляются немедленно. Счётчики попыток — до конца своего временного окна (сейчас 15 минут, один час для сброса пароля и регистрации); истёкшие удаляются при следующем обращении и ночным запуском. Устройства — 90 дней после последнего использования или отзыва доступа (ночной запуск удаления, часть «sessions»), немедленно с аккаунтом. Токены сохранения входа истекают через 30 дней. Журнал действий — 365 дней (каждую ночь); при удалении аккаунта его записи сохраняются до конца срока хранения (раздел 6.4). |
| Технические и организационные меры | Раздел 8. |
B.12 Доказательство заключения договора
| Поле | Запись |
| Цель | Доказательство того, какую версию Условий использования, Соглашения об обработке данных и Политики конфиденциальности Клиент принял или с какой ознакомился при регистрации и что Клиент использует сервис для своей предпринимательской деятельности. |
| Категории субъектов данных | Клиенты. |
| Категории персональных данных | Для каждого документа: аккаунт, документ, версия (хеш показанного текста), повод, IP-адрес, идентификатор браузера, время (legal_consents). Сама показанная версия с полным текстом, языком, заголовком и адресом, один раз на версию (legal_versions; не содержит персональных данных). |
| Правовое основание | Ст. 6(1)(b) и (f) GDPR (доказательство заключения договора, защита от требований). |
| Получатели | Нет. Владелец аккаунта получает свои записи при экспорте данных. |
| Третья страна | Нет. |
| Хранение | Пока существует аккаунт; после удаления аккаунта — четыре года с согласия, затем удаление каждую ночь (srv/cron_status.php). Обоснование в коде: трёхлетний срок давности с конца года, округлённый вверх. Требует ли польское право иного срока — часть юридической проверки. |
| Технические и организационные меры | Раздел 8. Если отсутствует любой из трёх документов, регистрация закрыта. |
B.13 Приглашения в команду
| Поле | Запись |
| Цель | Приглашение других людей в рабочее пространство. |
| Категории субъектов данных | Приглашённые лица. |
| Категории персональных данных | Адрес электронной почты, роль, идентификатор приглашения, приглашающее лицо, срок действия, время принятия (workspace_invites); письмо-приглашение в исходящих (B.25). |
| Источник | Вводится приглашающим участником. |
| Правовое основание | Ст. 6(1)(b) GDPR в отношении Клиента; в отношении приглашённого лица (f) (интерес Клиента в привлечении своей команды). |
| Получатели | Поставщик почтового сервиса (Namecheap, Inc. (Private Email), Phoenix, Arizona, USA). |
| Третья страна | Через поставщика почтового сервиса. |
| Хранение | Приглашение действительно 14 дней и только пока приглашающее лицо является владельцем или администратором рабочего пространства. Непринятые приглашения удаляются после истечения срока, принятые — через 30 дней после принятия (каждую ночь, srv/cron_status.php и часть «invites» в cfg/fristen_lib.php). Вместе с рабочим пространством — немедленно. |
| Технические и организационные меры | Раздел 8. |
B.14 «Просмотр от имени Клиента» службой поддержки
| Поле | Сведения |
| Цель | Суперадминистратор видит приложение так, как его видит Клиент, чтобы решить вопрос поддержки («у меня нет этой кнопки»). |
| Категории субъектов данных | Соответствующий Клиент; суперадминистратор. |
| Категории персональных данных | Всё, что Клиент видит в приложении. Фиксируется: отдельная строка устройства с идентификатором суперадминистратора (login_sessions), начало и окончание в журнале действий (audit_logs). |
| Правовое основание | Ст. 6(1)(b) GDPR (поддержка как часть услуги), в качестве альтернативы — (f). |
| Ограничения | Не более одного часа, затем полный выход из системы. Завершение просмотра также полностью выводит суперадминистратора из системы, включая сеанс, из которого он пришёл; вернуться в административную зону он может только после повторного входа с паролем и вторым фактором. Просмотр немедленно прекращается, если права суперадминистратора понижены или он заблокирован. Заблокировано всё, что изменяет учётную запись Клиента: пароль, адрес электронной почты, второй фактор, устройства, подписка, экспорт, удаление, передача. Во время сеанса административная зона закрыта. Клиент видит этот доступ в своём списке устройств и в экспорте данных как доступ службы поддержки. |
| Получатели | Нет. |
| Третья страна | Нет. |
| Срок хранения | Строка устройства — 90 дней, журнал действий — 365 дней. |
| ТОМ | Раздел 8. |
B.15 Домены, подтверждение контроля и мониторинг
| Поле | Сведения |
| Цель | Основная услуга для Клиентов: хранение доменов в учётной записи, подтверждение контроля, регулярная проверка и обнаружение изменений. Сюда относятся пульс формы (лёгкий запрос без браузера каждые 10–30 минут в зависимости от тарифа), ежедневный контроль почтовых DNS-записей и сертификата, дата истечения срока регистрации домена, чёрные списки, открытые файлы, версии, видимые извне, инвентаризация скриптов, визуальные изменения формы, сбои CAPTCHA и почтовых провайдеров, а также контроль уязвимостей плагинов форм. |
| Категории субъектов данных | Клиенты и члены их команд; владельцы доменов, если они являются физическими лицами. |
| Категории персональных данных | Домен с хостом, публичный идентификатор, заметка, метка клиента, тип и идентификатор подтверждения, частота проверок, мониторинг вкл./выкл., окна обслуживания, ценность обращения, идентификаторы для значка, проверки доставки и deploy-хука, ключ плагина, состояния и последние результаты контроля (DNS, сертификат, подлинность электронных писем формы, чёрные списки, открытые файлы, заголовки, версии) (domains). Пульс по каждой странице с формой (form_pulse). Уязвимости по версиям плагинов (vuln_hits). Инвентаризация скриптов с адресом, хешем, размером, одобрением с указанием одобрившего лица и причины (script_inventory, script_changes). Проверки — как в A.4. Для открытых файлов сохраняются путь, степень серьёзности и тип, но никогда не содержимое. |
| Запросы к третьим сторонам | DNS-запросы (SPF, DMARC, MX, запись подтверждения). Запрос в реестр через RDAP согласно каталогу IANA: только доменное имя. DNS-чёрные списки (SpamCop, PSBL, Mailspike, SURBL; Spamhaus — только при наличии сохранённых учётных данных доступа, в настоящее время нет): IP-адреса веб- и почтового сервера и доменное имя, без данных посетителей. Google Web Risk — только если настроен (в настоящее время нет): адрес главной страницы. Служба штампов времени: только хеш-значение (B.19). WPVulnerability: только идентификатор плагина или темы либо версия WordPress; сравнение с установленной версией плагина мы проводим сами. Страницы статуса Cloudflare, hCaptcha, Google Cloud, SendGrid, Mailgun и Brevo: не передаётся ничего, кроме самого запроса. |
| Источник | Клиент; запросы к странице Клиента; публичные каталоги. |
| Правовое основание | Ст. 6(1)(b) GDPR. |
| Получатели | Названные службы не получают персональных данных наших Клиентов, поскольку доменные имена и адреса серверов предприятий не являются персональными данными; у индивидуальных предпринимателей доменное имя может быть персональными данными. Члены рабочего пространства видят домен. |
| Третья страна | Запросы могут достигать служб в третьих странах (например, запросы в реестр, чёрные списки). Передаётся только то, что указано в строке «Запросы к третьим сторонам». |
| Срок хранения | До удаления домена. Затем fe_domain_loeschen() немедленно удаляет результаты проверок, формы, находки, изображения, отчёты, задания, адресатов оповещений и журнал оповещений, инциденты, коды Telegram, доставки, пульс, уязвимости и подтверждения; через внешние ключи — отслеживаемые формы, запуски браузера, тестовую учётную запись и счётчики форм; данные плагина хоста, если на него не ссылается ни один другой домен. Также удаляются инвентаризация скриптов домена и изменения скриптов; собственного срока хранения у них нет (раздел 6.4). Результаты проверок — не более 13 месяцев, последний сохраняется. |
| ТОМ | Раздел 8. Контроль открытых файлов и версий — только для подтверждённых доменов, не более одного запроса на путь, только первые 8 КБ; самовольное зондирование чужих путей было бы инструментом атаки. |
B.16 Оповещения, инциденты и эскалация в отношении владельца учётной записи
| Поле | Сведения |
| Цель | Информирование Клиента о неполадках и изменениях, соблюдение окон обслуживания, подтверждение и эскалация инцидентов. Если адресатами являются третьи лица, мы действуем по поручению Клиента (A.3); если это сам владелец учётной записи, это описано здесь. |
| Категории субъектов данных | Владельцы учётных записей и члены команды как получатели. |
| Категории персональных данных | Как в A.3. Уведомления отображаются на языке владельца учётной записи. |
| Правовое основание | Ст. 6(1)(b) GDPR. |
| Получатели | Почтовый провайдер; выбранные чат-сервисы (4.1). |
| Третья страна | В зависимости от канала (4.1). |
| Срок хранения | Как в A.3: журнал доставки — 90 дней, сводные уведомления — 30 дней после доставки, инциденты — до устранения и затем 180 дней. Адресаты оповещений — вместе с доменом. |
| ТОМ | Раздел 8. |
B.17 Ежемесячный отчёт для учётных записей
| Поле | Сведения |
| Цель | 1-го числа каждого месяца начиная с 08:00 (досылка до 3-го числа) — одно электронное письмо на учётную запись по всем её доменам: уровень, оценка и её изменение, оповещения, заблокированные боты, отправка электронной почты, сравнительное значение. |
| Категории субъектов данных | Активные владельцы учётных записей с включённым ежемесячным отчётом. |
| Категории персональных данных | Адрес электронной почты, язык, ключевые показатели доменов. |
| Правовое основание | Ст. 6(1)(b) GDPR (часть услуги). От рассылки можно отписаться в настройках; её можно отключить централизованно. |
| Получатели | Почтовый провайдер (Namecheap, Inc. (Private Email), Phoenix, Arizona, USA). |
| Третья страна | Через почтового провайдера. |
| Срок хранения | Отдельного хранения нет; электронное письмо остаётся в очереди исходящих 30 дней (B.25). |
| ТОМ | Раздел 8. |
B.18 Значок и публичная страница подтверждения
| Поле | Сведения |
| Цель | Клиент может встроить изображение значка на свой сайт и связать его с публичной страницей подтверждения. Значок показывает «Защищено» только в том случае, если домен подтверждён, мониторинг работает, а последняя завершённая проверка проведена не более 45 дней назад и дала результат «Защищено» или «Частично защищено»; в противном случае он нейтрально показывает «Проверка контактной формы». Страница подтверждения указывает уровень и дату, без отдельных находок. |
| Категории субъектов данных | Посетители сайта Клиента, браузер которых загружает изображение; посетители страницы подтверждения. |
| Категории персональных данных | При загрузке изображения: IP-адрес, время, запрошенный адрес, ссылающаяся страница и идентификатор браузера в журнале веб-сервера (B.1). Адрес изображения не открывает сеанс, не устанавливает cookie и не записывает данные в журнал просмотров страниц. Страница подтверждения является обычной страницей (B.2, B.3). |
| Правовое основание | Ст. 6(1)(f) GDPR. Интерес: доставка изображения и обеспечение безопасности работы. Являемся ли мы и Клиент совместными контролёрами в отношении передачи IP-адреса посетителя в смысле судебной практики о встроенном стороннем контенте и требуется ли соглашение по ст. 26 — открытый вопрос для юридической проверки. Клиент получает предлагаемый текст для своей политики конфиденциальности. |
| Получатели | Нет. |
| Третья страна | Нет. |
| Срок хранения | 14 дней (журнал веб-сервера). Изображение кешируется на один час. При отключении значка идентификатор перестаёт действовать. |
| ТОМ | Раздел 8. |
B.19 Журнал доказательств и штамп времени
| Поле | Сведения |
| Цель | Один журнал на домен и месяц (платные тарифы): что проверялось, с каким результатом, о чём сообщалось и что изменилось — в качестве доказательства для подотчётности, страховщиков или аудитов поставщиков. Каждая версия получает номер проверки; публичная страница подтверждает домен, период и ключевые показатели, без подробностей. С 7 октября 2026 г. время подтверждает служба штампов времени согласно RFC 3161. |
| Категории субъектов данных | Клиенты; косвенно — лица, которые могут быть указаны в журнале как одобрившие или подтвердившие. |
| Категории персональных данных | Домен, месяц, номер проверки, хеш содержимого (SHA-512), сводка и данные журнала, ответ со штампом времени, служба штампов времени и время, неудачные попытки (proof_docs). |
| Правовое основание | Ст. 6(1)(b) GDPR. |
| Получатели | Служба штампов времени (по умолчанию Certum, резервная — DigiCert) получает только хеш журнала, а не его содержимое. Публично: ключевые показатели через страницу подтверждения. Клиент и любое лицо, которому Клиент передаёт журнал или номер проверки. |
| Третья страна | Передачи персональных данных нет: хеш не позволяет сделать выводы о содержимом. Резервная служба находится в США. |
| Срок хранения | До удаления домена (fe_domain_loeschen()). Штамп времени не является квалифицированным штампом времени в смысле eIDAS. |
| ТОМ | Раздел 8. |
B.20 Плагин и расширение: проверка, подключение и передача данных
| Поле | Сведения |
| Цель | Плагин WordPress и расширение TYPO3 могут запросить проверку (даже без учётной записи), подключиться к учётной записи (установка считается подтверждением контроля одним щелчком в учётной записи), разблокировать функции защиты, ежедневно передавать показатели (A.9), а также немедленно сообщать об ошибках электронной почты и режиме обслуживания. |
| Категории субъектов данных | Клиенты; операторы сайтов, использующие плагин без учётной записи. |
| Категории персональных данных | По каждому хосту: версия плагина и CMS, количество проверок, идентификатор последнего отчёта, хеш секрета подключения, первый и последний контакт (plugin_sites). Одноразовые коды подключения в виде хеша со сроком действия (plugin_connect_tokens). Коды развёртывания агентства в виде хеша с префиксом, меткой, числом использований, создавшим лицом (workspace_connect_codes). Журнал запросов с IP-адресом вызывающего сервера (B.4). Ключ плагина публично виден в head сайта; это хеш секрета, а сам секрет хранится только в виде хеша и никогда не возвращается. |
| Правовое основание | Ст. 6(1)(b) GDPR (учётная запись); без учётной записи — (f) (запрошенная проверка, предотвращение злоупотреблений). |
| Получатели | Нет. |
| Третья страна | Нет. |
| Срок хранения | Данные хоста удаляются, как только на него больше не ссылается ни один домен; строка плагина без учётной записи — только через 90 дней без контакта (ночной прогон удаления, часть «orphan_hosts»). Одноразовые коды — через один день после истечения срока. Коды развёртывания — вместе с рабочим пространством. |
| ТОМ | Раздел 8. С 27 сентября 2026 г. сервер принимает только пары ключей, привязанные к сайту; более старые, непривязанные секреты подключения удалены. |
B.21 Коллективная защита
| Поле | Сведения |
| Цель | Совместная защита от спама: подключённые сайты сообщают домены ссылок в сообщениях, которые остановил их уровень защиты. Домен, который появляется как минимум на трёх сайтах как минимум с пятью срабатываниями в течение семи дней, попадает в список, который возвращается на все подключённые сайты; их уровень защиты перемещает сообщения с такими ссылками в карантин, но никогда не уничтожает их бесследно. |
| Категории субъектов данных | Владельцы сообщаемых доменов ссылок, если они являются физическими лицами (например, оператор спам-сайта под собственным именем). Не отправители и получатели сообщений: адреса, тексты и имена не передаются. |
| Категории персональных данных | Сигналы: тип, домен, сообщивший хост, день, срабатывания (swarm_signals). Список: тип, домен, количество сайтов и срабатываний, время (swarm_list). Крупные сервисы, домены наших Клиентов и исключения, заданные оператором, никогда не вносятся в список. |
| IP-сети | Обмен IP-сетями (/24, /48) подготовлен. Он отключён, и плагин их не сообщает; он будет включён только после юридической проверки, поскольку IP-адреса являются персональными данными. |
| Правовое основание | Ст. 6(1)(f) GDPR. Интерес: защита форм всех Клиентов от волн спама. Взвешивание интересов: только домены, минимальные пороги против отравления списка, никакой потери сообщений, удаление из списка возможно в любое время. |
| Получатели | Все подключённые сайты (список доменов). |
| Третья страна | В зависимости от местонахождения подключённых сайтов; список может попадать и на сайты за пределами ЕЭЗ. Персональными данными он является только в пограничных случаях (домены физических лиц). Основание передачи по главе V GDPR для таких случаев ещё предстоит определить (открытый вопрос для юридической проверки). |
| Срок хранения | Сигналы — 30 дней (ежедневный роевой прогон начиная с 04:00, cfg/swarm_lib.php). Список пересчитывается ежедневно; всё, что больше не достигает порога, выпадает из него. |
| ТОМ | Раздел 8. |
B.22 API-ключи, программный интерфейс и MCP-сервер
| Поле | Сведения |
| Цель | Доступ собственных инструментов Клиента (REST API, Zapier, Make, MCP-сервер для ИИ-ассистентов) к доменам, проверкам и инцидентам Клиента. |
| Категории субъектов данных | Клиенты, создающие ключи. |
| Категории персональных данных | Ключ только в виде хеша, префикс, метка, время создания, последнего использования и отзыва (api_keys). Вызовы в минуту (api_usage). |
| Правовое основание | Ст. 6(1)(b) GDPR. |
| Получатели | Инструмент, которому Клиент предоставляет ключ; его определяет Клиент. |
| Третья страна | В зависимости от инструмента Клиента. |
| Срок хранения | Ключи — до отзыва, немедленно вместе с учётной записью; ключи без учётной записи (унаследованные данные) — ночью. Счётчики вызовов — через один день (иногда очищаются при вызове). |
| ТОМ | Раздел 8. |
B.23 reCAPTCHA и наша собственная защита форм
| Поле | Сведения |
| Цель | Защита наших собственных форм от автоматизированного доступа: бесплатная проверка, инструмент заголовков, opt-out, вход, регистрация, забытый пароль и сброс пароля, поддержка и контакты. Кроме того, наша собственная защита без третьих сторон: ловушка (скрытое поле), подписанная проверка времени и CSRF-токен. С 29 октября 2026 г. дополнительно наша защита форм formconfirmed (доказательство выполнения вычислительной работы и одноразовый проверочный токен) для бесплатной проверки, регистрации, входа и «Забыли пароль». |
| Категории субъектов данных | Лица, отправляющие эти формы. |
| Категории персональных данных | У Google: IP-адрес, данные браузера и устройства, поведенческие данные, cookie Google. У нас: оценка Google (балл и действие) только в момент проверки, без сохранения, даже если отправка отклонена. В собственной защите форм: IP-адрес (хранится только в сокращённом и хешированном виде), страница, моменты времени, заполнено ли поле-ловушка (да/нет); никакого содержимого. |
| Момент загрузки | Скрипт Google загружается только при отправке защищённой формы, а не при открытии страницы. Собственная защита форм получает свою задачу при открытии страницы и выполняет вычисление, как только форма начинает использоваться. В системе разработки reCAPTCHA отключена. |
| Правовое основание | Ст. 6(1)(f) GDPR. Интерес: защита от ботов, особенно для бесплатной проверки, которую в противном случае можно было бы использовать против чужих сайтов. Требует ли доступ к оконечному устройству согласия по § 25 TDDDG или ст. 399 PKE, несмотря на то что скрипт загружается только при отправке, — открытый вопрос для юридической проверки. Собственная защита форм не устанавливает cookie, ничего не сохраняет в браузере и не создаёт цифровой отпечаток; она призвана в долгосрочной перспективе заменить reCAPTCHA. |
| Получатели | Google Ireland Limited; Google LLC. Для собственной защиты форм — нет. |
| Третья страна | США (только reCAPTCHA). Основание: сертификация в рамках EU-US Data Privacy Framework или стандартные договорные положения; подлежит подробному документированию. |
| Срок хранения | reCAPTCHA: у нас не хранится; у Google — согласно его правилам. Собственная защита форм: хешированный идентификатор — 1 час, использованные проверочные токены — не более 11 минут, результаты проверки без IP-адреса — 30 дней. |
| Сбой | Если Google не отвечает в течение трёх секунд или отвечает непригодным образом, отправка отклоняется; так же обстоит дело с пустым токеном и ответом для действия, отличного от действия формы. Проверка пропускается только при отключённой reCAPTCHA. В собственной защите форм отправка без действительного проверочного токена отклоняется; если сервис был недоступен для получения задачи, она допускается. |
| ТОМ | Раздел 8. |
B.24 Поддержка и контактная форма
| Поле | Сведения |
| Цель | Приём обращений и ответы на них через окно поддержки и страницу контактов. Оба канала используют один и тот же маршрут и одну и ту же таблицу. |
| Категории субъектов данных | Лица, направляющие обращения, вошедшие в систему или нет. |
| Категории персональных данных | Учётная запись (если пользователь вошёл в систему; тогда действует адрес учётной записи, а не введённый), адрес электронной почты, причина из фиксированного списка, текст до 4 000 символов, статус, полный IP-адрес, страна, идентификатор браузера, ссылающаяся страница (только собственные пути), язык, время получения и ответа (support_requests); запись в журнале действий (без текста); подтверждение получения обратившемуся лицу в очереди исходящих (B.25), с текстом до 2 000 символов только для вошедших в систему отправителей, без текста — для обращений без входа в систему. |
| Правовое основание | Ст. 6(1)(b) GDPR, если обращение касается договора; в остальных случаях — (f). Полный IP-адрес: (f) (ограничение — три обращения в час с одного адреса, предотвращение злоупотреблений). |
| Получатели | Почтовый провайдер (Namecheap, Inc. (Private Email), Phoenix, Arizona, USA) для подтверждения и ответа. Telegram получает фиксированный сигнал без каких-либо переменных («поступил новый запрос в поддержку») и, следовательно, никаких персональных данных. |
| Третья страна | Через почтового провайдера. |
| Срок хранения | 24 месяцев (ночной прогон удаления, часть «support»); вручную — раньше. При удалении учётной записи обращения сохраняются до окончания срока хранения (раздел 6.4). |
| ТОМ | Раздел 8. reCAPTCHA, наша собственная защита форм, ограничение частоты запросов. |
B.25 Отправка электронной почты (очередь исходящих)
| Поле | Сведения |
| Цель | Транзакционные электронные письма: подтверждение регистрации и новых адресов электронной почты, сброс пароля, приглашения, оповещения, ежемесячные отчёты, подтверждения и отчёты портала, подтверждения получения и ответы службы поддержки, напоминания о пробном периоде и настройке, служебные уведомления операторам. Никакой рекламы, никаких электронных писем лицам, которые не зарегистрировались сами и не были указаны Клиентом в качестве получателей. |
| Категории субъектов данных | Получатели этих электронных писем. |
| Категории персональных данных | Адрес получателя, тема, полное содержимое, адрес для ответа, назначение, маршрут отправки, статус, ошибка, попытки, время (mail_outbox). Содержимое может включать ссылки для подтверждения и сброса с действительными идентификаторами. |
| Правовое основание | Ст. 6(1)(b) GDPR; для служебных уведомлений — (f). |
| Получатели | Namecheap, Inc. (Private Email), Phoenix, Arizona, USA (отправка); владелец учётной записи видит отправленные ему электронные письма в экспорте данных (без содержимого). |
| Третья страна | В зависимости от места обработки у почтового провайдера; договор и основание передачи ещё предстоит задокументировать (раздел 4). |
| Срок хранения | 30 дней (ночью, srv/cron_status.php). Этот срок намеренно самый короткий среди журналов: длинный журнал отправки был бы коллекцией действительных ключей. Прогон статуса каждые пять минут проверяет, не пора ли повторить попытку. |
| Статус | Отправка электронной почты должна быть настроена до запуска. Пока почтовый провайдер с его местонахождением и основанием не определён, в юридических текстах стоит отметка. |
| ТОМ | Раздел 8. Неудачные электронные письма отправляются повторно с увеличивающимися интервалами и отбрасываются после максимального числа попыток. |
B.26 Платежи и выставление счетов
| Поле | Сведения |
| Цель | Заключение и управление подписками (ежемесячно или ежегодно с предоплатой), 14-дневный пробный период без карты с напоминанием за три дня до окончания, оплата по счёту для годовых подписок (по умолчанию выключена), разблокировка через коды хостеров и партнёров без оплаты, выставление счетов, хранение в налоговых целях. |
| Категории субъектов данных | Клиенты. |
| Категории персональных данных | У Stripe: адрес электронной почты, имя, платёжный адрес, номер плательщика НДС, платёжные данные, счета; в качестве метаданных — наш ID учётной записи и тариф. У нас: ID клиента и подписки в Stripe, тариф, статус, окончание периода, отмена по окончании периода (users); полученные события Stripe — только с идентификатором, типом, статусом и временем, без содержимого (stripe_events); погашения кодов хостеров с учётной записью, кампанией и сроком действия (bundle_redemptions). Данные карт к нам никогда не попадают. |
| Источник | Клиент на странице оформления оплаты Stripe; события от Stripe. |
| Правовое основание | Ст. 6(1)(b) GDPR; для хранения в налоговых целях — (c). |
| Получатели | Stripe Payments Europe Limited (Ирландия); Stripe, Inc. (США). В части обработки платежей Stripe действует под собственную ответственность; точное распределение ролей является частью юридической проверки. |
| Третья страна | США через Stripe, Inc.; основание: Data Privacy Framework или стандартные договорные положения согласно условиям Stripe. |
| Срок хранения | Платёжные поля — вместе с учётной записью; действующая подписка прекращается до удаления учётной записи. Счета и бухгалтерские документы — согласно польскому налоговому законодательству в течение пяти лет с конца года, в котором истёк срок уплаты налога; они хранятся у Stripe и могут быть получены на клиентском портале Stripe. У событий Stripe и погашений кодов нет срока хранения (раздел 6.4). |
| ТОМ | Раздел 8. События Stripe принимаются только с действительной подписью; каждое событие обрабатывается один раз. |
B.27 Резервные копии
| Поле | Сведения |
| Цель | Восстановление после ошибки: ошибочное удаление, повреждённая миграция. |
| Категории субъектов данных | Все, чьи данные находятся в базе данных. |
| Категории персональных данных | Полный сжатый дамп базы данных приложения. Снимки экрана и файлы логотипов хранятся вне базы данных и не входят в эту резервную копию. Учётные данные тестовых учётных записей содержатся в ней только в виде шифротекста (A.5). |
| Порядок | Ночью в 03:00, после прогона удаления, чтобы резервная копия не захватила то, что только что удалено по истечении сроков хранения. Дамп сохраняется только после проверки его содержимого (код завершения, количество таблиц, последняя строка). По воскресеньям тест восстановления загружает последнюю резервную копию во временную базу данных и сравнивает её таблицу за таблицей. При любом сбое операторам направляются сигнал и электронное письмо. |
| Правовое основание | Ст. 6(1)(f) GDPR во взаимосвязи со ст. 32(1)(c). |
| Получатели | Нет. |
| Третья страна | Нет. |
| Срок хранения | 14 дней; более старые дампы удаляются только после успешного создания новой резервной копии (cfg/backup_lib.php). Удаления, произведённые в этот период, затрагивают резервную копию только по истечении её срока; если данные восстанавливаются из резервной копии, запросы на удаление после этого применяются повторно. |
| Местонахождение | В настоящее время резервные копии хранятся в том же месте, что и база данных, и не зашифрованы отдельно; запланирована зашифрованная копия во втором месте (разделы 8.1 и 10). |
| ТОМ | Раздел 8. |
B.28 Журнал ошибок и оповещение об ошибках
| Поле | Сведения |
| Цель | Обнаружение и устранение ошибок до того, как о них сообщит Клиент. О новых типах ошибок и волнах ошибок сообщается операторам, плюс ежедневный обзор начиная с 08:00. |
| Категории субъектов данных | Пользователи, запрос которых вызывает ошибку; косвенно — лица, данные которых появляются в сообщении об ошибке. |
| Категории персональных данных | Уровень, источник, сообщение, контекст в формате JSON, ID учётной записи сеанса, время (error_logs). Типы ошибок: отпечаток, шаблон (из которого удалены адреса электронной почты, адреса, номера и идентификаторы), одно неизменённое образцовое сообщение длиной до 2 000 символов, первое и последнее появление, количество (error_kinds). |
| Правовое основание | Ст. 6(1)(f) GDPR (эксплуатационная безопасность, ст. 32). |
| Получатели | Операторы — по электронной почте через почтового провайдера: при новом типе ошибки — источник и исходный текст сообщения до 400 символов (без очистки), плюс ежедневное обзорное письмо; при волне ошибок отправляется только сигнал в Telegram. Telegram получает только фиксированные фразы без переменных («Возник новый тип ошибки», «Много ошибок за короткое время»). |
| Третья страна | Через почтового провайдера. |
| Срок хранения | Журнал ошибок — 90 дней (ночью). Типы ошибок — без срока хранения (раздел 10). Оповещение об ошибках включено в рабочей системе и выключено в системе разработки. |
| ТОМ | Раздел 8. |
B.29 Служебные сигналы и мониторинг состояния
| Поле | Сведения |
| Цель | Обнаружение сбоев: каждые пять минут проверка компонентов (главная страница, база данных, место на диске, heartbeat сканера, отставание очереди), страница статуса, сигнал при неполадке и при её устранении, heartbeat во внешнюю службу мониторинга, чтобы был замечен даже полный сбой; накопившаяся очередь перед сканером. |
| Категории субъектов данных | Как правило, нет. |
| Категории персональных данных | Нет. Ежедневные строки по каждому компоненту с количеством проверок и последней ошибкой (system_status_logs), heartbeat сканера (scanner_heartbeat), ежедневные ключевые показатели без привязки к личности (daily_stats). Сигналы в Telegram представляют собой фиксированные фразы без переменных; heartbeat — это запрос без содержимого. |
| Правовое основание | Не применимо, поскольку персональных данных нет; в качестве меры предосторожности — ст. 6(1)(f). |
| Получатели | Telegram (фиксированные фразы); внешняя служба мониторинга (только запрос); операторы по электронной почте. |
| Третья страна | Telegram за пределами ЕС; персональные данные не передаются. |
| Срок хранения | Строки состояния — 400 дней (ночью). |
| ТОМ | Раздел 8. |
B.30 Opt-out – исключение домена
| Поле | Сведения |
| Цель | Любой может без подтверждения навсегда исключить любой домен из проверок; блокировка немедленно действует для всех путей проверки (бесплатная проверка, плагин без учётной записи, исследование, проверка потенциального клиента, инструмент заголовков), а также для доменов платящих Клиентов с подтверждением контроля; их текущий мониторинг прекращается со следующей запланированной проверкой. Она распространяется на домен и его вариант с www, но не на другие поддомены. Снимаем её только мы — по запросу и при наличии подтверждения. Чтобы злоупотребления (например, блокировку чужих доменов конкурентом) можно было обнаружить и отменить, блокировка фиксируется в журнале. |
| Категории субъектов данных | Лица, исключающие домен. |
| Категории персональных данных | Домен, добровольно указанная причина до 250 символов, источник, IP-адрес, страна, идентификатор браузера, время; при снятии — время, лицо, снявшее блокировку, и причина (blocklist). Журнал запросов — как в B.4. |
| Правовое основание | Для исключения — ст. 6(1)(f) GDPR. Интерес: постоянное и распространяющееся на все пути проверки исполнение пожелания о том, чтобы домен не проверялся. Если исключающее лицо само является субъектом данных, исключение одновременно исполняет его возражение по ст. 21 (ст. 6(1)(c)). Для адреса, страны и идентификатора браузера — (f) (обнаружение злоупотреблений). |
| Получатели | Google (reCAPTCHA, B.23). |
| Третья страна | США через reCAPTCHA. |
| Срок хранения | IP-адрес, страна и идентификатор браузера — через 12 месяцев (ночной прогон удаления, часть «optout_ip»). Само исключение сохраняется бессрочно, чтобы оно действовало. |
| ТОМ | Раздел 8. Множество блокировок из одной страны за короткое время порождает аномалию (B.4). |
B.31 Напоминание после регистрации
| Поле | Сведения |
| Цель | Однократное электронное письмо через два–14 дней после регистрации подтверждённым учётным записям без подтверждённого домена: «Добавить сайт» или «Подтвердить домен». Без предложения, без цены, без перехода на более высокий тариф; с указанием, что письмо больше не будет отправлено. По будним дням с 09:00 до 18:00, не более 50 за прогон. |
| Категории субъектов данных | Новые владельцы учётных записей. |
| Категории персональных данных | Адрес электронной почты, язык, время отправки (поле «напоминание отправлено» в users), домен и статус подтверждения. |
| Правовое основание | Ст. 6(1)(b) GDPR (указание на настройку собственной учётной записи). Считается ли это электронное письмо сообщением в рамках договорных отношений или коммерческой информацией, требующей согласия (ст. 10 UŚUDE, польский Закон об оказании услуг электронным способом (ustawa o świadczeniu usług drogą elektroniczną); ст. 398 PKE; § 7 UWG), — открытый вопрос для юридической проверки; оператор может отключить его централизованно. |
| Получатели | Почтовый провайдер (Namecheap, Inc. (Private Email), Phoenix, Arizona, USA). |
| Третья страна | Через почтового провайдера. |
| Срок хранения | Время хранится, пока существует учётная запись; электронное письмо — 30 дней в очереди исходящих. |
| ТОМ | Раздел 8. Время устанавливается до отправки, чтобы прерывание не вызвало повторного письма. |
B.32 Telegram-бот для оповещений Клиентов
| Поле | Сведения |
| Цель | Чат Telegram привязывается как адресат оповещений: Клиент получает ссылку на нашего бота с одноразовым кодом; когда получатель нажимает «Start», наш сервер считывает код из новых сообщений боту и сохраняет ID чата. Открытая конечная точка на нашей стороне (webhook) для этого не нужна. |
| Категории субъектов данных | Клиенты и лица, чей чат Telegram привязан. |
| Категории персональных данных | Одноразовый код, домен, создавшая учётная запись, события, режим доставки, ID чата, время (telegram_links); ID чата как адресат (alerts). Telegram передаёт вместе с сообщением дополнительные сведения профиля; анализируются и сохраняются только код и ID чата. |
| Правовое основание | Ст. 6(1)(b) GDPR; для третьих лиц как получателей — A.3. |
| Получатели | Telegram. |
| Третья страна | За пределами ЕС, решения о достаточности защиты нет; выбор делает Клиент (4.1). Основание и уведомление — открытые вопросы для юридической проверки. |
| Срок хранения | Код действует 30 минут; строки привязки удаляются через один день при создании нового кода, неиспользованные коды — вместе с учётной записью и доменом. ID чата как адресат — до удаления адресата оповещений или домена. |
| ТОМ | Раздел 8. |
B.33 Партнёрская программа и коды разблокировки
| Поле | Сведения |
| Цель | Учётная запись может привлекать новых Клиентов по реферальному коду и получает комиссию с их оплаченных счетов в течение ограниченного числа месяцев. Код передаётся в адресе до регистрации; cookie не устанавливается. Хостеры и партнёры могут выпускать коды, которые разблокируют тариф на определённый период без оплаты; за неделю до окончания Клиент получает напоминание. |
| Статус | Партнёрская программа по умолчанию выключена, пока не будут введены в действие Условия партнёрской программы. |
| Категории субъектов данных | Партнёры и привлечённые Клиенты. |
| Категории персональных данных | Реферальный код, привлёкший партнёр и время привлечения (в users); комиссия с партнёром, Клиентом, ID счёта Stripe, суммой, валютой, комиссией, статусом, временем (partner_commissions). Разблокировка с тарифом, окончанием, источником, напоминанием (в users); кампании и погашения (bundle_campaigns, bundle_redemptions). |
| Правовое основание | Ст. 6(1)(b) GDPR (партнёрское соглашение); для Клиента — (f) (расчёт комиссии без передачи партнёру данных Клиента сверх суммы комиссии); налоговый учёт — (c). |
| Получатели | Партнёр видит свои комиссии. |
| Третья страна | Нет. |
| Срок хранения | Привлечение и разблокировка — вместе с учётной записью. У комиссий и погашений в коде нет срока хранения; как бухгалтерские документы комиссии подлежат хранению в налоговых целях (раздел 6.4). |
| ТОМ | Раздел 8. |
B.34 Пункт приёма сообщений об уязвимостях
| Поле | Сведения |
| Цель | Приём сообщений об уязвимостях в formexposed согласно правилам на странице Безопасность и в /.well-known/security.txt. |
| Категории субъектов данных | Сообщающие лица; лица, данные которых содержатся в сообщении в качестве доказательства. |
| Категории персональных данных | Адрес электронной почты, имя, содержание сообщения и вложения — в том виде, в каком их отправляет сообщающее лицо. Сообщение поступает к нам по электронной почте на указанный там адрес; приложение его не сохраняет. |
| Правовое основание | Ст. 6(1)(f) GDPR (безопасность услуги, ст. 32); если сообщение содержит персональные данные третьих лиц в качестве доказательства, также (f) с целью устранения уязвимости. |
| Получатели | Почтовый провайдер и, до настройки почтового ящика, переадресация домена у Namecheap (раздел 4). |
| Третья страна | Через почтового провайдера и, до перехода, через переадресацию. |
| Срок хранения | Срок хранения не установлен и технически не обеспечивается (раздел 10). Оператору ещё предстоит установить срок; очевидным подходом было бы удалять доказательства третьих лиц после устранения уязвимости, а переписку рассматривать как обращения в поддержку. |
| ТОМ | Раздел 8. |
B.35 Отзыв об отчёте
| Поле | Сведения |
| Цель | Приём отзывов под отчётом («Что-то в этом отчёте не так?») для поиска ошибок в распознавании форм. Суперадминистратор классифицирует отзыв (новый, подтверждён, исправлено, отклонён) и может скачать данные проверки из отчёта в качестве тестового случая (формы с полями, причины и находки, без снимков экрана и без активно отправленных текстов). |
| Категории субъектов данных | Лица, просматривающие отчёт, вошедшие в систему или нет. |
| Категории персональных данных | Категория и проверка из фиксированных списков, адрес страницы до 500 символов, текст до 1 000 символов, язык, время, идентификатор отчёта, проверка, хост; идентификатор учётной записи, если пользователь вошёл в систему; HMAC-SHA256 IP-адреса с секретным ключом для ограничения; статус, обработавшее лицо, время обработки (report_feedback). Журнал действий: изменения статуса и скачивания тестового случая. Ни адреса электронной почты, ни IP-адреса в открытом виде. |
| Правовое основание | Ст. 6(1)(f) GDPR (поиск и устранение ошибок распознавания; ограничение против злоупотреблений). |
| Получатели | Нет. |
| Третья страна | Нет. |
| Срок хранения | 24 месяцев (ночной прогон удаления, часть «report_feedback»); контрольная сумма IP-адреса очищается через 2 дня (часть «report_feedback_ip»); немедленно при удалении учётной записи. Скачанные тестовые случаи не содержат данных о сообщившем лице. |
| ТОМ | Раздел 8. Собственная защита форм (ловушка, подписанное время, CSRF), не более 5 отзывов в час и 20 в день на контрольную сумму, 10 на отчёт; доступно для чтения только суперадминистраторам. |
6. Хранение – что охватывает ночной прогон удаления, а что нет
Автоматическое удаление существует, и у него есть определённое место. Прогон статуса (srv/cron_status.php) запускается каждые пять минут через crontab веб-сервера — как в рабочей системе, так и в системе разработки. Он проверяет компоненты, забирает почту проверки доставки, планирует проверки и отправляет оповещения. Один раз в день, в окне с 03:00 до 03:04, он удаляет данные согласно срокам хранения, а затем создаёт резервную копию. С 27 сентября 2026 г. он дополнительно вызывает прогон сроков хранения в cfg/fristen_lib.php (fe_fristen_lauf()), части которого выполняются независимо друг от друга: если одна из них даёт сбой, остальные продолжают работу, а ошибка записывается в журнал ошибок.
Доказательство того, что прогон работает: статус резервного копирования системы разработки показывает успешную резервную копию в 03:00 11 октября 2026 г.; резервная копия создаётся в том же блоке сразу после удаления. Журнал по каждой удалённой таблице прогон записывает только в стандартный вывод, который crontab отбрасывает; постоянной записи о том, что и когда было удалено, нет (раздел 10).
Сроки хранения, которые указаны в виде заполнителей, задаются в административной зоне в настройках сроков хранения. Прогон считывает те же настройки; поэтому тексты всегда показывают срок, по истечении которого данные действительно удаляются.
6.1 Охватывается ежедневным прогоном
| Данные | Срок хранения и триггер | Место в коде |
Журнал просмотров страниц (access_logs) | 60 дней | srv/cron_status.php |
Журнал действий (audit_logs) | 365 дней | srv/cron_status.php |
Журнал ошибок (error_logs) | 90 дней | srv/cron_status.php |
Очередь исходящих (mail_outbox) | 30 дней | srv/cron_status.php |
Токены «Оставаться в системе» (remember_tokens) | по истечении срока действия (30 дней) | srv/cron_status.php |
Непринятые приглашения (workspace_invites) | по истечении срока действия (14 дней) | srv/cron_status.php |
Попытки входа (login_attempts); счётчики попыток (auth_attempt_buckets) | 7 дней; счётчики — по истечении их временного окна (в настоящее время 15 минут, один час для сброса пароля и регистрации), а также при следующем обращении | srv/cron_status.php |
Журнал запросов проверок без учётной записи (check_throttle) | 7 дней | srv/cron_status.php |
Одноразовые коды для подключения плагина (plugin_connect_tokens) | 1 день после истечения срока действия | srv/cron_status.php |
Устранённые аномалии (abuse_flags) | 90 дней после устранения | srv/cron_status.php |
| Истёкшие отчёты вместе с результатом проверки, формами, находками, изображениями и заданием (только без домена в учётной записи) | анонимные — 30 дней, потенциальные клиенты — 90 дней | fe_reports_aufraeumen() |
Журнал доставки оповещений (alert_log) | 90 дней | fe_alert_log_aufraeumen() |
Строки состояния (system_status_logs) | 400 дней | srv/cron_status.php |
Записи о согласиях удалённых учётных записей (legal_consents) | как только учётная запись удалена, а согласию исполнилось 4 года | srv/cron_status.php |
| Осиротевшие данные удалённых доменов: результаты проверок, задания, данные оповещений, инциденты, коды Telegram, доставки, пульс, уязвимости, подтверждения, инвентаризация скриптов и изменения скриптов | немедленно при следующем прогоне | fe_fristen_lauf(), части «orphan_scans», «orphan_rows» |
| Данные плагина хостов без домена; строка плагина без учётной записи | немедленно; строка — через 90 дней без контакта | часть «orphan_hosts» |
Результаты инструмента заголовков (header_checks) | в настоящее время 90 дней | часть «header_checks» |
| Результаты проверок домена с формами, находками, изображениями, отчётами, заданиями | 13 месяцев; последний завершённый по каждому домену сохраняется | часть «old_scans» |
Запуски браузера, завершённые браузерные задания, временные ряды (form_browser_runs, scan_jobs, form_performance) | 13 месяцев | части «browser_runs», «browser_jobs», «form_performance» |
Счётчики форм (form_metrics), ежедневные показатели плагина и уведомления об изменениях (plugin_stats, plugin_changes) | 13 месяцев | части «form_metrics», «plugin_stats» |
Устройства, на которых выполнен вход (login_sessions) | 90 дней после последнего использования или отзыва | часть «sessions» |
| Принятые приглашения | 30 дней после принятия | часть «invites» |
Запросы в поддержку (support_requests) | 24 месяцев | часть «support» |
Отзывы об отчётах (report_feedback) | 24 месяцев; контрольная сумма IP-адреса — 2 дня | части «report_feedback» и «report_feedback_ip» |
PDF-версии отчётов в кеше (var/pdf) | 7 дней | часть «pdf_cache» |
IP-адрес, страна и идентификатор браузера в opt-out (blocklist) | 12 месяцев; исключение сохраняется | часть «optout_ip» |
Подписчики портала (client_subscribers) | неподтверждённые — 30 дней; отписавшиеся — 3 года | часть «subscribers» |
| Никогда не подтверждённые учётные записи вместе с рабочим пространством | 30 дней без входа, если к нему не присоединён другой участник | часть «pending_accounts» |
| API-ключи без учётной записи (унаследованные данные) | немедленно | часть «api_keys» |
6.2 Вне окна 03:00
| Данные | Срок хранения и триггер | Место в коде |
| Копии в контрольном почтовом ящике проверки доставки | после обработки, каждые пять минут | fe_zustellung_abholen() |
Сопоставления проверки доставки (delivery_log) | 180 дней, при каждом получении почты | fe_zustellung_abholen() |
Шифротекст тестовой учётной записи в заданиях (scan_jobs) | после прогона, не позднее чем через один час | сервер сканирования; fe_login_aufraeumen() |
Инциденты (alert_incidents) с попытками доставки при эскалации | пока не устранены; 180 дней после устранения | fe_vorfaelle_aufraeumen() в cfg/vorfall_lib.php |
Отправленные сводные уведомления (alert_queue) | 30 дней после доставки | cfg/kanal_lib.php |
Роевые сигналы (swarm_signals) | 30 дней, ежедневно начиная с 04:00 | cfg/swarm_lib.php |
Проверки потенциальных клиентов (prospect_checks) | 90 дней, ежедневно начиная с 04:00 | srv/cron_status.php |
Коды привязки Telegram (telegram_links) | 1 день, при создании нового кода | cfg/kanal_lib.php |
Счётчики вызовов API (api_usage) | 1 день, иногда при вызове | cfg/agentur_lib.php |
Устранённые сбои провайдеров (provider_incidents), кеш уязвимостей (vuln_cache) | 90 и 30 дней соответственно; персональных данных нет | cfg/anbieter_lib.php, cfg/luecken_lib.php |
| Исходные данные исследований | при публикации | fe_studie_veroeffentlichen() |
| Резервные копии | 14 дней, после успешного создания новой резервной копии | cfg/backup_lib.php |
| Журналы веб-сервера | 14 дней | системная ротация журналов |
6.3 При удалении Клиентом
- Удаление домена (
fe_domain_loeschen()): результаты проверок с формами, находками и файлами изображений, отчёты, задания, адресаты оповещений, журнал доставки, очередь сводок, инциденты, коды Telegram, доставки, пульс, уязвимости, журналы доказательств, домен из клиентских порталов с фиксированным выбором; через внешние ключи — отслеживаемые формы с запусками браузера, наблюдениями и временными рядами, тестовая учётная запись, счётчики форм; данные плагина хоста, если на него не ссылается ни один другой домен. Инвентаризация скриптов домена и изменения скриптов также удаляются вместе с ним; собственного срока хранения у них нет (разделы 6.4 и 10). Данные без связанного домена, оставшиеся с периода до 27 сентября 2026 г., очищаются ночным прогоном (части «orphan_scans», «orphan_rows»).
- Удаление рабочего пространства (
fe_arbeitsbereich_daten_loeschen()): дополнительно бренд, включая логотип, клиентские порталы, включая подписчиков, коды развёртывания, проверки потенциальных клиентов; плюс приглашения и членства.
- Удаление учётной записи: немедленное прекращение действующей платной подписки в Stripe без возврата средств; передача или удаление собственных рабочих пространств владельца; удаление членств, токенов «Оставаться в системе», устройств, API-ключей со счётчиками, неиспользованных кодов Telegram и строки учётной записи.
- Удаление тестовой учётной записи (
fe_login_loeschen()): перезапись шифротекста, удаление строки, очистка ожидающих заданий.
6.4 Что прогон не охватывает
Этот перечень важнее. В нём названы данные, для которых нет автоматического срока хранения или которые сохраняются после удаления.
| Данные | Что действует | Оценка |
Данные учётной записи, включая последний IP-адрес (users) | до удаления владельцем учётной записи; неактивные учётные записи не удаляются | договорные данные; правило для постоянно неактивных учётных записей без подписки отсутствует |
| Журнал действий, просмотры страниц, журнал ошибок удалённой учётной записи | сохраняются с ID учётной записи и IP-адресом до окончания их срока хранения | намеренно (доказательство действий и после расторжения); ID больше не указывает на учётную запись |
| Запросы в поддержку удалённой учётной записи | сохраняются до 24 месяцев со старым ID учётной записи | намеренно; ID не очищается |
| Записи о согласиях удалённой учётной записи | пока согласию не исполнится 4 года (считая от согласия, а не от удаления учётной записи) | намеренно (раздел B.12) |
Неустранённые аномалии с IP-адресом (abuse_flags) | пока кто-нибудь их не устранит | открытый пункт (раздел 10) |
Типы ошибок с неизменённым образцовым сообщением (error_kinds) | срока хранения нет | открытый пункт (раздел 10) |
Инвентаризация скриптов и изменения скриптов (script_inventory, script_changes) | собственного срока хранения нет; хранятся, пока существует домен, и удаляются вместе с ним | открытый пункт (раздел 10) |
| Подписчики отозванных клиентских порталов | до удаления рабочего пространства | открытый пункт (раздел 10) |
| Отозванные API-ключи и коды развёртывания | до удаления учётной записи или рабочего пространства | только хеши, префикс и метка; незначительно |
Список хостов исследований (study_domains), никогда не опубликованные исследования | срока хранения нет | открытый пункт (раздел 10) |
| Внутренние проверки без домена и без отчёта (результаты проверок, формы, находки, снимки экрана) | срока хранения нет; ни один путь удаления их не охватывает | открытый пункт (раздел 10) |
| Комиссии, погашения кодов, события Stripe | срока хранения нет | значимы для бухгалтерского учёта; срок подлежит установлению согласно налоговому законодательству |
Кешированный возраст домена (domain_age_cache) | срока хранения нет | только доменное имя и дата регистрации |
| Результат аутентификации электронного письма формы с доменом отправителя | вместе с доменом; перезаписывается при каждом получении | см. A.1 |
| Исключения в opt-out | бессрочно | намеренно; без бессрочности ни одно исключение не действует |
| Электронные письма в почтовом ящике пункта приёма сообщений и в общем почтовом ящике | технического срока хранения нет | открытый пункт (раздел 10) |
6.5 Вне базы данных
- Снимки экрана хранятся в виде файлов вне веб-каталога и удаляются вместе с результатом своей проверки (все указанные выше пути удаления удаляют и файлы).
- Файлы логотипов бренда удаляются при замене и вместе с рабочим пространством.
- На сервере сканирования для каждого задания создаётся временный каталог с результатом и изображениями; он удаляется после каждого прогона, даже после ошибки.
- Резервные копии хранятся на веб-сервере (B.27).
- Журналы веб-сервера с полным IP-адресом хранятся 14 дней (B.1).
7. Автоматизированные решения, профилирование и оценка
formexposed оценивает сайты, а не людей. По нашей оценке, сервис не принимает решений, которые порождают юридические последствия для человека или аналогичным образом существенно на него влияют (ст. 22(1) GDPR). Однако существуют автоматизированные оценки и автоматические блокировки. Мы перечисляем их, чтобы классификацию можно было проверить.
| Механизм | Что он делает | Кого он затрагивает |
| Оценка и вердикт проверки | Взвешенная сумма отсутствующих уровней защиты (CAPTCHA, ловушка, токен, проверка времени, неэффективная CAPTCHA, известная открытая конфигурация), от 0 до 100; на её основе — «Уязвимо», «Частично защищено» или «Защищено». Вердикт сайта определяется по худшей контактной форме, распознанной как таковая правилами (а не языковой моделью); без контактной формы вердикта нет. Веса можно настроить в административной зоне. | Операторы сайтов; у индивидуальных предпринимателей косвенно — человек. Вердикт не имеет юридических последствий; это находка с доказательствами и инструкциями. |
| Классификация типа формы | Сначала правила, локальная языковая модель — только если правила возвращают «неизвестно». Определяет, допустима ли активная тестовая отправка (только для контактной формы, надёжно распознанной правилами). Формы, классифицированные языковой моделью, никогда не отправляются и не учитываются в оценке и вердикте. | Клиент и получатели электронных писем его формы; защитный эффект: в случае сомнений ничего не отправляется. |
| План действий в порядке приоритетов в платных отчётах | Локальная языковая модель обобщает выбранные находки с отрицательным или неопределённым результатом и метаданные сканирования в виде кратких пронумерованных шагов. Текст помечается как сводка ИИ; определяющее значение имеют отдельные находки. Он не меняет оценку сканирования, вердикт или конфигурацию сайта. | Клиент или другой уполномоченный читатель отчёта, который решает, какие шаги предпринять. |
| Значок | Показывает «Защищено» только при фиксированных условиях (B.18), в остальных случаях нейтрален. | Клиент; на посетителей не влияет. |
| Ограничения и блокировки для бесплатной проверки, инструмента заголовков и opt-out | Отклоняют запросы, если достигнуты лимиты по адресу, сеансу, домену или системе, если домен слишком молод или его возраст неизвестен, либо если он находится в списке блокировки. | Лица, направляющие запросы; последствие: в бесплатной услуге отказывается на срок от нескольких часов до нескольких дней. Администратор может разблокировать адрес; обращения через страницу контактов попадают к человеку. |
| Аномалии | Шаблоны (много доменов с одного адреса, всплески запросов, много отклонений, много opt-out из одной страны, достигнут дневной лимит) фиксируются и сообщаются. Сами по себе они не блокируют; блокировки возникают из ограничений. | Лица, направляющие запросы. |
| Блокировка входа | После в настоящее время восьми неудачных попыток входа с одного адреса в течение 15 минут вход с этого адреса временно отклоняется. Кроме того, все попытки входа, включая успешные, подсчитываются по учётной записи и IP-адресу (в настоящее время восемь), по учётной записи со всех адресов (значительно больше — против распределённого подбора) и по IP-адресу (в настоящее время 80) в течение 15 минут, так же как и коды второго фактора (десять на учётную запись в течение 15 минут); сверх этого попытки отклоняются. Поэтому неудачные попытки с другого адреса больше не блокируют владельцу доступ к учётной записи. Таким же образом ограничены подтверждения пароля (пять на учётную запись в течение 15 минут), письма для сброса (три на адрес в час, с неизменным ответом), регистрации (десять на IP-адрес в час) и попытки ввода пароля клиентского портала (десять на портал и IP-адрес, 50 на портал в течение 15 минут). | Лица, выполняющие вход, регистрирующиеся или открывающие клиентский портал; последствие ограничено по времени, сброс пароля остаётся возможным. |
| Порог reCAPTCHA | Отклоняет отправки ниже оценки Google; порог для каждого места использования (в настоящее время 0,7 для проверки и opt-out). Также отклоняются ответы для другого действия и отправки, на которые Google не отвечает в течение трёх секунд. | Лица, отправляющие наши формы; последствие: новая попытка или путь через страницу контактов. |
| Коллективная защита | Автоматически вносит домен ссылки в список при достижении минимальных порогов; уровни защиты подключённых сайтов перемещают сообщения с такими ссылками в карантин. | Отправители сообщений на страницы Клиентов. Последствие: сообщение задерживается, а не удаляется, и может быть разблокировано оператором сайта. Решение о сообщении принимает плагин оператора на сайте оператора, а не мы. |
| Сравнительные значения | «Защищён лучше, чем X % проверенных сайтов», только на основе итогов не менее чем по 20 хостам. | Операторы сайтов; без последствий. |
Ближе всего к ст. 22 находится уровень защиты плагина на страницах Клиентов, который автоматически задерживает отправки. Это обработка, осуществляемая оператором сайта на сервере оператора (A.10). Он ничего не удаляет, а перемещает сообщения в карантин, и оператор может разблокировать любое сообщение. Ни там, ни у нас профилирование посетителей не осуществляется; нет идентификатора посетителя, который связывал бы одно сообщение с другим.
8. Технические и организационные меры (ст. 32) – общее описание
Этот раздел является общим описанием согласно ст. 30(1)(g) и (2)(d) GDPR. Подробная версия находится на странице Технические и организационные меры. Каждая из приведённых ниже мер подтверждается кодом или конфигурацией. Меры, которые ещё не реализованы, приведены в том же разделе (8.1), чтобы описание было полным.
| Область | Действующая мера |
| Шифрование при передаче | HTTPS для сайта, приложения и интерфейсов; HSTS; cookie сеанса и токена «Оставаться в системе» — только по HTTPS, HttpOnly, SameSite=Lax. |
| Контроль доступа (аутентификация) | Пароли только в виде хеша, новые — не менее десяти символов и не более 72 байт; блокировка входа после повторных неудачных попыток и лимиты попыток по учётной записи и IP-адресу вместе, по учётной записи и по IP-адресу, чтобы неудачные попытки с другого адреса не блокировали владельцу доступ; лимиты попыток также для подтверждений пароля, сброса пароля (с одинаковым ответом и временем ответа), регистраций и паролей порталов; двухфакторный вход (TOTP) с зашифрованным секретом, защитой от повторного использования кодов и хешированными кодами восстановления; новый идентификатор сеанса при каждом входе, идентификаторы, не выданные сервером, не принимаются; «Оставаться в системе» — не для суперадминистраторов, каждый токен действителен только один раз; изменение адреса электронной почты делает недействительной открытую ссылку для сброса; устройства можно отозвать по отдельности или все сразу; список устройств содержит только хеш идентификатора сеанса. |
| Контроль доступа (авторизация) | Роли в каждом рабочем пространстве (владелец, администратор, читатель); права проверяются по объекту, а не по идентификатору из формы; тестовая учётная запись, «Fix it for me» и активные проверки — только для владельцев и администраторов; «Просмотр от имени Клиента» ограничен по времени и заблокирован для действий, изменяющих учётную запись, его завершение приводит к полному выходу из системы, возврат в административную зону — только с паролем и вторым фактором; приглашения действительны, только пока пригласившее лицо является владельцем или администратором; адреса webhook и чат-каналов показываются читателям только в сокращённом до хоста виде; имя хоста подтверждённого домена изменить нельзя. |
| Безопасность приложения | CSRF-токены; подготовленные запросы к базе данных; наша собственная защита форм (ловушка, подписанная проверка времени); reCAPTCHA на публичных формах; ограничение частоты запросов для поддержки, проверок и интерфейсов; только один вызов «Fix it for me» на рабочее пространство одновременно, чтобы квота соблюдалась и при одновременных запросах; Content Security Policy с защитой от встраивания во фреймы, которая разрешает выполнение только скриптов с разрешением (nonce) соответствующего ответа; IP-адрес из переадресованных заголовков — только от нашего собственного прокси и только из добавленной им записи; токены доступа маскируются в журнале просмотров страниц. |
| Секреты | API-ключи, коды развёртывания, секреты подключения плагина, одноразовые коды и пароли порталов — только в виде хеша; учётные данные тестовых учётных записей зашифрованы асимметрично, закрытый ключ — только на сервере сканирования; webhooks подписываются; события Stripe — только с действительной подписью. |
| Минимизация данных | Проверка доставки не сохраняет содержимое и полные адреса отправителей; адреса получателей в формах — только в виде домена; идентификаторы учётных записей в адресах скриптов заменяются; показатели плагина — только из фиксированных списков; тексты ошибок отправки электронной почты — только в виде категории; сигналы Telegram без переменных; изображения браузерной проверки с замаскированным вводом; никаких снимков экрана за страницей входа. |
| Изоляция сканера | Каждая проверка — в собственном контейнере: все Linux capabilities сброшены, повышение привилегий невозможно, файловая система только для чтения, лимит памяти и процессов, собственная сеть; проверка цели на частные и локальные сети до приёма и в сканере, а также после перенаправлений; service workers заблокированы, соединения WebSocket закрываются. Запросы веб-сервера (подтверждение контроля, инструмент заголовков, поиск файлов, пульс, RDAP, сертификаты, webhooks и оповещения в чатах) — только на стандартные веб-порты и только на точно проверенный адрес, webhooks и оповещения в чатах — только по HTTPS. |
| Хранение | Снимки экрана — вне веб-каталога, доступны только через отчёт; отчёты — по случайным адресам с noindex; каталог резервных копий доступен для чтения только службе. |
| Доступность и восстановление | Ночное резервное копирование с проверкой содержимого, еженедельный тест восстановления, оповещение при сбое; проверка компонентов каждые пять минут с сигналом и электронным письмом; внешний heartbeat; аварийная остановка анонимных проверок; ограничение приёма при накоплении очереди. |
| Прослеживаемость | Журнал действий для входов, изменений, удалений, доступа поддержки и одобрений; журнал ошибок с оповещением. |
| Удаление | Сроки хранения — в одном месте кода, из тех же настроек, что и тексты (раздел 6); цепочки удаления для домена, рабочего пространства и учётной записи, с исключениями из раздела 6.4. |
| Права субъектов данных | Экспорт всех данных учётной записи в файл одним щелчком на основе разрешённого списка полей, без секретов. |
| Организация | Административная зона — только для учётных записей с правами суперадминистратора, заблокирована во время «Просмотра от имени Клиента»; системы разработки и рабочая система разделены, система разработки находится за дополнительным барьером доступа; перенос юридических текстов после утверждения — через инструмент, который отклоняет черновики и заполнители. |
8.1 Ещё не реализованные меры
- Нет шифрования базы данных в состоянии покоя (по замерам на 11 октября 2026 г.). Исключение составляют учётные данные тестовых учётных записей и секрет второго фактора, которые зашифрованы на уровне полей.
- Внутренние соединения зашифрованы не полностью. Соединения внутри нашей внутренней сети зашифрованы не везде. Учётные данные тестовых учётных записей передаются там только в виде шифротекста.
- Нет резервной копии во втором месте. В настоящее время резервные копии хранятся в том же месте, что и база данных, и не зашифрованы отдельно; запланирована зашифрованная копия во втором месте. До тех пор они защищают от ошибочной команды удаления, но не от потери места размещения.
- Укрепление защиты администрирования серверов не завершено. Безопасность административного доступа к нашим серверам ещё не соответствует стандарту, который мы предусматриваем для эксплуатации; работа по укреплению продолжается. Подробности мы не публикуем, поскольку они помогли бы злоумышленнику; надзорному органу мы предоставляем их по запросу.
- Нет функционального журнала чтения в административной зоне. Действия по записи фиксируются в журнале действий; кто лишь просматривал тот или иной запрос в поддержку или отчёт, можно установить только по журналу просмотров страниц (60 дней).
- Нет постоянного журнала удалений. То, что удалил ночной прогон, не фиксируется (раздел 6).
- Нет независимой второй точки проверки. Зонд во втором месте не настроен (A.6).
9. Инспектор по защите данных – оценка согласно ст. 37 GDPR
Результат: По нашей оценке, обязанности назначать его нет. Оценка является частью юридической проверки и будет повторена, как только изменится любое из перечисленных ниже обстоятельств.
Ст. 37(1) требует назначения в трёх случаях.
- Пункт (a) (государственный орган или учреждение) не применяется.
- Пункт (b) (основная деятельность, требующая регулярного и систематического мониторинга субъектов данных в крупном масштабе): наша основная деятельность — регулярная систематическая проверка сайтов и форм, а не наблюдение за людьми. Мы не создаём профили посетителей, не используем отслеживание и не связываем одно сообщение с другим. Проверка доставки (A.1) пропускает реальные сообщения посетителей через наш почтовый ящик, но анализирует для сопоставления только заголовки и первые 8 КБ и не сохраняет содержимое; она наблюдает за маршрутами доставки, а не за людьми. Учётные записи Клиентов и журналы являются вспомогательными по отношению к коммерческой деятельности.
- Пункт (c) (крупномасштабная обработка специальных категорий по ст. 9 или данных об уголовных правонарушениях по ст. 10 в качестве основной деятельности): не выполняется. Специальные категории могут случайно встречаться в копиях электронных писем форм (A.1), на страницах за страницей входа (A.5) или во вставленном коде (A.7); случайный сбор не является основной деятельностью.
Ст. 37(4) позволяет национальному законодательству предусматривать дополнительные случаи. Мы получаем у юриста подтверждение того, требует ли польское законодательство его назначения.
Поводы для новой оценки: включение коллективной защиты с IP-сетями; функция, распознающая посетителей по нескольким сообщениям или сайтам; сохранение содержимого из проверки доставки; Клиент, формы которого преимущественно касаются специальных категорий (здоровье, заявления о приёме на работу), при включённой в крупном масштабе проверке доставки; первый сотрудник с доступом к данным клиентов. Добровольное назначение остаётся возможным; в этом случае ст. 37–39 применяются в полном объёме.
Отдельно: требуется ли оценка воздействия на защиту данных согласно ст. 35 для отдельных видов обработки, разъясняется на странице Оценка воздействия на защиту данных. Её пороговая оценка приходит к выводу, что оценка воздействия требуется для коллективной защиты (B.21) и для исследований в предполагаемом масштабе (B.7) и проводится нами, а для проверки доставки (A.1) она требуется в типичной ситуации как обязанность Клиента, которому мы в этом оказываем поддержку.
10. Открытые пункты и запланированные меры
Следующие пункты подтверждаются кодом, схемой или конфигурацией, а не предполагаются. Они описывают положение на дату этой версии; классификация является нашей собственной и не предвосхищает какую-либо юридическую оценку. Они упорядочены по их значимости для субъектов данных, а не по тому, насколько легко их устранить. Запланированные меры и их приоритет изложены в документе Оценка воздействия на защиту данных.
| Открытый пункт | Что подтверждено | Значение |
| Почтовый провайдер без задокументированного договора | Для Namecheap, Inc. (Private Email), Phoenix, Arizona, USA договор, места обработки и основание передачи не задокументированы. Через этого провайдера проходят письма учётных записей, оповещения и контрольный почтовый ящик с реальными сообщениями посетителей. | Соответствующими положениями являются ст. 28(2) и (4) и глава V GDPR. Заключение и документирование запланированы до запуска. |
| Основания для чат-сервисов и reCAPTCHA не определены | Оповещения в Telegram (нет решения о достаточности защиты), Slack, Discord, Microsoft Teams и Google Chat; reCAPTCHA без запроса согласия. | Открытые вопросы для юридической проверки; до тех пор уведомление и основание не являются окончательными. |
| Контрольный почтовый ящик может удерживать сообщения при сбоях | Удаление происходит после успешной обработки; если получение почты не удаётся, копии остаются до следующего успешного прогона. Предупреждения о том, что в почтовом ящике в течение длительного времени накапливается очередь, нет. | Копии содержат реальные обращения посетителей. |
| Нет резервной копии во втором месте, нет шифрования базы данных в состоянии покоя | Раздел 8.1. Запланирована зашифрованная копия резервной копии во втором месте. | Одно событие в месте размещения одновременно затронуло бы данные и резервную копию; украденный носитель данных был бы читаемым. |
| Неустранённые аномалии без срока хранения | Аномалии с полным IP-адресом в качестве ключа удаляются только через 90 дней после устранения; всё, что никогда не устранено, сохраняется. | Касается принципа ограничения хранения (ст. 5(1)(e)); удаление зависит от ручного устранения. Запланирован фиксированный срок хранения (меры оценки воздействия на защиту данных). |
| Типы ошибок с образцовым сообщением без срока хранения | Образцовое сообщение хранится в неизменённом виде длиной до 2 000 символов; очищенный шаблон удаляет адреса и номера, образец — нет. | Сообщения об ошибках могут содержать адреса электронной почты, имена хостов или IP-адреса. |
| Инвентаризация скриптов без собственного срока хранения | Инвентаризация скриптов и изменения скриптов удаляются вместе с доменом (FE_DOMAIN_TABELLEN), в том числе при удалении рабочего пространства или учётной записи и при ночном прогоне для осиротевших данных; собственного срока хранения у них нет. Они содержат адреса скриптов, адреса страниц, а для одобрений — одобрившее лицо и причину в свободной форме. | Касается принципа ограничения хранения (ст. 5(1)(e)); журнал изменений с одобрениями продолжает расти, пока существует домен. |
| Подписчики отозванных порталов | Отозванный портал блокируется, а не удаляется; его подписчики сохраняются до удаления рабочего пространства. | Цель (отправка отчёта) отпала с отзывом. |
| Списки исследований без срока хранения | После публикации хосты и сегменты сохраняются; никогда не опубликованные исследования также сохраняют свои исходные данные. | Обещание «исходные данные удаляются» действует только для опубликованных исследований. |
| Внутренние проверки без пути удаления | Проверки с уровнем доверия «internal», у которых нет ни домена, ни отчёта (исследования и проверки, созданные оператором из командной строки), не охватываются ни одним путём удаления; вместе с ними сохраняются формы, находки и снимки экрана чужих сайтов. | Касается принципа ограничения хранения (ст. 5(1)(e)); затрагивает лиц, которые ничего не знают о проверке. В документе Оценка воздействия на защиту данных оценено как высокий риск. |
| Подтверждение контроля не обновляется | Подтверждение контроля проверяется один раз; в коде нет пути, по которому домен снова его утрачивает. | Активные тестовые отправки, поиск файлов и сканирование после входа продолжаются после смены владельца или мандата. |
| Сканирование после входа: передача на страницу Клиента | В качестве адреса входа допускается http наряду с https, а ошибки сертификата на странице Клиента не останавливают вход. | Учётные данные тестовой учётной записи могут быть перехвачены на пути к странице Клиента. |
| Удаление зависит от временного окна | Ежедневный блок выполняется, только если прогон статуса запускается между 03:00 и 03:04. Если этот единственный прогон не удаётся (база данных недоступна, сервер перезапущен), удаление и резервное копирование за этот день не происходят; досылки нет. Что было удалено, постоянно не фиксируется. | Сроки хранения в этом случае незаметно продлеваются на один день. Пропущенное окно не вызывает оповещения; сообщается только о резервном копировании, которое запустилось и завершилось сбоем. Список настройки в административной зоне показывает дату последнего успешного резервного копирования. |
| Некоторые удаления зависят от мониторинга | Очистка контрольного почтового ящика проверки доставки, удаление инцидентов, отправленных сводных уведомлений, роевых сигналов и проверок потенциальных клиентов, а также очистка оставшихся копий тестовых учётных записей в заданиях выполняются в части планировщика прогона статуса, которая работает только при включённом в административной зоне мониторинге; сопоставления проверки доставки удаляются, только пока настроен контрольный почтовый ящик. | Если мониторинг централизованно отключён или почтовый ящик удалён, эти сроки хранения перестают действовать, и никто этого не замечает. |
| Пункт приёма сообщений и почтовые ящики без срока хранения | Сообщения об уязвимостях и другие входящие электронные письма хранятся вне приложения; срок хранения не установлен. | Сообщения могут содержать доказательства, относящиеся к третьим лицам. |
| Значения скрытых полей считываются во время проверки | Сканер считывает значение скрытых полей формы длиной до 24 символов и data-атрибутов длиной до 60 символов, чтобы распознавать метки времени и токены. В карту полей и находки попадают только имя поля, тип, подпись и результат распознавания, но не значение. | Пробела в хранении нет; значение находится только в оперативной памяти контейнера сканирования во время проверки. Предварительно заполненное значение (например, номер клиента) при этом считывается, но не сохраняется. |
| Производный домен отправителя в результате аутентификации | A.1. | Для личных доменов посетителей — персональные данные, происходящие из реального сообщения. |
| Укрепление защиты администрирования серверов не завершено; внутренние соединения зашифрованы не полностью | Раздел 8.1. Работа по укреплению продолжается; подробности публично мы не сообщаем. | Инцидент безопасности на уровне сервера одновременно затронул бы приложение, базу данных и резервные копии. |
| Замеры в системе разработки | Схема, код и настройки измерялись в системе разработки. | Код и схема совпадают с рабочей системой; настройки могут отличаться и должны быть повторно проверены там до запуска. |
11. Ведение этого реестра
Ст. 30 требует вести реестр в письменной форме и предоставлять его надзорному органу по запросу. Для этого нужен ответственный за него человек и периодичность, с которой он сверяется с системой, а не со своей предыдущей версией.
- Ответственность: Lukas Wójcik, владелец. Реестр пересматривается ежегодно и при каждом изменении вида обработки.
- События, требующие обновления: новый или изменённый субобработчик, в частности выбор почтового провайдера; новая таблица или новое поле с персональными данными; изменение сроков хранения или цепочек удаления в
cfg/fristen_lib.php или srv/cron_status.php; новый канал оповещений или новый запрос к третьей стороне; включение функции, которая по умолчанию выключена (коллективная защита с IP-сетями, зонд, собственные домены, партнёрская программа, оплата по счёту, Spamhaus или Google Web Risk); переезд на другие серверы.
- Порядок: каждое утверждение здесь основано на коде, схеме или замерах. Проверка, при которой читается только текст, ничего не проверила: схема и цепочки удаления измеряются заново, заполнители остаются заполнителями, открытые пункты закрываются или переносятся с обоснованием.
- Соотношение с другими документами: этот реестр не заменяет Политику конфиденциальности, Соглашение об обработке данных, Технические и организационные меры или перечень Субобработчиков. Если они расходятся с этим реестром, расхождение является находкой.
- Изменения в этом документе перечислены на странице Изменения договорных документов.