Бесплатно, без аккаунта, без подписки
Баннер, который чинит именно то, что нашло сканирование
Одна строка кода в <head>. Действительно блокирует скрипты отслеживания до согласия — а не просто показывает сообщение. Публикует Google Consent Mode v2 с отказом по умолчанию с первой миллисекунды. Румынский и русский. А если вы пришли из отчёта сканирования — он уже настроен на те третьи стороны, которые мы увидели на вашем сайте.
- Реальная блокировка до согласия
- Consent Mode v2
- RO + RU
- Без сырых IP в журнале
- ~11 КБ в сжатом виде
Почему это другое: отправная точка — измерение, а не анкета
Универсальный баннер согласия не может знать, что загружает именно ваш сайт. Вы его ставите, выбираете категории из меню и надеетесь, что всё покрыто. Если у вас есть локальный счётчик, пиксель, поставленный агентством три года назад, или скрипт, который никто уже не опознаёт, — баннер его не заблокирует, потому что не знает о его существовании.
У нас есть сканер. Запросы к третьим сторонам, которые мы наблюдали на вашем сайте до любого согласия, и есть тот список, который получает баннер. Известные нам — Google, Meta, TikTok, Yandex, Hotjar — уже разложены по категориям. Те, кого не знает никто, попадают в явное правило, с их хостом, написанным открытым текстом в теге, который вы вставляете.
Конфигурация — не чёрный ящик: это атрибут, который вы читаете глазами и можете отредактировать.
Пример конфигурации, созданной из сканирования
https://magazinul-tau.md/
- google-analytics.comGoogle Analyticsanalytics
- connect.facebook.netMeta Pixelmarketing
- mc.yandex.ruYandex Metricaanalytics
- stat.contor-local.mdmarketing
<script src="https://ongdpr.md/api/banner/script"
data-site="magazinul-tau.md"
data-log="https://ongdpr.md/api/banner/log"
data-block="stat.contor-local.md:m"></script>Google Analytics уже известен, поэтому правило не нужно. Локальный счётчик не значится ни в одной публичной базе трекеров, поэтому получает собственное правило — и, поскольку мы не можем сказать, что он делает, он отнесён к маркетингу, категории, которая разблокируется последней.
Живая демонстрация, с настоящим баннером
То, что ниже, — не скриншот и не реконструкция: это ровно тот файл, который мы отдаём клиентам, запущенный прямо на странице. Кнопки работают, переключатель языка работает, панель настроек настоящая. Разница лишь в том, что здесь он ничего не блокирует и ничего не пишет на ваше устройство.
Vash-magazin.md
- Главная
- Товары
- Доставка
- Контакты
Обычный сайт с меню, содержимым и формой. Баннер ложится поверх, не перекрывая контент и не блокируя прокрутку.
Текущий выбор: выбор ещё не сделан
Баннер сам подхватывает цвета страницы, на которой установлен; здесь их можно поменять и посмотреть, как он подстраивается.
Что он делает конкретно
Блокирует заранее, а не прячет постфактум
Перехватывает присвоение адреса у элементов <script>, <img>, <iframe> и <link>, а также fetch, XMLHttpRequest и sendBeacon. Официальные фрагменты Google Analytics, Google Tag Manager, Meta Pixel, TikTok, Yandex Metrica и Hotjar сами создают свой элемент скрипта — все шесть останавливаются до того, как уйдёт хоть один байт.
Google Consent Mode v2, отказ по умолчанию
Все семь сигналов v2 стартуют в состоянии «denied» (кроме security_storage) прежде всего остального, а сам вызов виден в исходном коде страницы, чтобы его мог проверить кто угодно, а не только мы.
Принять, Отклонить и Настройки одинаково заметны
Три кнопки, один CSS-класс, одинаковый размер и контраст, отказ первым в порядке чтения. Escape означает отказ, а не тихое закрытие. Не существует «второстепенного» стиля, которым отказ можно было бы сделать незаметнее.
Четыре категории, ничего не отмечено заранее
Строго необходимые (без переключателя, потому что это не выбор), аналитические, маркетинговые, функциональные. Каждая цель — отдельное решение, и панель называет, кто получает данные по каждой.
Отзыв так же прост, как согласие
Постоянная кнопка в углу открывает настройки на любой странице, а из панели согласие полностью отзывается одним щелчком. Выбор помнится полгода, затем вопрос задаётся снова.
Румынский и русский с автоопределением
Язык берётся из <html lang>, затем из браузера, и посетитель может сменить его прямо в баннере. Обе версии — настоящие переводы, а не копия одной поверх другой.
Установка в три шага
Без аккаунта, без ключа, без оплаты. Занимает столько, сколько copy-paste.
1. Поставьте эту строку первой в <head>
Именно первой, а не где-то в конце: всё, что загрузилось раньше, уже никто не остановит. Без async и без defer — по той же причине.
<script src="https://ongdpr.md/api/banner/script"></script>2. Добавьте то, что хотите изменить, атрибутами
Фиксированный язык, ссылка на вашу политику, цвет, адрес журнала и список дополнительных хостов, найденных сканированием. Всё, что не указано, имеет разумное значение по умолчанию.
<script src="https://ongdpr.md/api/banner/script" data-privacy="/confidentialitate" data-site="vash-magazin.md" data-log="https://ongdpr.md/api/banner/log" data-block="stat.contor-local.md:m"></script>3. Пометьте скрипты, записанные прямо в HTML
Тег <script src>, написанный в странице, может начать скачиваться раньше, чем любой JavaScript успеет отреагировать, — это ограничение браузера, а не баннера. Такие теги помечаются один раз, а баннер сам запускает их при согласии.
<script type="text/plain" data-mp-consent="analytics" data-mp-src="https://exemplu-tracker.md/t.js"></script>
Фрагментам, которые внедряют себя сами — Google Analytics, GTM, Meta Pixel, TikTok, Yandex Metrica, Hotjar — шаг 3 не нужен. Они останавливаются автоматически.
Журнал решений, без IP-адресов
Обязанность доказать согласие лежит на операторе, то есть на вас. Галочка в базе данных ничего не доказывает: она говорит, что кто-то что-то нажал, когда-то, под текстом, который никто не сохранил.
Поэтому, если включить журнал, каждое решение сохраняется вместе с точным текстом, который был на экране, его версией, языком отображения, моментом и тем, что именно было отмечено, — включая отказы. Текст не присылает браузер: он восстанавливается на сервере из нашего собственного каталога, именно чтобы никто не мог выдумать, на что он согласился.
IP-адрес — персональные данные, мы сами пишем это на своих страницах. Мы его не храним. Сохраняется только хеш с солью, который так же хорошо служит цели («тот же посетитель?») и из которого адрес восстановить нельзя. Тот же механизм, который мы уже используем против злоупотреблений.
Журнал необязателен. Без атрибута data-log баннер вообще ничего никуда не отправляет.
Что он НЕ может заблокировать. Написано здесь, а не спрятано
Ни один баннер на рынке не может остановить всё, что бы ни было написано на его продающей странице. Вот реальные ограничения этого:
- Всё, что загружается раньше нашей строки в <head>. Поэтому она должна быть первой.
- Тег <script src>, записанный прямо в HTML после нашей строки: браузер может начать скачивание раньше, чем JavaScript успеет отреагировать. Решается шагом 3 установки.
- Элемент, вставленный через innerHTML прямо в уже отрисованную страницу: запрос уходит внутри самого присваивания. Элемент нейтрализуется сразу после, поэтому второй загрузки не будет, но первая может пройти. Ни один из крупных поставщиков этот приём не использует.
- Всё, что происходит внутри iframe с другого домена.
- Отслеживание, которое делает ваш сервер: серверный tag management, эндпоинты третьих сторон, замаскированные под ваш поддомен. Никакой код в браузере туда не дотянется.
- Третьи стороны, которых мы не знаем и о которых вы нам не сказали. Мы блокируем то, что можем назвать, чтобы не сломать сайт клиента блокировкой наугад, — поэтому список из сканирования и важен.
Хотите проверить сами: установите баннер и просканируйте свой сайт нашим сканером. Если появится хоть один запрос к третьей стороне до согласия, вы увидите его в отчёте, с хостом и доказательством.
Честное сравнение
Cookiebot и OneTrust — зрелые продукты: они блокируют до согласия, у них есть Consent Mode v2 и десятки языков. Мы не утверждаем обратного. Разница в другом.
| Наш баннер | CMP по подписке | Баннер, написанный вручную | |
|---|---|---|---|
| Стоимость | Бесплатно. Без аккаунта, без карты, без лимита трафика. | Ежемесячная подписка, обычно по числу страниц или сессий. | Дни разработки плюс поддержка. |
| Настроен по результатам сканирования вашего сайта | Да — список третьих сторон приходит из вашего же отчёта. | Нет. Их сканирование находит cookie, но настройка остаётся ручной. | Нет. |
| Действительно блокирует до согласия | Да, проверяется нашим сканером на вашем же сайте. | Да. | Почти никогда. Самый частый дефект, который мы находим. |
| Yandex Metrica и Mail.ru блокируются по умолчанию | Да. | Зависит от списка и настройки. | Нет. |
| Открытый исходный код, читаемый построчно | Да — пакет лежит в репозитории, отдаваемый файл — тот же самый. | Нет. Минифицированный проприетарный код. | Да, но это ваш код, и дефекты тоже ваши. |
| Размер скрипта | ~34 КБ, ~11 КБ в сжатом виде. | Обычно в несколько раз больше, иногда значительно. | Маленький, но, как правило, без реальной блокировки. |
| Журнал без сырого IP-адреса | Да, только хеш с солью. Необязателен. | По-разному; многие хранят IP-адрес как доказательство. | Обычно отсутствует. |
| Поддержка на румынском, от компании из Молдовы | Да — MEGA PROMOTING S.R.L.. | Международная поддержка, на английском. | — |
Колонка «CMP по подписке» описывает общий шаблон крупных международных продуктов; это не утверждение о конкретном поставщике, на конкретную дату, на конкретном тарифе. Сверьтесь с их предложением, прежде чем сравнивать цены.
Вопросы
Правда бесплатно? В чём подвох?
Баннер бесплатный и не требует аккаунта. Наша выгода в том, что вы ставите его после сканирования сайта у нас, и что остаётся неприметная ссылка на эту страницу — её можно убрать одним атрибутом.
Кнопки обязаны быть одинаково заметными? Это требование закона?
В Молдове нет «закона о cookie» и нет писаного правила о размере кнопок. Требование закона — чтобы согласие было свободным, а отказ, который посетитель не может найти, — не настоящий выбор. Поэтому мы считаем равенство кнопок доброй практикой, вытекающей из принципа, а не статьёй закона, которую можно процитировать с номером.
Что значит «строго необходимые»?
Это не определённый молдавским законом термин, поэтому мы не можем дать вам правовой порог. У нас в этой категории только то, что держит сайт работающим — сессия, корзина, защита форм и запоминание самого вашего выбора, — и ничего, что используется для профилирования, измерений или рекламы.
Он сломает мой сайт?
Мы блокируем только те хосты, которые можем назвать, плюс те, что вы укажете сами. CDN, платёжный процессор или ваш собственный скрипт не затрагиваются. Если один патч не встанет, остальные работают; если не встанет ничего, ваша страница остаётся целой.
Работает ли с WordPress, PrestaShop, 1C, чем угодно?
Да — это один тег <script> в <head>, без зависимостей и требований к платформе. Cookie, который он пишет, читается и из бэкенда, если вы хотите соблюдать выбор и на стороне сервера.
А если вы измените текст баннера?
Версия текста сохраняется вместе с каждым решением. Когда текст меняется, версия повышается, а старые решения остаются привязанными к точной формулировке, под которой были даны. Мы не переписываем задним числом то, на что человек согласился.
Сначала сканирование. Баннер придёт настроенным.
Сканирование занимает меньше минуты, бесплатно и не требует аккаунта. В конце вы получаете список третьих сторон, которые стартуют на вашем сайте до согласия, — и готовый тег, который их останавливает.
Просканировать сайт