Персональные данные на сайте: полный разбор для владельца
Что считается персональными данными на сайте, какие обязанности это создаёт по 152-ФЗ, что нужно на страницах и в формах, и с чего начать приведение в порядок.
Содержание
- Что закон считает персональными данными
- Где сайт собирает данные, о которых владелец не думает
- Кто отвечает перед человеком: оператор и обработчик
- Обязательный минимум: что должно быть у оператора
- Согласие: чекбокс, момент получения и доказательство
- Иностранные сервисы и трансграничная передача
- Сроки: хранение, ответ на запрос, удаление
- План на неделю, если сейчас нет ничего
- Частые вопросы
- С чего начать прямо сейчас
Персональные данные на сайте это любые сведения, по которым можно определить конкретного человека: имя, телефон, почта, а заодно IP-адрес, cookie и идентификатор Метрики. Обязанностей у владельца пять: уведомить Роскомнадзор до начала обработки, опубликовать политику, брать согласие в каждой форме, хранить доказательство согласия и удалять данные в течение 30 дней после отзыва.
Статья для владельца сайта на WordPress, Битриксе или Тильде, у которого есть форма заявки и нет юриста в штате. Разберу, что именно считается данными, где сайт собирает их незаметно для хозяина, какой минимум документов нужен и в каком порядке это чинить. Юридической консультации тут нет, есть практика администратора, который приводил сайты в порядок после писем из РКН.

