v1.1.1 · MIT · local-first

Найдите privacy-риски до того, как их найдут пользователи

Один каталог правил для исходников, живого DOM и CI. legitAgent показывает файл, строку, норму и следующий шаг: от формы без согласия и метрики без opt-in до cookie, рекламы и витрины. Работает локально по умолчанию, без платного тарифа и обязательного облака.

15детекторов
700parser-сценариев
100real-world групп
legitagent scan ./site READY
PDN.FORM.NO_CONSENThighContact.tsx:18
PDN.COOKIE.NO_REJECTmediumCookieBanner.vue:42
PDN.POLICY.NO_LINKfixedPrivacyLink.tsx:7

Эвристическая проверка кода, не юридическое заключение.

Cursor Claude Kimi React / Next.js Vue · Svelte · Astro npm JSON · SARIF MIT

Автопоиск в исходниках

Пятнадцать детекторов по коду. Каждая находка — с id правила, статьёй закона и подсказкой, как исправить.

Форма без согласия

PDN.FORM.NO_CONSENT

Email, телефон или имя в форме — но нет чекбокса согласия на обработку ПДн.

high · ст. 9

Метрика без opt-in

PDN.TRACKER.NO_CONSENT

Метрика, gtag, GA, Meta Pixel или VK.Retargeting стартуют сразу, без проверки согласия.

high · ст. 6

Нет политики

PDN.POLICY.NO_LINK

В проекте не найдена ссылка на политику обработки персональных данных.

high · ст. 18.1

Предзаполненный чекбокс

PDN.FORM.PRECHECKED_CONSENT

Галочка согласия уже стоит — такое «согласие» не считается полученным.

high · ст. 9

Баннер без отказа

PDN.COOKIE.NO_REJECT

Cookie-баннер предлагает только «Принять», без реальной кнопки отказа.

medium · ст. 9

Иностранный трекер

PDN.TRANSFER.FOREIGN_TRACKER

GA, Meta Pixel и аналоги могут означать трансграничную передачу ПДн.

medium · ст. 12

Пятнадцать правил, один каталог

Все детекторы активны: формы и согласие, политика, метрики, cookie, иностранные трекеры, локализация и уведомление РКН (только если есть форма с ПДн, серьёзность low), ERID, условия продажи / реквизиты / возврат. scan-url прогоняет тот же набор по HTML живой страницы, ждёт гидрацию SPA и в изолированных сессиях сравнивает cookie, storage и network до/после Reject и Accept. Полный список — в каталоге правил.

Что нового

v1.1.1 собирает проверку в один понятный цикл

От первого scan до evidence pack — одинаковые правила, одинаковые уровни серьёзности, одинаковый формат для разработчика и CI.

01

Строгий benchmark

140 seed-кейсов и 700 вариантов помогают ловить регрессии парсеров, а не только демонстрационные ошибки.

02

Живой контекст

scan-url сравнивает cookie, storage и network до и после Reject и Accept в изолированной сессии.

03

Безопасный CI

Baseline, changed-files, confidence threshold и SARIF позволяют блокировать только новые достоверные находки.

Быстрый старт

MCP — для агентов

Cursor, Claude Code, Kimi и другие клиенты с MCP. В Cursor ещё скиллы /check, /scan, /scan-url.

{
  "mcpServers": {
    "legitagent": {
      "command": "npx",
      "args": ["-y", "--prefer-online", "@legit-agent/mcp@latest"]
    }
  }
}

Инструменты: scan, review, autofix, create_baseline, scan_url, list_rules, explain_rule, generate_policy, get_law. Scan поддерживает changed-files, baseline, incremental cache и confidence gate; autofix по умолчанию dry-run.

CLI — для терминала и CI

Node.js 20+, без установки:

npx @legit-agent/cli@latest scan
npx @legit-agent/cli@latest scan ./my-site --json --sarif --lang en
npx @legit-agent/cli@latest scan ./my-site --cache
npx @legit-agent/cli@latest fix ./my-site
npx @legit-agent/cli@latest scan-url https://example.com
npx @legit-agent/cli@latest init-policy --operator "ООО Пример"

В CI фиксируйте версию @1.1.1, а для автоматического получения свежего релиза используйте @latest. Baseline, changed-files и confidence threshold блокируют только новые достоверные находки. fix сначала делает dry-run; --write применяйте после проверки preview.

Локально по умолчанию

Исходники, DOM, cookie-метаданные, SARIF и evidence pack обрабатываются на вашем ПК или CI-runner-е. Собственного облака у legitAgent нет. Режим offline не вызывает LLM и ничего не отправляет наружу. Можно явно подключить локальную модель с /chat/completions API или OpenRouter с запрошенными ZDR и запретом data collection; тогда наружу уйдут только поля находок, выдержки норм и ограниченные связанные фрагменты кода, а не весь репозиторий. Это настройки маршрутизации/провайдера, а не абсолютная гарантия хранения: перед включением OpenRouter проверьте его политику и выбранного провайдера; redaction — best effort.

Важно: screenshots из evidence pack могут визуально содержать персональные или другие чувствительные данные. Передавайте и храните их с соответствующими ограничениями доступа; перед публикацией обязательно проверьте изображения вручную. Для OpenRouter LEGITAGENT_LLM_MAX_COST_USD ограничивает отправку новых batches только после получения usage.cost; последний batch может превысить порог, и это не hard provider spend cap.

Текущий benchmark содержит 140 seed-кейсов: 40 synthetic и 100 real-world source-групп — всего 700 parser-stability сценариев. Метрики исходных примеров и форматных вариантов считаются отдельно; новые случаи проходят строгую проверку технических признаков и разметки.

Как это работает

  1. 1 Сканер обходит HTML/JS/TS/JSX/TSX/Vue/Svelte/Astro — или открывает URL в Chromium
  2. 2 Сверяет код с YAML-каталогом правил и выдержками статей
  3. 3 Возвращает находки: файл, строка, норма, как исправить
  4. 4 Агент или разработчик принимает решение