Сайт парламента Люксембурга — 48 запросов, пять узлов. Единственный внешний получатель — аналитическая платформа TWIPLA, но работает она в полном объёме: устойчивый идентификатор посетителя, служба опросов и постоянное соединение по протоколу WebSocket, открытое на 2711-й миллисекунде. Механизма согласия на сайте не обнаружено. Уведомление о защите данных описывает сбор только через формы и петиции, а об обработке при простом просмотре не сообщает ничего — ни слова cookie, ни слова аналитика в нём нет.
Хронология утечки
Декларация против факта
Тайминги передачи
main.js с идентификатором площадки.
Настройки наблюдения для площадки.
POST worker-log, ответ 201.
ssr-worker.js.
Адрес страницы и устойчивый идентификатор посетителя в открытом виде в адресе запроса.
Соединение по протоколу WebSocket, код 101.
Зафиксированные трекеры
- TWIPLA / Visitor Analytics (app-worker.visitor-analytics.io, visits.visitor-analytics.io, lb-api.visitor-analytics.io) — девять обращений, включая постоянное соединение по протоколу WebSocket
Признаки несоответствия GDPR
- ePrivacy — Loi du 30 mai 2005, ст. 4 (в связке с GDPR Art. 6(1)(a))Механизма управления согласием на сайте не обнаружено: за все 48 запросов не встречается ни одного обращения к платформе согласия и ни одного сценария с признаками баннера. Аналитическая платформа TWIPLA при этом отрабатывает полностью: сценарий на +1726 мс, запрос настроек площадки на +1996 мс, отправка журнала на +2363 мс, второй сценарий на +2523 мс, обращение к службе опросов на +2527 мс и, наконец, установление постоянного соединения по протоколу WebSocket на +2711 мс с кодом 101 — то есть канал открыт и держится.
- GDPR Art. 13(1)(e) — раскрытие получателейУведомление о защите данных не называет ни одного получателя веб-данных. Перечень адресатов в нём состоит из подрядчиков по рассылке отчётов, других органов публичной администрации Люксембурга и Центра информационных технологий государства — последний только в связи с проверкой записи в национальном реестре при подаче публичной петиции. Аналитическая платформа, которой в замере уходят данные каждого посетителя главной страницы, в документе отсутствует.
- GDPR Art. 5(1)(a) и Art. 13(1)(c) — прозрачность и цели обработкиУведомление описывает сбор персональных данных исчерпывающим перечнем: через форму обратной связи, при оформлении подписки на материалы палаты и на стенограммы, при обращении по электронной почте, а также при подаче и подписании петиций. Об обработке, происходящей при простом просмотре сайта, документ не сообщает ничего: слова cookie, аналитика, статистика посещений в нём не встречаются ни разу. Между тем при открытии главной страницы во внешнюю платформу передаётся устойчивый идентификатор посетителя вместе с адресом просматриваемой страницы.
Контекст
chd.lu — сайт Палаты депутатов Люксембурга, однопалатного парламента Великого Герцогства. Публикует парламентские досье, вопросы депутатов, стенограммы пленарных заседаний, материалы о петициях и образовательные разделы. Ответственный за обработку — сама Палата, улица Марше-о-Эрб, 23, Люксембург; функцию специалиста по защите данных исполняет внешний подрядчик от Deloitte Tax & Consulting. Платформа — Drupal с собственной темой.
Замер: 48 запросов, пять узлов. Тридцать девять обращений к собственным доменам, девять — к аналитической платформе. Продолжительность записи — 2,7 секунды, полная загрузка страницы завершилась на 2003 мс. Снят 15 июня 2026 года на главной странице во французской версии.
Обработку описывает единственный документ — уведомление о защите персональных данных.
Кому уходят данные напрямую
TWIPLA (Visitor Analytics).
Заявленное против фактического
Расхождение здесь не в деталях, а в самом предмете описания.
Документ не знает, что у сайта есть посетители. Уведомление построено вокруг ситуаций, когда человек сам обращается к парламенту: заполняет форму обратной связи, подписывается на парламентские досье или стенограммы, пишет по электронной почте, подаёт или подписывает петицию. Для каждой ситуации честно перечислены категории данных — вплоть до места и даты рождения при публичной петиции, — указаны основания и сроки хранения, названы получатели, включая Центр информационных технологий государства для сверки с национальным реестром.
Об обработке, которая происходит при простом открытии страницы, документ не сообщает ничего. Слова cookie в нём нет ни разу. Слов «аналитика», «статистика посещений», «измерение аудитории» — тоже. Раздел о том, какие данные собираются, начинается с указания на форму обратной связи и подписку, то есть очерчивает сбор исчерпывающе и не оставляет места для наблюдения за читателем.
Наблюдение при этом ведётся, и в развёрнутом виде. С 1726-й миллисекунды разворачивается платформа TWIPLA, известная также под прежним названием Visitor Analytics. Последовательность такая: сценарий с идентификатором площадки, запрос настроек наблюдения для этой площадки, отправка журнала методом POST с ответом 201 — запись на стороне платформы создана, второй сценарий, обращение к службе таргетирования опросов и установление постоянного соединения.
Два элемента заслуживают отдельного внимания.
Первый — обращение к службе опросов на +2527 мс. В адресе этого запроса открытым текстом, в виде обычных параметров, передаются адрес просматриваемой страницы и устойчивый идентификатор посетителя. Идентификатор представляет собой строку фиксированной длины в кодировке base64 и служит для узнавания того же посетителя при последующих визитах. Полностью в разборе он не приводится.
Второй — соединение на +2711 мс. Запрос уходит по протоколу WebSocket и получает код 101, что означает переключение протокола: канал установлен и остаётся открытым, пока страница открыта. Это принципиально иной режим, чем разовая отправка события: по такому каналу данные могут передаваться непрерывно, в обе стороны, без отдельных видимых запросов.
Второй сценарий платформы носит имя ssr-worker.js. В наборе возможностей TWIPLA присутствует запись сеансов, и сокращение в имени файла соответствует этому назначению, однако по браузерному замеру, где тела ответов не сохранены, утверждать это как факт нельзя — фиксируется имя файла и наличие постоянного канала.
Механизма согласия нет. За все 48 запросов не обнаружено ни одного обращения к платформе управления согласием и ни одного сценария с соответствующими признаками. Проверялись имена известных платформ и общие признаки в адресах — совпадений ноль.
Что стоит отметить в пользу сайта. Внешних получателей всего один. Шрифты, изображения, сценарии темы и служебные запросы идут исключительно на собственные домены — ни картографических библиотек, ни сторонних наборов значков, ни встроенных проигрывателей. Набор защитных заголовков присутствует: строгий транспорт, запрет вложения в кадр с чужого источника, запрет угадывания типа содержимого, ограничительная политика реферера и отдельный заголовок, отключающий когортную рекламную технологию браузера. Заголовок Content-Security-Policy при этом не выставлен.
Отдельно про третьи страны. Уведомление прямо заявляет, что в рамках перечисленных обработок передачи за пределы Европейского союза не производится. TWIPLA — берлинская компания, и по её собственным заявлениям обработка ведётся в пределах Союза; браузерным замером это не проверяется. Как нарушение правил о трансграничной передаче наблюдение не фиксируется — оговорка «в рамках перечисленных обработок» к веб-аналитике попросту не относится, поскольку она в перечень не входит.
Согласие: что доказано и что нет
Доказано: механизма согласия в записи нет. Ни одного обращения к платформе управления согласием, ни одного сценария с соответствующими признаками за все 48 запросов.
Доказано: аналитика отработала полностью и передала данные. Отправка журнала получила ответ 201, то есть запись на стороне платформы создана. Обращение к службе опросов несёт идентификатор посетителя и адрес страницы. Постоянное соединение установлено с кодом 101.
Доказано: загрузка от выбора пользователя не зависит. Инициатором сценария платформы записан сценарий собственной темы сайта, подгружаемый из подвала страницы, — то есть вызов встроен в код сайта и выполняется при его исполнении. Никакого условия, связанного с выбором пользователя, перед ним нет.
Не доказано и не требуется: отсутствие текстового уведомления в разметке. Тела ответов из опубликованного файла удалены, поэтому наличие информационной плашки в HTML по нему не проверяется. Вывод построен не на этом, а на том, что аналитика запускается из кода темы и ни от какой плашки не зависит, и что платформы, способной ею управлять, на странице нет.
Отдельно: браузер при съёмке отправлял заголовок DNT: 1. На состав и объём передач это не повлияло.
Границы наблюдения
Замер охватывает одну страницу — главную во французской версии, в одном состоянии. Разделы петиций, где по документам собираются имя, дата и место рождения, в замер не входили, и утверждений о них разбор не делает.
Наблюдение фиксирует поведение браузера, не внутреннюю кухню сервисов: обработка на стороне платформы, её договорные отношения с парламентом, состав хранимых ею данных и география обработки браузерным замером не проверяются. Правовую оценку выносит компетентный орган — Commission nationale pour la protection des données.
Файл опубликован очищенным от личных данных: удалены заголовки cookie, тела ответов, заголовок вкладки и тело отправленного журнала. Устойчивый идентификатор посетителя в разборе не приводится полностью. Состав cookie на устройстве по опубликованному файлу не восстанавливается, и ни один вывод разбора на него не опирается: все утверждения держатся на адресах запросов, их порядке, кодах ответов и зафиксированных инициаторах.
Содержимое, передаваемое по постоянному соединению, в браузерной записи такого рода не сохраняется — фиксируется сам факт установления канала и код ответа. Назначение сценария ssr-worker.js определяется по имени файла и по известным возможностям платформы; проверить его по замеру нельзя.
Идентификация сервиса опирается на домены visitor-analytics.io, схему адресов с идентификатором площадки и заголовки ответов узлов платформы.
Вывод
Уведомление о защите данных Палаты депутатов Люксембурга написано аккуратно и подробно — для тех, кто пишет парламенту письма, подписывается на стенограммы или подаёт петиции. Для тех, кто просто открывает сайт почитать новости, в нём нет ни строчки: слово cookie не встречается ни разу, аналитика не упомянута, обработка при просмотре не описана как явление.
Между тем при открытии главной страницы разворачивается внешняя аналитическая платформа: запрашивает настройки наблюдения, отправляет журнал, передаёт в адресе запроса устойчивый идентификатор посетителя вместе с адресом просматриваемой страницы и открывает постоянное соединение, которое держится всё время, пока страница открыта. Механизма согласия на сайте не обнаружено — ни баннера, ни платформы, ни сохранённого выбора.
В остальном сайт устроен сдержанно: единственный внешний получатель, собственные шрифты и изображения, разумный набор защитных заголовков. Тем заметнее разрыв между этой сдержанностью и полным молчанием документа о том единственном наблюдении, которое всё-таки ведётся.
Устранение: ввести механизм согласия, управляющий загрузкой аналитической платформы, и не запускать её из кода темы до выбора посетителя; дополнить уведомление разделом об обработке при посещении сайта — с указанием платформы, передаваемых полей, включая идентификатор посетителя, целей, срока хранения и правового основания; описать назначение постоянного соединения и службы опросов.
06a00fceddcbe439097f2098bc5af64fdb52d611949b983be467a921f9555728Куда подавать: CNPD — Национальная комиссия по защите данных Люксембурга — cnpd.lu
Кому: CNPD — Национальная комиссия по защите данных Люксембурга От: [Ваше имя], [контактный email] 1. Предмет жалобы Я подаю жалобу в отношении обработки моих персональных данных сайтом www.chd.lu. 2. Обстоятельства Я посетил сайт www.chd.lu и обнаружил признаки несоответствия обработки моих персональных данных требованиям GDPR. Технический разбор, опубликованный на gdpru.eu 15.06.2026 (открытая методология, воспроизводимые измерения), документирует следующие признаки: 1) Механизма управления согласием на сайте не обнаружено: за все 48 запросов не встречается ни одного обращения к платформе согласия и ни одного сценария с признаками баннера. Аналитическая платформа TWIPLA при этом отрабатывает полностью: сценарий на +1726 мс, запрос настроек площадки на +1996 мс, отправка журнала на +2363 мс, второй сценарий на +2523 мс, обращение к службе опросов на +2527 мс и, наконец, установление постоянного соединения по протоколу WebSocket на +2711 мс с кодом 101 — то есть канал открыт и держится. 2) Уведомление о защите данных не называет ни одного получателя веб-данных. Перечень адресатов в нём состоит из подрядчиков по рассылке отчётов, других органов публичной администрации Люксембурга и Центра информационных технологий государства — последний только в связи с проверкой записи в национальном реестре при подаче публичной петиции. Аналитическая платформа, которой в замере уходят данные каждого посетителя главной страницы, в документе отсутствует. 3) Уведомление описывает сбор персональных данных исчерпывающим перечнем: через форму обратной связи, при оформлении подписки на материалы палаты и на стенограммы, при обращении по электронной почте, а также при подаче и подписании петиций. Об обработке, происходящей при простом просмотре сайта, документ не сообщает ничего: слова cookie, аналитика, статистика посещений в нём не встречаются ни разу. Между тем при открытии главной страницы во внешнюю платформу передаётся устойчивый идентификатор посетителя вместе с адресом просматриваемой страницы. Полная техническая документация опубликована по адресу: https://gdpru.eu/audits/lu-chd-lu/ 3. Нарушенные положения ePrivacy — Loi du 30 mai 2005, ст. 4 (в связке с GDPR Art. 6(1)(a)); GDPR Art. 13(1)(e) — раскрытие получателей; GDPR Art. 5(1)(a) и Art. 13(1)(c) — прозрачность и цели обработки 4. Требование Прошу провести проверку указанных нарушений и принять меры, предусмотренные статьёй 58(2) GDPR. 5. Приложения Полная доказательная база — HAR-файл, контрольная сумма SHA-256 и цитата из политики конфиденциальности сайта, документирующая указанное противоречие — опубликована и проверяема по ссылке в пункте 2 выше. [Дата] [Подпись/имя]