Тему я не люблю, но она догоняет всех. За два года ко мне пришли четыре клиента с одинаковой фразой: «нам написал Роскомнадзор, мы вообще не поняли за что». Во всех четырёх случаях на сайте была форма с телефоном и больше ничего: ни политики, ни чекбокса, ни записи в реестре операторов.
Что закон считает персональными данными
Определение в 152-ФЗ намеренно широкое: любая информация, относящаяся прямо или косвенно к определённому или определяемому физическому лицу. Закрытого перечня нет, и это сделано намеренно. Считать надо не поля формы, а возможность выйти на человека.
Телефон это персональные данные сам по себе. По номеру человека находят, поэтому аргумент «мы же не спрашиваем фамилию» в разбирательстве не работает ни разу. Почта вида p.ivanov@company.ru тоже данные: в ней читается и фамилия, и место работы.
| Что сайт получает | ПД | Комментарий |
|---|---|---|
| Имя и телефон в форме | Да | Классика, из-за неё и приходят требования |
| Только email | Почти всегда да | Личный ящик обычно содержит имя или связан с ним |
| IP в логах nginx | На практике да | Когда IP можно связать с заявкой, а у оператора связь есть |
| Cookie и ClientID Метрики | В связке с заявкой да | Отдельно это идентификатор, рядом с формой уже профиль |
| Запись Вебвизора | Да | Поля маскируются по умолчанию, но маскировку часто отключают |
| Фото сотрудника на странице «О компании» | Да | Обычное фото, не биометрия, пока по нему не устанавливают личность |
| Жалоба в форме записи к врачу | Специальная категория | Данные о здоровье, галочки на сайте уже недостаточно |
Последняя строка важнее, чем кажется. Стоматология, косметология, психолог, фитнес с анкетой: как только в форме появляется поле «опишите проблему», вы обрабатываете сведения о здоровье. Для них статья 10 требует согласия в письменной форме, а чекбокс письменной формой не является. На практике это значит отдельный документ, который человек подписывает уже в кабинете, а на сайте остаётся только имя и телефон для записи.
Где сайт собирает данные, о которых владелец не думает
Владелец обычно помнит одну точку: форму на главной. Реальных точек в среднем четыре или пять.
- Формы: заявка, обратный звонок, подписка, форма в футере, всплывающая модалка.
- Комментарии WordPress. Таблица
wp_commentsхранит имя, почту, сайт и IP автора, а спам вwp_commentsкопится годами. - Логи веб-сервера.
access.logпишет IP каждого посетителя, хостинги держат их от двух недель до полугода. - Счётчики и Вебвизор. Метрика ставит ClientID, Вебвизор пишет движение мыши и содержимое полей, если маскировку отключили.
- Онлайн-чат. JivoSite, Битрикс24 и любой другой виджет забирает переписку себе, вместе с телефоном, который человек написал в чат.
- Интеграции. Заявка уходит в CRM, в Telegram-бот, в почту и часто дублируется в базе плагина формы.
Свежий пример. Ко мне пришла студия ремонта: форма отправляет заявку на почту, дублирует в Telegram, сохраняет в базу через Flamingo и попадает в записи Вебвизора. Четыре копии телефона в четырёх местах, из которых владелец знал про одно. Причём Telegram это ещё и передача данных за границу.
Найти чужие скрипты на странице проще всего так:
curl -s https://example.ru/
| grep -oE '(src|href)="https?://[^"]+"'
| sed -E 's#.*//([^/"]+).*#1#'
| grep -v 'example.ru'
| sort | uniq -c | sort -rn
Команда выдаст список доменов, которым ваш сайт отдаёт посетителя, вместе с числом обращений. Дальше по каждому домену нужен ответ на два вопроса: что он получает и где физически лежат его серверы. Подробный порядок такой инвентаризации я разбирал в статье про аудит точек сбора данных, там же таблица для заполнения.
Кто отвечает перед человеком: оператор и обработчик
Оператор это тот, кто определяет цели обработки. Для сайта малого бизнеса оператор всегда владелец бизнеса: ИП или ООО. Не студия, которая делала сайт, не хостинг и не я как администратор.
Подрядчик, у которого есть доступ к базе с заявками, по закону обработчик: он действует по поручению оператора. Поручение оформляется договором, в нём перечисляются разрешённые действия, цели и обязанность соблюдать конфиденциальность. Отсутствие такого пункта в договоре с веб-мастером это отдельное нарушение, и его находят первым, потому что договор запрашивают сразу.
Отвечает перед человеком и перед РКН оператор. Всегда. Один клиент искренне считал, что раз сайт делала студия, то и спрос со студии. Требование пришло на ИП, штраф выписали бы тоже ИП.
Что должно быть в договоре с тем, кто трогает ваш сайт:
- перечень действий с данными, которые подрядчику разрешены;
- запрет передавать данные третьим лицам без вашего письменного согласия;
- обязанность уведомить вас об инциденте в течение нескольких часов, а не когда получится;
- порядок возврата или уничтожения данных при расторжении;
- поимённый список людей со стороны подрядчика, у которых есть доступ.
Последний пункт выглядит занудством, пока в студии не увольняется верстальщик, у которого остались логин и пароль от админки.
Обязательный минимум: что должно быть у оператора
Тут нет вилки «можно и так, и так». Либо это есть, либо нарушение зафиксировано за пять минут проверки без выезда.
| Что нужно | Где это живёт | Штраф для юрлица, если нет |
|---|---|---|
| Уведомление в реестр операторов | pd.rkn.gov.ru, подаётся до начала обработки | 100 000 — 300 000 руб. |
| Политика обработки ПД в открытом доступе | Отдельная страница, ссылка в футере на всех страницах | до 100 000 руб. |
| Согласие субъекта на обработку | Чекбокс в каждой форме плюс лог | 300 000 — 700 000 руб. |
| Приказ о назначении ответственного за организацию обработки | Внутренний документ, на сайте не публикуется | входит в состав «мер по статье 18.1» |
| Перечень мер по защите данных | Внутренний документ | запрашивают вместе с политикой |
Суммы выше это редакция КоАП, действующая с мая 2025 года. Для ИП по большинству составов санкции ниже юрлицевых, но десятки тысяч рублей за отсутствие политики выписывают спокойно. Отдельно скажу про утечку: если данные утекли, вилка начинается от 3 млн рублей и растёт вместе с числом пострадавших, а за повторную утечку введён оборотный штраф. Плюс с декабря 2024 в УК появилась статья 272.1 за незаконное использование и передачу персональных данных.
Реквизиты оператора в политике должны быть настоящие: наименование или ФИО предпринимателя, ИНН, ОГРН или ОГРНИП, адрес и рабочий контакт для обращений. Почта вида info@ подходит, лишь бы её кто-то читал: срок ответа на запрос человека считается с момента доставки, а не с момента, когда вы туда заглянули.
Согласие: чекбокс, момент получения и доказательство
Статья 9 требует, чтобы согласие было конкретным, предметным, информированным и однозначным. На практике всё упирается в детали вёрстки формы.
Галочка не должна стоять заранее. Предустановленный чекбокс не является действием человека, а значит согласия нет вообще. Это самая частая правка, которую я делаю в чужих формах.
Рекламная рассылка требует отдельного чекбокса. Согласие на обработку заявки не даёт вам права слать письма про акции: это другая цель и другой закон (статья 18 закона о рекламе). Два чекбокса выглядят некрасиво, зато не превращают одну проверку в две.
Ссылки рядом с чекбоксом должны открываться. Звучит смешно, но битая ссылка на политику встречается в каждом третьем сайте, который я принимаю на обслуживание.
Дальше вопрос доказательства. Если человек скажет «я ничего не отмечал», доказывать факт согласия придётся вам. Значит, момент отправки формы надо фиксировать:
$record = [
'ts' => gmdate('c'),
'ip' => $_SERVER['REMOTE_ADDR'] ?? '',
'ua' => substr($_SERVER['HTTP_USER_AGENT'] ?? '', 0, 200),
'form' => 'contact',
'consent' => isset($_POST['consent']) ? 1 : 0,
'policy_v' => 'privacy-2026-03-01',
'subject' => hash('sha256', $phone . '|' . $email),
];
file_put_contents(
__DIR__ . '/../private/consent.log',
json_encode($record, JSON_UNESCAPED_UNICODE) . PHP_EOL,
FILE_APPEND | LOCK_EX
);
Два момента, на которых спотыкаются. Первый: файл лежит выше корня сайта, в папке private. Лог согласий внутри public_html доступен по прямой ссылке и сам становится утечкой, причём готовой к скачиванию. Второй: поле policy_v это версия текста, который человек видел. Политику вы будете править, а доказывать надо согласие на ту редакцию, что была на экране в тот день. Хранить старые версии придётся столько же, сколько сами данные.
Формулировки текста рядом с чекбоксом и типовые ошибки в них я разобрал отдельно в материале про оформление согласия на обработку ПД.
Иностранные сервисы и трансграничная передача
Отдельная головная боль, потому что нарушение возникает без единого действия владельца. Сервис подключён много лет назад, работает молча, данные уезжают.
Что уезжает за границу чаще всего:
- Google Analytics и Google Tag Manager;
- Google Fonts, подключённые ссылкой на CDN (передаёт IP посетителя при каждой загрузке страницы);
- reCAPTCHA;
- выгрузка заявок в Google Таблицы;
- рассылки через Mailchimp и SendPulse на зарубежных серверах;
- Telegram-бот, в который падают заявки.
Уведомление о намерении передавать данные за границу подаётся в РКН отдельно от основного и до первой передачи. Для стран, которые не обеспечивают адекватную защиту, регулятор рассматривает его до 10 рабочих дней и может передачу запретить.
Плюс требование локализации из части 5 статьи 18: первичная запись данных граждан России должна происходить в базе на территории России. Сайт на зарубежном хостинге с формой заявки нарушает это условие независимо от того, что вы подавали в реестр.
На клиентских сайтах я обычно закрываю вопрос заменами, а не бумагой:
| Что было | На что меняю | Цена вопроса |
|---|---|---|
| Google Analytics | Яндекс Метрика | 0 руб., полдня на перенос целей |
| Google Fonts с CDN | Шрифты файлами на своём домене | 0 руб., плюс сайт грузится быстрее |
| reCAPTCHA | Honeypot и лимит отправок | 0 руб., 1-2 часа работы |
| Выгрузка в Google Таблицы | Яндекс Документы или своя таблица в базе | 0 руб. |
| Хостинг за рубежом | Российский хостинг из реестра | от 200 руб. в месяц плюс перенос |
Замена дешевле уведомления и не требует ждать решения регулятора. Что делать, если сервис заменить нечем, я подробно расписал в статье про трансграничную передачу данных.
Сроки: хранение, ответ на запрос, удаление
Данные нельзя хранить дольше, чем нужно для цели. «Пусть лежит, вдруг пригодится» это не цель.
| Событие | Срок |
|---|---|
| Ответ на запрос человека о его данных | 10 рабочих дней, продление ещё до 5 |
| Отзыв согласия | прекратить обработку и уничтожить за 30 дней |
| Цель обработки достигнута | уничтожить за 30 дней |
| Первичное уведомление РКН об утечке | 24 часа |
| Результаты внутреннего расследования утечки | 72 часа |
| Изменение сведений в уведомлении о реестре | до 15 числа месяца, следующего за месяцем изменений |
Практический вывод: в политике надо написать конкретный срок хранения заявок и реально его соблюдать. Я обычно ставлю год с даты обращения, для магазинов дольше, потому что там гарантии и возвраты.
Соблюдать это значит чистить базу по расписанию. Для WordPress с плагином формы, который складывает заявки в записи, годится обычный wp-cli:
wp post list --post_type=flamingo_inbound --before='2025-10-27' --format=ids
| xargs -r wp post delete --force
После удаления нужен акт об уничтожении: приказ РКН требует подтверждать факт документом, а при автоматизированной обработке ещё и выгрузкой из журнала событий. Акт это одна страница с датой, перечнем и подписью, но без него удаление формально не доказано.
Проверьте заодно бэкапы. Человек отозвал согласие, вы вычистили базу, а его телефон остался в шести архивах на Яндекс Диске. Формально данные вы продолжаете хранить. Разумный компромисс: короткий срок жизни бэкапов (у меня это 30 дней для ежедневных копий) и запись в политике о том, что данные удаляются в том числе из резервных копий по мере их ротации. Что делать, если утечка всё-таки случилась, разобрано в инструкции на первые 24 часа.
План на неделю, если сейчас нет ничего
Порядок именно такой. Начинать с уведомления в РКН, не разобравшись, что вы собираете, бессмысленно: уведомление придётся подавать заново.
Шаг 1. Собрать перечень точек сбора
Пройдите сайт руками, выпишите каждую форму, чат, счётчик и виджет. Прогоните команду с curl из раздела выше и добавьте домены, которых не ждали. На выходе таблица: точка, состав данных, куда уходит, где хранится. Полтора часа для визитки, полдня для магазина.
Шаг 2. Выключить лишнее
Каждая точка сбора, которая не нужна для работы, это лишний риск и лишняя строка в уведомлении. Поле «дата рождения» в форме записи, чат, в который никто не отвечает второй год, счётчик от прошлого подрядчика. Выключайте без сожалений: минус точка, минус обязанность.
Шаг 3. Написать политику и текст согласия
Шаблон из интернета берите как каркас, но реквизиты, перечень данных, цели и сроки подставляйте свои. Проверяющий сверяет политику с тем, что реально собирает сайт. Расхождение вроде «в политике три поля, в форме шесть» считается недостоверными сведениями.
Шаг 4. Починить формы
Чекбокс без предустановленной галочки, ссылки на политику и текст согласия рабочие, отдельная галочка на рассылку, лог согласий выше корня сайта. Заодно уберите с фронтенда всё, что не нужно отправлять на сервер. День работы на три формы.
Шаг 5. Подать уведомление в Роскомнадзор
Форма на pd.rkn.gov.ru, подписывается через Госуслуги. Заполняется час, если перечень из шага 1 уже готов. Записи в реестре ждать около месяца, но обязанность считается исполненной с момента подачи.
Шаг 6. Назначить ответственного и настроить удаление
Приказ о назначении ответственного за организацию обработки (в ИП это обычно сам предприниматель), перечень мер защиты и задание в планировщике на чистку старых заявок. Полдня.
Чек-лист готовности. Отметьте то, что уже сделано:
- ссылка на политику стоит в футере каждой страницы, включая страницу благодарности за заявку;
- в каждой форме есть непредустановленный чекбокс со ссылками, которые открываются;
- согласия пишутся в лог с датой, IP и версией политики;
- организация или ИП числится в реестре операторов на pd.rkn.gov.ru;
- сайт и база лежат на российском хостинге;
- иностранные сервисы заменены либо заявлены в уведомлении о трансграничной передаче;
- срок хранения заявок написан в политике и соблюдается автоматически;
- в договоре с подрядчиком есть пункт про обработку по поручению.
Если галочек меньше пяти, вы находитесь ровно в той точке, из которой ко мне пришли те четыре клиента. По деньгам приведение сайта в порядок под ключ обходится в 8 000 — 15 000 рублей разово (документы, правка форм, лог согласий, замена иностранных сервисов), либо входит в абонентское обслуживание без отдельного счёта. Условия и состав работ есть в тарифах.
Частые вопросы
Нужно ли подавать уведомление в РКН, если на сайте только форма обратной связи?
Да. С сентября 2022 года перечень исключений сузили почти до нуля, и обычная форма с именем и телефоном под них не попадает. Подаётся уведомление на pd.rkn.gov.ru через Госуслуги, заполнение занимает около часа. Штраф за неподачу для юридического лица составляет от 100 000 до 300 000 рублей.
Считается ли IP-адрес персональными данными?
На практике да, если у вас есть возможность связать адрес с конкретным человеком. У владельца сайта такая возможность обычно есть: рядом с IP в логах лежит заявка с телефоном. Спор об этом ведётся годами, но в проверках РКН исходит из широкого толкования, поэтому логи разумнее считать данными.
Что будет, если на сайте нет политики конфиденциальности?
Отсутствие политики в открытом доступе фиксируется за пять минут без выезда и без жалобы: достаточно открыть сайт. Для юридического лица штраф доходит до 100 000 рублей, для ИП сумма ниже. Обычно проверяющий смотрит и другие пункты сразу, поэтому одним нарушением дело не заканчивается.
Можно ли использовать Google Analytics на российском сайте?
Технически можно, юридически это трансграничная передача данных в страну без адекватного уровня защиты. Значит, нужно отдельное уведомление в РКН до начала передачи и готовность к запрету. Проще перенести цели в Яндекс Метрику: работы на полдня, стоимость нулевая, вопрос закрывается полностью.
С чего начать прямо сейчас
Откройте свой сайт и посмотрите две вещи: есть ли ссылка на политику в футере и стоит ли галочка согласия в форме заранее. Это тридцать секунд, и они дают понять, в каком вы состоянии.
Если ссылки нет или галочка предустановлена, дальше действуйте по шагам выше. Если разбираться некогда либо уже пришло письмо из Роскомнадзора со сроком ответа, напишите мне: за неделю приведём сайт в состояние, в котором проверять нечего.