# 152-ФЗ Scanner: Стратегия эффективного compliance-сервиса > Исследование проведено 10.06.2026. Проанализированы: 13 российских конкурентов, > 4 международных open-source сканера, 5 чек-листов 152-ФЗ, технические best practices. --- ## 1. Рыночный контекст: почему сейчас ### 1.1. Ужесточение законодательства | Дата | Изменение | |------|-----------| | 30.05.2025 | Штрафы ×10-20. Оборотные штрафы до 3% выручки, до 500 млн ₽ | | 01.07.2025 | Запрет сбора ПД на зарубежных серверах — GA, reCAPTCHA, Google Fonts | | 01.09.2025 | Согласие — отдельный документ. Нельзя включать в оферту | | 11.12.2024 | Ст. 272.1 УК РФ — уголовная ответственность до 10 лет | | 2026 | РКН: проактивный ИИ-мониторинг 24/7, 84% нарушений — автофиксация | **Ключевое:** РКН перешёл от реактивной модели (жалобы) к проактивной (ИИ-мониторинг). 1000+ сайтов ежедневно. 83% проверенных сайтов имеют нарушения [1]. ### 1.2. Размер рынка - Каждый сайт с формой/аналитикой/cookies — оператор ПД - Это 99% коммерческих сайтов в РФ - Только отелей в Уфе: 50+ (протестировано в рамках 152-fz-scanner) - Всего юрлиц в РФ: ~3 млн. Сайтов у них: ~500K+ --- ## 2. Конкурентный анализ ### 2.1. Российские сканеры | Сервис | Проверок | Цена | Фишки | Слабые места | |--------|----------|------|-------|-------------| | **Toolfox.ru** | 134 (11 законов) | Бесплатно | AI (Claude), PDF, баллы, ФЗ-53 | Закрытый, нет API | | **scanetika.ru** | 38+ | Подписка | Мониторинг, 200K+ сайтов, B2B | Нет self-hosted | | **EdLegal** | 21 | freemium | AI-анализ политики, расчёт штрафов | Мало проверок | | **152-audit.ru** | ~15 | Бесплатно | Быстро, 3 мин | Базовый | | **help152.ru** | 30+ законов | Бесплатно | Широкий охват | Слабый UI | | **audit-pd.ru** | 15+ | Бесплатно | 30 сек | Базовый | | **proverito.ru** | 16 | Бесплатно | Нейросеть, PDF | Мало проверок | | **fzscan.ru** | ~10 | Бесплатно | 152 + 168 | Слабый | | **reactortech.ru** | ~15 | Платно | Скриншоты, конкретика | Дорого | | **nima-labs.ru** | ~12 | Платно | Генератор документов | Не сканер | ### 2.2. Международные open-source (GDPR) | Проект | Правил | Технологии | Что можно заимствовать | |--------|--------|-----------|----------------------| | **ComplyTest** [2] | 70 (GDPR+WCAG+Security+DSA) | Node.js, Playwright, npx | CI/CD, SARIF, multi-format | | **gdpr-cookie-scanner** [3] | 4D scoring | CLI, Playwright, Docker | 4-фазный скан, dark patterns | | **GDPR Scanner** | ~10 | Python/Flask | Dashboard, scheduled scans | | **EDPB Tool** | ~20 | EU official | Методология аудита | | **LawCheck (РФ)** [4] | 152-ФЗ | FastAPI+Playwright+PostgreSQL+Redis+RQ | Архитектура, очереди | ### 2.3. Ниши без конкуренции 1. **API-first сканер** — все конкуренты form-based. Никто не даёт REST API для интеграции 2. **Self-hosted / on-premise** — LawCheck open-source, но без мониторинга и PDF 3. **White-label для агентств** — scanetika имеет B2B, но без white-label 4. **Пакетные проверки для хостингов/регистраторов** — не покрыто 5. **CI/CD интеграция** — для devops-команд (как ComplyTest, но для 152-ФЗ) --- ## 3. Полный список проверок для эффективного сканера На основе синтеза чек-листов Reova (37 пунктов) [1], Proverito (16), EdLegal (21), Toolfox (134 включая смежные законы), LawCheck и международных best practices. ### 3.1. Категория A: Политика конфиденциальности (8 проверок) | # | Проверка | Метод | Риск | |---|----------|-------|------| | A1 | Наличие страницы политики | Playwright: поиск ссылки → проверка 200 OK | HIGH | | A2 | Доступность без авторизации | Проверка HTTP-статуса (не 401/403) | CRITICAL | | A3 | Отдельная HTML-страница (не PDF) | Content-Type != application/pdf | HIGH | | A4 | Ссылка в футере каждой страницы | DOM-анализ footer > a[href] | HIGH | | A5 | Ссылка рядом с каждой формой | Поиск
→ соседний с политикой | HIGH | | A6 | 16 обязательных разделов (LLM) | LLM-анализ текста политики: цели, категории, сроки, права, DPO, etc. | MEDIUM | | A7 | Дата последнего обновления | Regex: дата в формате DD.MM.YYYY | MEDIUM | | A8 | Реквизиты оператора (ИНН, адрес) | Regex ИНН (10/12 цифр) + сверка с ЕГРЮЛ | CRITICAL | ### 3.2. Категория B: Cookie-баннер и согласие (5 проверок) | # | Проверка | Метод | Риск | |---|----------|-------|------| | B1 | Наличие баннера | CSS-селекторы + текстовые паттерны | HIGH | | B2 | Баннер до установки tracking-cookies | 4-фазный метод (gdpr-cookie-scanner): загрузить без действий → посмотреть cookies | CRITICAL | | B3 | Кнопка «Отказаться» (не только «Принять») | Dark-pattern detection: асимметрия кнопок | CRITICAL | | B4 | Отказ отключает tracking-cookies | Фаза 3: нажать «Отказ» → проверить cookies | CRITICAL | | B5 | Ссылка на политику в баннере | Поиск внутри cookie-баннера | MEDIUM | ### 3.3. Категория C: Формы и чекбоксы (5 проверок) | # | Проверка | Метод | Риск | |---|----------|-------|------| | C1 | Чекбокс в каждой форме | Поиск → input[type=checkbox] | CRITICAL | | C2 | Чекбокс НЕ предзаполнен | checked=false (dark pattern detection) | CRITICAL | | C3 | Текст согласия содержит обязательные элементы | Regex: «согласие», «обработка», «персональные данные» + ссылка на политику | CRITICAL | | C4 | Форма передаётся по HTTPS | Проверка form[action] → HTTPS | HIGH | | C5 | Минимизация полей (только необходимые) | Подсчёт полей → оценка избыточности | MEDIUM | ### 3.4. Категория D: Сервер и инфраструктура (4 проверки) | # | Проверка | Метод | Риск | |---|----------|-------|------| | D1 | Сервер в РФ | GeoIP: ip-api.com + ipapi.co (fallback) | CRITICAL | | D2 | HTTPS / валидный SSL | Проверка сертификата (expiry, issuer) | CRITICAL | | D3 | HSTS-заголовок | HTTP-ответ: Strict-Transport-Security | HIGH | | D4 | CSP / X-Frame-Options | HTTP-заголовки безопасности | MEDIUM | ### 3.5. Категория E: Внешние скрипты и трекеры (7 проверок) | # | Проверка | Метод | Риск | |---|----------|-------|------| | E1 | Google Analytics (запрещён) | Regex HTML: google-analytics.com | CRITICAL | | E2 | Meta Pixel (запрещён) | Regex HTML: facebook.com/tr, connect.facebook.net | CRITICAL | | E3 | Google reCAPTCHA (запрещена) | Regex: google.com/recaptcha | HIGH | | E4 | Google Fonts CDN (IP утечка) | Regex: fonts.googleapis.com | HIGH | | E5 | Яндекс.Метрика (допустима) | Regex: mc.yandex.ru | INFO | | E6 | VK Pixel (допустим) | Regex: vk.com/rtrg | INFO | | E7 | Прочие зарубежные трекеры | Словарь: Hotjar, Mixpanel, Amplitude, Segment, Clarity, etc. | HIGH | ### 3.6. Категория F: Права субъекта (3 проверки) | # | Проверка | Метод | Риск | |---|----------|-------|------| | F1 | Механизм отзыва согласия | LLM: поиск в политике «отозвать согласие», «отказаться» | HIGH | | F2 | Порядок удаления данных | LLM: поиск «удалить», «уничтожить», email/форма для запроса | HIGH | | F3 | Контакты DPO (Data Protection Officer) | Regex: email/телефон + контекст «ответственный за ПД» | MEDIUM | ### 3.7. Категория G: Смежные законы (4 проверки) | # | Проверка | Метод | Риск | |---|----------|-------|------| | G1 | Англицизмы в CTA (ФЗ-53) | Словарь «красных» слов: sale, click here, buy now, etc. | MEDIUM | | G2 | Возрастная маркировка (436-ФЗ) | Поиск меток 0+/6+/12+/16+/18+ | MEDIUM | | G3 | Реквизиты юрлица (ИНН/ОГРН) | Regex + сверка с ЕГРЮЛ | MEDIUM | | G4 | Маркировка рекламы erid (ОРД) | Поиск erid в HTML | LOW | **Итого: 36 проверок в 7 категориях** — покрытие основных требований 152-ФЗ + смежных законов. --- ## 4. Архитектура эффективного сканера ### 4.1. Ключевой принцип: 4 фазы как у gdpr-cookie-scanner [3] ``` Фаза 1: LOAD — загрузка без взаимодействия → Сохранить ВСЕ cookies и network requests ДО consent → Это baseline: что сайт ставит без согласия Фаза 2: DETECT — поиск consent-механизма → CMP-селекторы → DOM-эвристики → Извлечь кнопки с visual properties (размер, цвет) → Dark-pattern detection: асимметрия, скрытая кнопка отказа Фаза 3: REJECT — отказ и capture → Нажать «Отказаться» → Сравнить cookies с baseline → Что осталось после отказа? → нарушение Фаза 4: ACCEPT — чистый браузер, принять → Новый контекст (нет cookies) → Принять согласие → Дельта cookies = что consent реально меняет ``` Это **принципиально сильнее** текущего подхода (просто поиск элемента на странице). ### 4.2. Архитектура правил (Rule Engine) По образцу LawCheck [4] — YAML-словари вместо хардкода: ```yaml # dictionaries/trackers.yaml foreign_critical: - domain: google-analytics.com law: "152-ФЗ ст. 18 ч. 5" fine: "до 6 млн ₽" action: "Удалить, заменить на Yandex Metrica" - domain: facebook.com/tr law: "152-ФЗ ст. 12" fine: "до 6 млн ₽" action: "Удалить, заменить на VK Pixel" foreign_warning: - domain: fonts.googleapis.com law: "152-ФЗ (IP-утечка)" fine: "до 300 тыс ₽" action: "Скачать и раздавать self-hosted" russian_allowed: - domain: mc.yandex.ru - domain: vk.com/rtrg ``` **Преимущества:** - Обновление правил без перекомпиляции - Не-разработчики могут добавлять трекеры - Аудит изменений через Git ### 4.3. Модульная архитектура ``` 152-fz-scanner/ ├── main.py # CLI (scan, csv, server) ├── scanner/ │ ├── engine.py # Оркестратор: 4-фазный скан + asyncio.gather │ ├── models.py # Pydantic: CheckResult, SiteScan, Score │ ├── rules_engine.py # YAML-движок: загрузка словарей, выполнение правил │ └── checks/ │ ├── base.py # Abstract BaseCheck │ ├── consent/ # B-проверки (cookie + consent) │ │ ├── banner.py │ │ └── dark_patterns.py │ ├── forms/ # C-проверки │ │ ├── checkbox.py │ │ └── fields.py │ ├── infrastructure/ # D-проверки │ │ ├── server.py │ │ └── headers.py │ ├── policy/ # A-проверки │ │ ├── presence.py │ │ └── llm_analysis.py │ ├── trackers/ # E-проверки │ │ └── scripts.py │ └── rights/ # F-проверки │ └── subject.py ├── dictionaries/ # YAML-словари (правила без кода) │ ├── trackers.yaml │ ├── cookie_patterns.yaml │ ├── consent_texts.yaml │ └── anglicisms.yaml # Для ФЗ-53 ├── api/ │ ├── server.py # FastAPI │ ├── routes.py │ └── schemas.py ├── reports/ │ ├── generator.py # PDF + HTML + JSON │ └── templates/ │ ├── report.html.j2 # Для сайта │ └── batch_report.html.j2 # Сводка для агентства ├── workers/ # Очередь для batch │ └── queue.py # RQ/ARQ воркеры ├── tests/ │ ├── test_checks/ │ └── fixtures/ └── data/ ├── input/ # CSV с URL └── output/ # JSON + PDF ``` ### 4.4. Технологический стек | Компонент | Технология | Почему | |-----------|-----------|--------| | **Браузерная автоматизация** | Playwright (Python) | Стандарт индустрии: ComplyTest, LawCheck, gdpr-cookie-scanner | | **API** | FastAPI + Pydantic v2 | Быстрый, async, авто-документация | | **Очередь (batch)** | ARQ (async) или RQ | LawCheck использует RQ; ARQ — более современный async | | **PDF** | WeasyPrint + Jinja2 | Уже работает; альтернатива — Playwright PDF | | **LLM-анализ** | Qwen35B / Gemma4 (локально) | Анализ политики: 16 разделов, права субъекта | | **GeoIP** | ip-api.com + ipapi.co (fallback) | Бесплатные API | | **Хранение** | SQLite (MVP) → PostgreSQL (prod) | LawCheck: SQLite в dev, PG в prod | | **CI/CD** | GitHub Actions + SARIF | Формат от ComplyTest — стандарт для security tools | --- ## 5. Ключевые дифференциаторы ### 5.1. Что делает сервис уникальным 1. **4-фазный cookie-аудит** — никто в РФ не делает. Все проверяют только «наличие баннера» 2. **Dark-pattern detection** — асимметрия кнопок, скрытый отказ, предзаполненные чекбоксы 3. **LLM-анализ политики** — 16 разделов, а не просто «есть/нет» 4. **API-first** — REST API для интеграции (агентства, хостинги, CRM) 5. **Batch + white-label PDF** — пакетная проверка 100+ сайтов с брендированными отчётами 6. **CI/CD интеграция** — GitHub Actions, GitLab CI, выход с exit code 1 при CRITICAL 7. **Self-hosted** — можно развернуть на своём сервере (конфиденциальность данных клиента) ### 5.2. Модели монетизации | Модель | Цена | ЦА | |--------|------|-----| | **Pay-per-scan** | 500-1500 ₽/сайт | Разовые проверки | | **Подписка (мониторинг)** | 3000-15000 ₽/мес | Агентства, крупные сайты | | **White-label** | 30 000-100 000 ₽/мес | Агентства (ресейл) | | **On-premise лицензия** | 150 000-500 000 ₽/год | Корпорации, банки | | **API (pay-per-request)** | 50-200 ₽/скан | Интеграции | --- ## 6. Дорожная карта ### Фаза 1: Исправить критические баги (сейчас) - [x] Аудит проведён - [ ] `engine.py` — `_calculate_score()` при ошибке загрузки - [ ] `privacy_link.py` — убрать `page.goto()`, проверять через aiohttp - [ ] `form_checkbox.py` — переписать детекцию label - [ ] `server_location.py` — заменить urllib на aiohttp ### Фаза 2: Довести до production-quality (1-2 недели) - [ ] 4-фазный cookie-аудит (замена текущего cookie_banner.py) - [ ] YAML-словари для трекеров - [ ] Dark-pattern detection - [ ] LLM-анализ политики (16 разделов) - [ ] API с rate limiting и авторизацией - [ ] CI/CD mode (exit codes, SARIF) ### Фаза 3: B2B-фичи (2-4 недели) - [ ] Batch-мониторинг (очередь + уведомления) - [ ] White-label PDF - [ ] Подписки и биллинг - [ ] Личный кабинет ### Фаза 4: Экспансия (1-2 месяца) - [ ] On-premise поставка (Docker) - [ ] Интеграции: GitHub App, GitLab, Bitrix24 - [ ] API-ключи для партнёров --- ## 7. Почему это будет работать 1. **Рынок растёт** — РКН перешёл на проактивный мониторинг. Каждый сайт под угрозой 2. **Конкуренты слабые** — form-based, без API, без deep checks. Никто не делает 4-фазный cookie-аудит 3. **Штрафы пугающие** — до 500 млн ₽. Стоимость проверки 500-1500 ₽ — копейки по сравнению 4. **Техническое преимущество** — Playwright 4-фазный + LLM + YAML-правила = лучшая архитектура 5. **Модель с низким порогом входа** — pay-per-scan без подписки --- ## Источники [1] Reova — «Персональные данные на сайте: чек-лист из 37 пунктов (2026)» — https://www.reova.ru/blog/personalnye-dannye-na-sajte.html [2] ComplyTest — Open-source GDPR/WCAG/Security scanner (70 правил) — https://complytest.com/ [3] gdpr-cookie-scanner — Open-source CLI, 4-фазный cookie-аудит — https://gdpr.slashgear.dev/ [4] LawCheck — Open-source 152-ФЗ сканер (FastAPI+Playwright+RQ) — https://github.com/lawcheck/lawcheck [5] Toolfox — 134 проверки по 11 законам — https://toolfox.ru/tools/proverka-sajta-fz-152 [6] Сканэтика — 38+ критериев, мониторинг — https://scanetika.ru/ [7] EdLegal — AI-анализ политики, расчёт штрафов — https://edlegal.ru/help/scanner-152fz-guide/ [8] Proverito — Чек-лист 152-ФЗ (16 пунктов) — https://proverito.ru/chek-list-152-fz [9] EDPB Website Auditing Tool — EU official — https://www.edpb.europa.eu/our-work-tools/our-documents/support-pool-experts-projects/edpb-website-auditing-tool_en