Национальная комиссия по рынкам и конкуренции Испании — 217 запросов, восемь узлов, 25 обращений наружу. Механизм управления согласием на сайте установлен, включая подмодуль, специально предназначенный для удержания Google Analytics до выбора пользователя. Счётчик загружается в обход: тег вшит в разметку главной страницы и уходит на 368-й миллисекунде, на 21 мс раньше самого подмодуля. Обращение GA4 с идентификатором клиента и параметрами устройства следует на 5709-й. Из четырёх внешних получателей документы называют одного.
Хронология утечки
Декларация против факта
Тайминги передачи
gtag/js для потока GA4, разобран из разметки документа, строка 110.
Сценарий виджета доступности с токеном площадки. Отдача через Cloudflare.
Таблица стилей шрифта Noto Sans.
Значки Font Awesome, 4 обращения, отдача через Cloudflare.
Начертание шрифта с серверов Google.
POST api/widget-settings, адрес сайта в теле формы.
GA4 page_view: идентификатор клиента, разрешение экрана, клиентские подсказки браузера, язык, адрес и заголовок страницы.
Зафиксированные трекеры
- Google Analytics 4 (G-GJ0T3SEQ50) через www.googletagmanager.com и region1.analytics.google.com
- Skynet Technologies / All in One Accessibility (www.skynettechnologies.com, freeada.skynettechnologies.com) — виджет доступности, 17 запросов
- Font Awesome (use.fontawesome.com) — набор значков, 4 запроса
- Google Fonts (fonts.googleapis.com, fonts.gstatic.com) — шрифт Noto Sans
Признаки несоответствия GDPR
- ePrivacy — LSSI, Ley 34/2002, ст. 22.2 (в связке с GDPR Art. 6(1)(a))На сайте установлен и настроен механизм управления согласием: модуль Drupal cookies с библиотекой cookiesjsr и отдельным подмодулем cookies_ga, назначение которого — не допускать загрузку Google Analytics до выбора пользователя. Загрузка счётчика этот механизм обходит. Тег www.googletagmanager.com/gtag/js?id=G-GJ0T3SEQ50 разобран браузером напрямую из разметки главного документа, строка 110, и запрошен на +368 мс — в тот же миллисекундный интервал, что и предзагрузчик самого баннера, и на 21 мс раньше, чем загружается подмодуль cookies_ga, который должен был бы этой загрузкой управлять. Обращение GA4 с идентификатором клиента уходит на +5709 мс. Аналитические cookie сайт сам относит к категории «cookies de análisis», требующей предварительного согласия.
- GDPR Art. 5(1)(a) — прозрачностьИнформационный документ о защите данных отвечает на вопрос о получателях однозначно: передача данных каким-либо третьим лицам не предусмотрена, кроме случаев правовой обязанности. Политика cookie открывается заявлением, что для перечисленных целей комиссия собирает согласие пользователя. Фактически согласие не запрашивается, а обращение GA4 передаёт Google идентификатор клиента, разрешение экрана 1536x864, платформу Windows, архитектуру x86/64, перечень версий браузера, язык интерфейса, адрес и заголовок страницы.
- GDPR Art. 13(1)(e) — раскрытие получателейРаздел о сторонних cookie называет один сервис — Google Analytics. В замере данные посетителя получают также Skynet Technologies (17 запросов на двух доменах, включая обращение к freeada.skynettechnologies.com/api/widget-settings с адресом сайта в теле формы), Font Awesome через инфраструктуру Cloudflare и Google Fonts, откуда подгружается шрифт Noto Sans. Ни один из этих получателей в документах комиссии не назван.
- GDPR Art. 12(1) — доступность средства отзываРаздел «Desactivar las cookies» предлагает единственный способ управления — настройки браузера, с обещанием привести ссылки на популярные браузеры; сам перечень ссылок в тексте отсутствует. О том, что на сайте установлена панель управления согласием с возможностью отозвать выбор, документ не сообщает. Пользователь, читающий политику, направляется в настройки браузера вместо инструмента, который уже стоит на странице.
Контекст
cnmc.es — сайт Национальной комиссии по рынкам и конкуренции, независимого административного органа Испании. Комиссия следит за конкуренцией и регулирует энергетику, электронные коммуникации, аудиовизуальный сектор, транспорт и почту; в её ведении находятся в том числе вопросы цифровых рынков. Ответственный за обработку — сама комиссия, Мадрид, улица Алькала, 47. Специалист по защите данных — dpd@cnmc.es. Платформа — Drupal 10.6.9.
Замер: 217 запросов, восемь узлов. Сто девяносто два обращения к собственному домену, 25 наружу. Продолжительность записи — 5,7 секунды, полная загрузка страницы завершилась на 927 мс. Снят 31 мая 2026 года на главной странице.
Обработку описывают два документа: политика cookie на сайте и информационный документ о защите данных.
Кому уходят данные напрямую
Google, Skynet Technologies, Font Awesome.
Заявленное против фактического
Расхождение здесь имеет необычную природу. Обычно нарушение состоит в том, что механизма согласия нет вовсе. Тут он есть, установлен грамотно и даже с профильным дополнением — а обходят его на уровне разметки.
Первое — инструмент стоит, но не работает. На сайте развёрнут модуль Drupal cookies с библиотекой cookiesjsr, а вместе с ним отдельный подмодуль cookies_ga. Существование этого подмодуля показательно: он написан ровно для одной задачи — не давать Google Analytics загрузиться, пока пользователь не сделал выбор. То есть кто-то в комиссии сознательно выбрал и установил правильный инструмент.
Работает это следующим образом. На +351 мс приходит оформление панели согласия, на +367 — её настройки, на +368 — предзагрузчик. В тот же миллисекундный интервал, на +368 мс, уходит запрос к диспетчеру тегов Google. Запись прямо указывает инициатора: разбор разметки главного документа, строка 110. Тег вписан в сам HTML и выполняется при его разборе — управлять им подмодуль не может по определению. А сам подмодуль cookies_ga.js приходит только на +389 мс, на двадцать одну миллисекунду позже, чем то, чем он должен управлять.
Итог: панель согласия отрисовывается, пользователь видит выбор, но счётчик к этому моменту уже загружен и от выбора не зависит. На +5709 мс в Google уходит событие с идентификатором клиента, разрешением экрана 1536x864, платформой Windows, разрядностью и архитектурой, полным перечнем версий браузера, языком интерфейса, адресом страницы и её заголовком. Разрешение экрана и набор клиентских подсказок браузера — параметры формирования цифрового отпечатка.
Второе — прямое отрицание передачи. Информационный документ о защите данных отвечает на вопрос о получателях коротко и однозначно: передача данных каким-либо третьим лицам не предусмотрена, кроме случаев правовой обязанности. Политика cookie тем временем начинается с заявления, что для описанных целей комиссия собирает согласие пользователя. Оба утверждения замером опровергаются: согласие не спрашивается до передачи, а передача происходит.
Третье — три нераскрытых получателя. Раздел о сторонних cookie называет только Google Analytics. Фактически на странице работает виджет доступности Skynet Technologies — семнадцать обращений на два домена, включая POST на служебный узел freeada.skynettechnologies.com с адресом сайта в теле формы, и токеном площадки в адресах сценариев. Значки Font Awesome подгружаются с внешнего узла через инфраструктуру Cloudflare. Шрифт Noto Sans тянется напрямую с серверов Google — это отдельная передача адреса IP и реферера, не связанная ни с аналитикой, ни с виджетом.
Четвёртое — политика не знает о собственной панели. Раздел об отключении cookie направляет пользователя в настройки браузера и обещает привести ссылки на популярные браузеры, но самого перечня ссылок в тексте нет. О том, что на сайте установлена панель управления согласием, где выбор можно изменить, документ не сообщает ни словом. Читатель политики отправляется настраивать браузер вместо инструмента, который уже есть на странице.
Что показывает заголовок политики безопасности содержимого
Комиссия выставляет собственный заголовок Content-Security-Policy — 1895 символов, с раздельными правилами для сценариев, кадров, изображений, шрифтов, стилей и соединений. Он показывает, чему на страницах в принципе разрешено работать.
Разрешены, помимо наблюдавшихся: проверка Cloudflare Turnstile, сети доставки сценариев cdnjs, unpkg и jsDelivr, Google Переводчик в двух вариантах адресов, reCAPTCHA, YouTube, Google Документы, Power BI, тема оформления Bootswatch, вторая площадка Skynet в зоне .us. Отдельно в правиле соединений разрешён stats.g.doubleclick.net — рекламный узел Google. В этом замере он не сработал, но разрешение на него выдано.
Согласие: что доказано и что нет
Доказано: механизм согласия установлен и загружен. Оформление, настройки и предзагрузчик библиотеки cookiesjsr приходят с собственного домена в интервале +351…+368 мс, вместе с профильным подмодулем cookies_ga на +389 мс.
Доказано: загрузка счётчика этим механизмом не управляется. Инициатор обращения к диспетчеру тегов зафиксирован в записи как разбор разметки главного документа с указанием строки. Тег стоит в самом HTML, выполняется при разборе и никакого условия перед собой не имеет. Подмодуль, предназначенный им управлять, загружается позже него. Это утверждение проверяется по порядку запросов и не зависит от того, нажимал ли кто-нибудь кнопку в панели: при любом выборе результат был бы тем же.
Доказано: выбор в панели в этом сеансе не сделан. За все 217 запросов нет ни одного обращения, фиксирующего решение пользователя.
Доказано: идентификатор записан при первом обращении к сайту. Идентификатор клиента передан в Google в теле запроса, значит, он существует на устройстве. Метка времени в его составе указывает на 09:39:17 UTC — за четыре секунды до первого запроса записи, а признаки первого сеанса в том же обращении подтверждают, что это начало посещения.
Не доказано и не требуется: отображалась ли панель на экране. Тела ответов из опубликованного файла удалены, поэтому визуальное состояние панели по нему не восстанавливается. Для вывода это несущественно: загрузка счётчика от панели не зависит в любом случае.
Отдельно: браузер при съёмке отправлял заголовок DNT: 1. На состав и объём передач это не повлияло. В обращении GA4 выставлены признаки неперсонализированной рекламы и режима цифровых рынков — рекламная составляющая ограничена; на аналитическую передачу с идентификатором клиента это не влияет.
Границы наблюдения
Замер охватывает одну страницу — главную, в одном состоянии. Наблюдение фиксирует поведение браузера, не внутреннюю кухню сервисов: обработка на стороне сервера, договорные отношения с получателями и настройки самих сервисов на стороне их владельцев браузерным замером не проверяются. Правовую оценку выносит компетентный орган — Agencia Española de Protección de Datos.
Файл опубликован очищенным от личных данных: удалены заголовки Cookie в запросах, тела ответов, заголовок страницы, токен площадки виджета доступности, адрес сайта в теле служебного обращения и идентификатор сеанса аналитики. Поэтому состав cookie на устройстве по опубликованному файлу не восстанавливается, и ни один вывод разбора на него не опирается. Факт записи идентификатора аналитики держится на другом и проверяется напрямую: идентификатор передан в Google в теле запроса, видимом в файле.
Перечень получателей, разрешённых заголовком политики безопасности содержимого, — опись возможного, а не наблюдавшегося. Рекламный узел DoubleClick в этом замере не срабатывал.
Идентификация сервисов опирается на домены, схему адресов и заголовки ответов: Google — по googletagmanager.com, analytics.google.com, fonts.googleapis.com и fonts.gstatic.com; Skynet Technologies — по skynettechnologies.com, именам сценариев набора All in One Accessibility и служебному пути api/widget-settings; Font Awesome — по use.fontawesome.com. Механизм согласия опознан по путям модуля Drupal cookies и библиотеки cookiesjsr с указанием версии.
Вывод
Испанский регулятор рынков установил на свой сайт правильный инструмент — панель управления согласием с отдельным дополнением, написанным специально для того, чтобы удерживать Google Analytics до выбора пользователя. И обошёл его собственной разметкой: тег счётчика вписан в HTML главной страницы и уходит на 368-й миллисекунде, на двадцать одну миллисекунду раньше, чем загружается то дополнение, которое должно было им управлять. Через пять секунд в Google отправляется идентификатор клиента вместе с разрешением экрана, платформой, перечнем версий браузера и языком интерфейса.
Информационный документ комиссии при этом отвечает на вопрос о получателях данных отрицанием: передача третьим лицам не предусмотрена. Политика cookie заявляет, что согласие собирается. Из четырёх внешних получателей названа одна Google Analytics — виджет доступности с семнадцатью обращениями, внешний набор значков и шрифт с серверов Google не упомянуты. Раздел об отключении cookie отсылает читателя в настройки браузера и не сообщает, что на сайте есть панель, где выбор можно изменить, а обещанный перечень ссылок на браузеры в тексте отсутствует.
Для органа, который сам надзирает за рынками и применяет правила цифрового регулирования, разрыв между установленным инструментом и его фактическим обходом составляет нарушение требований к согласию и к прозрачности. Устранение: убрать тег счётчика из разметки и передать его загрузку под управление уже установленного подмодуля; перечислить в политике всех получателей с указанием передаваемых полей; описать панель управления согласием и способ отзыва выбора, восполнив отсутствующий перечень ссылок; перенести шрифты и значки на собственную инфраструктуру; исключить из информационного документа утверждение о непредусмотренных передачах либо привести практику в соответствие с ним.
fcbadcec25c147b111f0ba307dfa0dcc445870e2f7487dcf606c148d4262ce26Куда подавать: AEPD — Испанское агентство по защите данных — aepd.es
Кому: AEPD — Испанское агентство по защите данных От: [Ваше имя], [контактный email] 1. Предмет жалобы Я подаю жалобу в отношении обработки моих персональных данных сайтом cnmc.es. 2. Обстоятельства Я посетил сайт cnmc.es и обнаружил признаки несоответствия обработки моих персональных данных требованиям GDPR. Технический разбор, опубликованный на gdpru.eu 31.05.2026 (открытая методология, воспроизводимые измерения), документирует следующие признаки: 1) На сайте установлен и настроен механизм управления согласием: модуль Drupal cookies с библиотекой cookiesjsr и отдельным подмодулем cookies_ga, назначение которого — не допускать загрузку Google Analytics до выбора пользователя. Загрузка счётчика этот механизм обходит. Тег www.googletagmanager.com/gtag/js?id=G-GJ0T3SEQ50 разобран браузером напрямую из разметки главного документа, строка 110, и запрошен на +368 мс — в тот же миллисекундный интервал, что и предзагрузчик самого баннера, и на 21 мс раньше, чем загружается подмодуль cookies_ga, который должен был бы этой загрузкой управлять. Обращение GA4 с идентификатором клиента уходит на +5709 мс. Аналитические cookie сайт сам относит к категории «cookies de análisis», требующей предварительного согласия. 2) Информационный документ о защите данных отвечает на вопрос о получателях однозначно: передача данных каким-либо третьим лицам не предусмотрена, кроме случаев правовой обязанности. Политика cookie открывается заявлением, что для перечисленных целей комиссия собирает согласие пользователя. Фактически согласие не запрашивается, а обращение GA4 передаёт Google идентификатор клиента, разрешение экрана 1536x864, платформу Windows, архитектуру x86/64, перечень версий браузера, язык интерфейса, адрес и заголовок страницы. 3) Раздел о сторонних cookie называет один сервис — Google Analytics. В замере данные посетителя получают также Skynet Technologies (17 запросов на двух доменах, включая обращение к freeada.skynettechnologies.com/api/widget-settings с адресом сайта в теле формы), Font Awesome через инфраструктуру Cloudflare и Google Fonts, откуда подгружается шрифт Noto Sans. Ни один из этих получателей в документах комиссии не назван. 4) Раздел «Desactivar las cookies» предлагает единственный способ управления — настройки браузера, с обещанием привести ссылки на популярные браузеры; сам перечень ссылок в тексте отсутствует. О том, что на сайте установлена панель управления согласием с возможностью отозвать выбор, документ не сообщает. Пользователь, читающий политику, направляется в настройки браузера вместо инструмента, который уже стоит на странице. Полная техническая документация опубликована по адресу: https://gdpru.eu/audits/es-cnmc-es/ 3. Нарушенные положения ePrivacy — LSSI, Ley 34/2002, ст. 22.2 (в связке с GDPR Art. 6(1)(a)); GDPR Art. 5(1)(a) — прозрачность; GDPR Art. 13(1)(e) — раскрытие получателей; GDPR Art. 12(1) — доступность средства отзыва 4. Требование Прошу провести проверку указанных нарушений и принять меры, предусмотренные статьёй 58(2) GDPR. 5. Приложения Полная доказательная база — HAR-файл, контрольная сумма SHA-256 и цитата из политики конфиденциальности сайта, документирующая указанное противоречие — опубликована и проверяема по ссылке в пункте 2 выше. [Дата] [Подпись/имя]