Технический аудит · 2026-06-15

www.chd.lu

Палата депутатов Люксембурга

Сайт парламента Люксембурга — 48 запросов, пять узлов. Единственный внешний получатель — аналитическая платформа TWIPLA, но работает она в полном объёме: устойчивый идентификатор посетителя, служба опросов и постоянное соединение по протоколу WebSocket, открытое на 2711-й миллисекунде. Механизма согласия на сайте не обнаружено. Уведомление о защите данных описывает сбор только через формы и петиции, а об обработке при простом просмотре не сообщает ничего — ни слова cookie, ни слова аналитика в нём нет.

Хронология утечки

+0…+441 мс · вход
Четыре перенаправления: незащищённое соединение на защищённое, затем на адрес с префиксом www. Документ отдаётся на +811 мс, платформа Drupal, тема chd.
+924…+1215 мс · собственные ресурсы
Стили, сценарии, изображения новостей и шрифты — всё с www.chd.lu. Сторонних шрифтов и картографических библиотек нет. Браузер отправлял заголовок DNT: 1.
+1726 мс · аналитическая платформа
app-worker.visitor-analytics.io/main.js с идентификатором площадки в адресе. Инициатор — сценарий темы сайта, подгружаемый из подвала страницы.
+1996 и +2001 мс · настройки площадки
visits.visitor-analytics.io/api/standalone/websites/…/settings — конфигурация наблюдения для этой площадки, с предварительным запросом разрешения на межсайтовое обращение.
+2363 мс · передача журнала
POST на visits.visitor-analytics.io/standalone/worker-log, ответ 201 — запись создана на стороне платформы.
+2523 мс · второй сценарий
app-worker.visitor-analytics.io/ssr-worker.js.
+2527 мс · передача идентификатора посетителя
lb-api.visitor-analytics.io/api/v2/websites/…/polls/targeting — служба таргетирования опросов. В адресе открытым текстом передаются адрес просматриваемой страницы и устойчивый идентификатор посетителя.
+2711 мс · постоянное соединение
wss://visits.visitor-analytics.io/websocket, код ответа 101 — протокол переключён, канал установлен и остаётся открытым.

Декларация против факта

Ответственный за обработку — Палата депутатов, ул. Марше-о-Эрб, 23, Люксембург — заявлен
Специалист по защите данных — внешний, от Deloitte Tax & Consulting — заявлен
Данные собираются через форму обратной связи, подписку на материалы и стенограммы, обращения по электронной почте, петиции — заявлен
Категории данных: имя, фамилия, почтовый адрес, телефон, адрес электронной почты, пароль; для публичной петиции дополнительно место и дата рождения — заявлен
Основания обработки — согласие либо выполнение задачи в публичном интересе — заявлен
Получатели: подрядчики по рассылке, другие органы публичной администрации, Центр информационных технологий государства — для проверки записи в национальном реестре при публичной петиции — заявлен
Передачи данных за пределы Европейского союза в рамках перечисленных обработок не производится — заявлен
Для защиты собираемых через сайт данных применяется шифрование канала — заявлен
+ TWIPLA / Visitor Analytics — аналитическая платформа, единственный внешний получатель в замере — не заявлен
+ Устойчивый идентификатор посетителя, передаваемый в открытом виде в адресе запроса — не заявлен
+ Постоянное соединение по протоколу WebSocket — не заявлен
+ Служба таргетирования опросов — не заявлен
+ Сам факт обработки данных при просмотре сайта — в документе не описан — не заявлен

Тайминги передачи

+1726 мс app-worker.visitor-analytics.io

main.js с идентификатором площадки.

+1996 мс visits.visitor-analytics.io

Настройки наблюдения для площадки.

+2363 мс visits.visitor-analytics.io

POST worker-log, ответ 201.

+2523 мс app-worker.visitor-analytics.io

ssr-worker.js.

+2527 мс lb-api.visitor-analytics.io

Адрес страницы и устойчивый идентификатор посетителя в открытом виде в адресе запроса.

+2711 мс visits.visitor-analytics.io

Соединение по протоколу WebSocket, код 101.

Зафиксированные трекеры

Признаки несоответствия GDPR

Контекст

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 не встречается ни разу, аналитика не упомянута, обработка при просмотре не описана как явление.

Между тем при открытии главной страницы разворачивается внешняя аналитическая платформа: запрашивает настройки наблюдения, отправляет журнал, передаёт в адресе запроса устойчивый идентификатор посетителя вместе с адресом просматриваемой страницы и открывает постоянное соединение, которое держится всё время, пока страница открыта. Механизма согласия на сайте не обнаружено — ни баннера, ни платформы, ни сохранённого выбора.

В остальном сайт устроен сдержанно: единственный внешний получатель, собственные шрифты и изображения, разумный набор защитных заголовков. Тем заметнее разрыв между этой сдержанностью и полным молчанием документа о том единственном наблюдении, которое всё-таки ведётся.

Устранение: ввести механизм согласия, управляющий загрузкой аналитической платформы, и не запускать её из кода темы до выбора посетителя; дополнить уведомление разделом об обработке при посещении сайта — с указанием платформы, передаваемых полей, включая идентификатор посетителя, целей, срока хранения и правового основания; описать назначение постоянного соединения и службы опросов.

Доказательство
Оригинал (разбор)
HAR-файл: lu/chd-lu-2026-06-15.har
SHA-256: 06a00fceddcbe439097f2098bc5af64fdb52d611949b983be467a921f9555728
Контрольный снимок
Ждём изменений
HAR-файлы хранятся в EU-инфраструктуре (Proton Drive). SHA-256 публикуется для проверки целостности.
ВАЖНО: прежде чем подавать жалобу регулятору — сначала обратитесь напрямую в компанию и дайте 30 дней на ответ. Без этого шага регулятор может отклонить жалобу. Подробности и шаблон письма компании — в разделе Методология.
Готовое письмо для подачи жалобы

Куда подавать: 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 выше.

[Дата]                                    [Подпись/имя]