Зачем вообще это делать
Началось всё банально. У нас в «Консоли» исторически много клиентов на IT-аутсорсинге — малый и средний бизнес Петрозаводска и Карелии. И вот в феврале 2026-го по нам прокатилась волна запросов: «Павел, а у нас сайт соответствует 152-ФЗ? А VK-группа? А форма обратной связи?» Кто-то получил письмо от Роскомнадзора, кто-то просто прочитал в Telegram страшилку про штрафы до 18 миллионов.
Я сел и честно проверил один сайт вручную. Ушло три часа: открыть политику, прогнать по чек-листу (согласия, сроки, цели обработки, ответственный, форма отзыва согласия, cookie-баннер, трансграничка), сверить с последней редакцией закона, написать отчёт. Три часа — это если ты уже знаешь, куда смотреть. Стало очевидно: ручная проверка не масштабируется, а автоматической проверки на рынке нет (юристы хотят от 15 тысяч за аудит, это не про массовый рынок).
Так появилась идея PDNGuard — SaaS-сервис, который делает аудит сайта или VK-группы за 30 секунд и выдаёт отчёт с конкретными пунктами закона, которые нарушены.
Challenge: почему это сложнее, чем кажется
Казалось бы, берём LLM, скармливаем ему текст сайта и спрашиваем «найди нарушения 152-ФЗ». На первом прототипе я так и сделал. Результат — галлюцинации и общие слова уровня «возможно, требуется согласие на обработку». Бесполезно.
Проблемы оказались такие:
- Закон живой. 152-ФЗ правили в 2022, 2023, 2024 и 2025 годах. LLM не знает последнюю редакцию.
- Контекст рассыпан. Сайт — это не один URL. Это главная, политика, пользовательское соглашение, формы, футер, куки-баннер. Нужно всё собрать и проанализировать вместе.
- VK-группы — отдельная боль. Там нет политики как таковой, но есть форма заявки, чат, опросы, сбор телефонов в комментариях.
- Отчёт должен быть практичным. Не «у вас проблемы», а «пункт 2 статьи 9 — нет согласия при сборе email в форме подписки, вот ссылка на форму, вот что исправить».
Solution: как устроено внутри
Архитектура в итоге сложилась такая:
1. Краулер. Отдельный модуль на Node.js, который по URL собирает карту сайта, скачивает ключевые страницы (политику, оферту, формы, футер) и VK-группу через открытое API. Всё кешируется в Postgres — повторная проверка того же домена идёт в 10 раз быстрее.
2. RAG по тексту закона. Векторная база (Pinecone) с актуальной редакцией 152-ФЗ, разбитой на чанки по статьям и пунктам. Плюс база прецедентов — решения Роскомнадзора и судебные дела. Когда LLM анализирует сайт, он не пытается вспомнить закон по памяти, а цитирует конкретный пункт из базы. Это убрало 90% галлюцинаций.
3. Claude API как ядро анализа. Почему Claude, а не GPT-4? По моим тестам на юридических текстах — Sonnet аккуратнее в цитированиях и реже выдумывает несуществующие пункты. Плюс у него длиннее контекстное окно, можно скормить всю политику целиком, а не по кусочкам.
4. Шаблон отчёта. Жёсткая структура: нарушение → пункт закона → где на сайте → как исправить → приоритет (красный/жёлтый/зелёный). LLM заполняет слоты по шаблону, а не пишет свободный текст. Это главная хитрость — так отчёты получаются стабильно полезными, а не «интересно почитать».
5. Telegram-бот для массовых проверок. Отдельно написал @pdnguardbot: кидаешь ссылку — получаешь отчёт в чат. Удобно для агентств, которые проверяют клиентов пачками.
6. Яндекс.Директ с AI-оптимизацией ставок. Запустили рекламу на ключи «проверка сайта на 152-ФЗ», «аудит персональных данных», «штрафы роскомнадзор». Управление ставками — через собственный скрипт, который анализирует конверсии и подкручивает бюджет.
Немного про процесс: как это вообще писалось
Весь PDNGuard прошёл через воркфлоу, который я к тому моменту уже обкатал на других проектах: PROMPTS.md + run-prompts.sh + Claude CLI. Это значит, что я не сижу и не пишу код руками — я пишу промпты, в которых описано что именно должно получиться, и Claude CLI последовательно их выполняет, коммитя каждый этап отдельно.
Первая версия MVP (краулер + анализ + простой отчёт) собралась за два выходных — буквально пятница вечер, воскресенье ночь. Потом ещё две недели ушло на то, чтобы прикрутить RAG, сделать отчёт действительно полезным и написать политику конфиденциальности для самого PDNGuard (это, кстати, отдельная рекурсивная комедия — сервис для проверки 152-ФЗ сам должен ему соответствовать).
Result: что получилось
- Время аудита: 30 секунд против 3 часов вручную. Ускорение в 360 раз.
- Количество проверок: больше 500 за первые месяцы работы.
- Качество: отчёт сразу показывает конкретные пункты закона и место на сайте, где их нарушают. Юристу остаётся только подтвердить (а не искать с нуля).
- Бизнес-модель: одна проверка бесплатно, дальше — подписка. Для агентств — оптовые тарифы через Telegram-бот.
Чему научились
Три главных вывода:
Первое — RAG побеждает «чистую» LLM в любом юридическом домене. Без привязки к конкретному тексту закона модель галлюцинирует, и проверить её сложнее, чем сделать аудит самому. С RAG — модель становится быстрым помощником, а не рассказчиком.
Второе — жёсткий шаблон отчёта важнее красоты формулировок. Пользователь хочет чек-лист, а не эссе. Как только мы убрали свободный текст и заставили LLM заполнять слоты — NPS отчётов вырос раза в три.
Третье — воркфлоу «промпты как код» реально работает. В PDNGuard весь билд описан в PROMPTS.md, каждый промпт = один коммит. Можно перезапустить любой кусок сборки, можно показать клиенту «вот как делался сервис». Это отдельная тема, про которую я подробно рассказываю в кейсе Stonekarelia — там этот подход родился.
Что дальше
Сейчас PDNGuard умеет аудировать сайты и VK-группы. В планах — Telegram-каналы, Max (мессенджер), и интеграция с CMS (WordPress, Tilda, Битрикс), чтобы делать не просто отчёт, а правки одной кнопкой. Если вас интересует такая штука для вашего проекта или клиентов — напишите нам, запустим.
Павел Гладышев — директор «Консоли», инженер АС УВД, автор проектов RunStart и Julcha. Пишет про то, как малому бизнесу в Карелии жить в эпоху AI, не теряя здравого смысла.