v2.0: исправлены критические баги, добавлены 4 новые проверки, 4-фазный cookie-аудит, retry-логика, YAML-словари, LLM-анализ, тесты
Исправлено: - engine: _calculate_score() при ошибке загрузки (score не 100 для мёртвых сайтов) - privacy_link: замена page.goto() на aiohttp (гонка данных) - form_checkbox: 3-уровневый поиск label + dark-pattern detection - server_location: синхронный urllib → aiohttp - api/server: перепутанные request/response модели в batch - main.py: csv --checks флаг - engine: фазовая модель (cookie_audit отдельно, остальные параллельно) - engine: retry-логика (3 попытки, exponential backoff) - PDF: emoji заменены на текст (WeasyPrint) Добавлено: - consent_doc: проверка отдельного согласия на обработку ПД - operator_info: проверка ИНН/ОГРН/DPO (читает главную + политику) - cookie_audit: 4-фазный аудит (load→detect→reject→compare) - llm_policy: опциональный LLM-анализ 16 разделов (--deep) - external_scripts: YAML-словари trackers.yaml (critical/warning/russian) - logging (output.py), .gitignore, pyproject.toml - smoke-тесты (16/16)
This commit is contained in:
1 parent
7fb417dad5
commit
b9db935389
24 files changed
+1725
-286
No files matched your search
@@ -150,7 +150,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<h1>📋 Аудит соответствия 152-ФЗ</h1>
|
||||
<h1>Аудит соответствия 152-ФЗ</h1>
|
||||
<p>Автоматизированный сканер | {{ site_scan.url }}</p>
|
||||
<p>Дата проверки: {{ scanned_at }}</p>
|
||||
<p>Версия сканера: {{ scanner_version }}</p>
|
||||
@@ -159,16 +159,16 @@
|
||||
<div class="score-card">
|
||||
<div class="score-number">{{ score }}</div>
|
||||
<div class="score-label">
|
||||
{{ '✅ Сайт соответствует 152-ФЗ' if is_compliant else '❌ Сайт НЕ соответствует 152-ФЗ' }}
|
||||
{{ 'Сайт соответствует 152-ФЗ' if is_compliant else 'Сайт НЕ соответствует 152-ФЗ' }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="summary-box">
|
||||
<h3>📊 Резюме проверки</h3>
|
||||
<h3>Резюме проверки</h3>
|
||||
<p>{{ summary }}</p>
|
||||
</div>
|
||||
|
||||
<h2>📝 Результаты проверок</h2>
|
||||
<h2>Результаты проверок</h2>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -184,24 +184,24 @@
|
||||
<td><strong>{{ check.title }}</strong></td>
|
||||
<td>
|
||||
{% if check.status == 'pass' %}
|
||||
<span class="status-pass">✅ Пройдено</span>
|
||||
<span class="status-pass">ПРОЙДЕНО</span>
|
||||
{% elif check.status == 'fail' %}
|
||||
<span class="status-fail">❌ Не пройдено</span>
|
||||
<span class="status-fail">НАРУШЕНИЕ</span>
|
||||
{% elif check.status == 'skip' %}
|
||||
<span class="status-skip">⏭ Пропущено</span>
|
||||
<span class="status-skip">ПРОПУЩЕНО</span>
|
||||
{% elif check.status == 'error' %}
|
||||
<span class="status-error">⚠️ Ошибка</span>
|
||||
<span class="status-error">ОШИБКА</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if check.risk_level == 'critical' %}
|
||||
<span class="risk-critical">🔴 Критический</span>
|
||||
<span class="risk-critical">КРИТИЧЕСКИЙ</span>
|
||||
{% elif check.risk_level == 'high' %}
|
||||
<span class="risk-high">🟠 Высокий</span>
|
||||
<span class="risk-high">ВЫСОКИЙ</span>
|
||||
{% elif check.risk_level == 'medium' %}
|
||||
<span class="risk-medium">🟡 Средний</span>
|
||||
<span class="risk-medium">СРЕДНИЙ</span>
|
||||
{% else %}
|
||||
<span class="risk-low">🟢 Низкий</span>
|
||||
<span class="risk-low">НИЗКИЙ</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ check.message }}</td>
|
||||
@@ -213,10 +213,10 @@
|
||||
<div class="cta-section">
|
||||
<h2>Нужна помощь с приведением сайта в соответствие 152-ФЗ?</h2>
|
||||
<p>Мы исправим все найденные нарушения, подготовим документы и настроим cookie-баннеры.</p>
|
||||
<p style="margin-top: 20px; font-size: 18px;">💰 Стоимость: от 7 000 ₽ (зависит от объема нарушений)</p>
|
||||
<p style="margin-top: 20px; font-size: 18px;">Стоимость: от 7 000 руб. (зависит от объёма нарушений)</p>
|
||||
<div style="margin-top: 20px;">
|
||||
<span class="cta-button">📧 Написать на email</span>
|
||||
<span class="cta-button">💬 Telegram</span>
|
||||
<span class="cta-button">Написать на email</span>
|
||||
<span class="cta-button">Telegram</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in new issue
Block a user