Форма без согласия
PDN.FORM.NO_CONSENT
Email, телефон или имя в форме — но нет чекбокса согласия на обработку ПДн.
high · ст. 9v0.7.0 · MIT · бесплатно · без облака
legitAgent читает HTML, JSX, TSX, Vue, Svelte и Astro и ищет типичные дыры:
формы без согласия, метрика без opt-in, cookie-баннер, иностранные трекеры, неполная политика,
реклама без erid, витрина без оферты.
Живой scan-url смотрит тот же каталог по DOM, плюс cookie до согласия;
v0.7.0 добавляет evidence pack (скрины, PDF, SARIF) и LLM-review (confirm / reject / ask_human).
В Cursor — MCP и /check; в Claude и Kimi — те же tools; в CI — GitHub Action.
Платного тарифа нет. При каждом запуске IDE подтягивается актуальный пакет с npm.
Эвристическая проверка кода, не юридическое заключение.
Пятнадцать детекторов по коду. Каждая находка — с id правила, статьёй закона и подсказкой, как исправить.
PDN.FORM.NO_CONSENT
Email, телефон или имя в форме — но нет чекбокса согласия на обработку ПДн.
high · ст. 9PDN.TRACKER.NO_CONSENT
Метрика, gtag, GA, Meta Pixel или VK.Retargeting стартуют сразу, без проверки согласия.
high · ст. 6PDN.POLICY.NO_LINK
В проекте не найдена ссылка на политику обработки персональных данных.
high · ст. 18.1PDN.FORM.PRECHECKED_CONSENT
Галочка согласия уже стоит — такое «согласие» не считается полученным.
high · ст. 9PDN.COOKIE.NO_REJECT
Cookie-баннер предлагает только «Принять», без реальной кнопки отказа.
medium · ст. 9PDN.TRANSFER.FOREIGN_TRACKER
GA, Meta Pixel и аналоги могут означать трансграничную передачу ПДн.
medium · ст. 6
Все детекторы активны: формы и согласие, политика, метрики, cookie, иностранные трекеры,
локализация и уведомление РКН (только если есть форма с ПДн, серьёзность low),
ERID, оферта / реквизиты / возврат.
scan-url прогоняет тот же набор по HTML живой страницы, ждёт гидрацию SPA
и проверяет cookie до и после отказа.
Полный список: каталог правил
и сломанный демо-сайт.
Cursor, Claude Code, Kimi и другие клиенты с MCP. В Cursor ещё скиллы /check, /scan, /scan-url.
{
"mcpServers": {
"legitagent": {
"command": "npx",
"args": ["-y", "--prefer-online", "@legit-agent/mcp@latest"]
}
}
}
В Cursor кнопка Add to Cursor пишет в ~/.cursor/mcp.json (User, все проекты). Файл .cursor/mcp.json в репозитории — только этот проект. При каждом запуске IDE — актуальный пакет с npm (@latest). Инструменты: scan, review, scan_url, list_rules, explain_rule, generate_policy, get_law
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-url https://example.com
npx @legit-agent/cli@latest init-policy --operator "ООО Пример"
В CI лучше пин @0.7.0. Код выхода 1 при находках high. GitHub Action: legitagent-scan@v0.7.0.
.html, .jsx, .tsx, .vue, .svelte, .astro — или открывает URL в Chromium