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

obi.de

Немецкая сеть строительных гипермаркетов
DE

Немецкая сеть строительных гипермаркетов. 388 запросов, 21 домен. CloudFront. Usercentrics TCF как CMP — но Kameleoon, Instana, GTM и Bannerflow активны до баннера. Четыре нарушения: два сервиса не задекларированы (Instana, Bannerflow), два активны без согласия (Kameleoon visitorCode, GTM). Baqend SpeedKit и ot.obi.de — собственная инфраструктура OBI.

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

+120 мс · Instana, Usercentrics loader, Kameleoon
Три внешних сервиса активируются одновременно с загрузкой страницы: eum.instana.io/1.8.1/eum.min.js (RUM-мониторинг IBM), web.cmp.usercentrics.eu/ui/loader.js (загрузчик CMP), l96jc26jvj.kameleoon.eu/engine.js (A/B-движок). До баннера.
+131 мс · Baqend SpeedKit
obi-de.app.baqend.com/v1/speedkit/install.js — SpeedKit оптимизирует загрузку страниц, ML-модели (cl_desktop_xgb.json, cl_desktop_cfg.json) и bloomfilter. Затем шесть rum/pi-запросов на протяжении всей сессии. Декларирован в политике как технически необходимый (§25(2) TDDDG).
+202 мс · Google Tag Manager
www.googletagmanager.com/gtm.js?id=GTM-5SDGHH — контейнер тегов загружается до баннера. В политике не упомянут.
+337 мс · Kameleoon visitorCode
eu-data.kameleoon.eu/visit/visitor?siteCode=l96jc26jvj — запрос с currentVisit=true передаёт данные о визите на серверы Kameleoon SAS. Следом (+1101 мс) — visit/events с visitorCode=r5rxxh2... и POST-данными.
+1442 мс · Bannerflow
c.bannerflow.net/scripts/responsive-format-v4.js (did=5cf6638e...) — платформа баннерной рекламы. 19 запросов: скрипты, данные кампании obi-baumarkt, шрифты, оптимизация изображений. Пиксель tr/v2/pixel/ (+2286 мс) до взаимодействия с Usercentrics.
+4636 мс · Usercentrics TCF
uct.service.usercentrics.eu/uct — первый запрос аналитики баннера. web.cmp.usercentrics.eu загружает TcfCmpController, UcTcfCmpView, secondLayer. api.usercentrics.eu возвращает GVL (Global Vendor List IAB TCF v3). graphql.usercentrics.eu — финальный запрос. Баннер отображается через ~4.6 секунды после начала загрузки.

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

Kameleoon — задекларирован как технически необходимый (§25(2) TDDDG), хранение 380 дней — заявлен
Baqend SpeedKit — задекларирован как технически необходимый (§25(2) TDDDG) — заявлен
Usercentrics — задекларирован как CMP (§25(2) TDDDG, Art. 6(1)(c)) — заявлен
Mapp Intelligence / Webtrekk — задекларирован как анонимное отслеживание (§25(2) TDDDG) — заявлен
Bonial — задекларирован (§25(2) TDDDG) — заявлен
+ Instana / IBM (eum.instana.io, eum-blue-saas.instana.io) — не упомянут — не заявлен
+ Bannerflow (c.bannerflow.net) — не упомянут — не заявлен
+ Google Tag Manager (GTM-5SDGHH) — не упомянут — не заявлен

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

+120 мс eum.instana.io без согласия Instana EUM. IBM. Real User Monitoring. Не задекларирован.
+121 мс l96jc26jvj.kameleoon.eu без согласия Kameleoon engine.js. A/B-тестирование. visitorCode.
+202 мс www.googletagmanager.com без согласия GTM-5SDGHH. Контейнер тегов. Не задекларирован.
+1442 мс c.bannerflow.net без согласия Bannerflow. Баннерная реклама. Пиксель tr/v2/pixel/. Не задекларирован.

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

Зафиксированные нарушения

Контекст

OBI — немецкая розничная сеть строительных и хозяйственных гипермаркетов, 350+ магазинов в Германии. Дочерняя компания Tengelmann Group. CloudFront CDN, Next.js-подобная архитектура. HAR: 388 запросов, 21 домен.

Загрузка до баннера: четыре внешних сервиса

Usercentrics (CMP) отображает баннер согласия через ~4,6 секунды после начала загрузки страницы. К этому моменту уже активированы четыре внешних сервиса.

На +120 мс загружается Instana EUM (eum.instana.io/1.8.1/eum.min.js) — инструмент Real User Monitoring компании IBM. На протяжении сессии Instana трижды отправляет данные на eum-blue-saas.instana.io. На +121 мс загружается движок Kameleoon (l96jc26jvj.kameleoon.eu/engine.js). На +337 мс — запрос к eu-data.kameleoon.eu/visit/visitor с присвоением visitorCode, а на +1101 мс — отправка событий визита с этим идентификатором. На +202 мс загружается Google Tag Manager (GTM-5SDGHH). На +1442 мс активируется Bannerflow с пикселем отслеживания.

Kameleoon: «технически необходимый» с visitorCode на 380 дней

Политика декларирует Kameleoon как технически необходимый на основании §25(2)(2) TDDDG и Art. 6(1)(f) DSGVO (законный интерес). Аргумент — «A/B Verteilung von Webseitenbesuchern zur Lastverteilung» (балансировка нагрузки). Однако параметр visitorCode=r5rxxh2up62t7vz7 хранится 380 дней и передаётся на серверы Kameleoon SAS в Германии. Балансировка нагрузки не требует долгосрочного идентификатора посетителя.

Instana и Bannerflow: не задекларированы

Ни IBM Instana, ни Bannerflow не упомянуты в политике конфиденциальности. Bannerflow — шведская платформа управления баннерной рекламой: 19 запросов, включая пиксель tr/v2/pixel/, загрузку шрифтов и данных кампании obi-baumarkt.

Google Tag Manager: не задекларирован

GTM с идентификатором GTM-5SDGHH загружается на +202 мс. В политике нет упоминания ни Google Tag Manager, ни Google, ни «Tag Manager».

Baqend SpeedKit и ot.obi.de

Baqend SpeedKit задекларирован в политике как технически необходимый. Загружает ML-модели предиктивной предзагрузки (cl_desktop_xgb.json) и передаёт RUM-данные через серию rum/pi-запросов на протяжении всей сессии. ot.obi.de — собственный эндпоинт OBI для логирования событий согласия (consent.viewed, onInitialPageLoad); содержит параметры состояния баннера (ess:true, mar:false, ana:false).

Вывод

www.obi.de использует Usercentrics TCF как CMP, однако четыре внешних сервиса активируются до отображения баннера. Instana и Bannerflow отсутствуют в политике конфиденциальности. GTM загружается без согласия и не задекларирован. Kameleoon декларируется как технически необходимый, но присваивает долгосрочный идентификатор посетителя.

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

Куда подавать: BfDI — Федеральный уполномоченный по защите данныхподать жалобу онлайн →

Кому: BfDI — Федеральный уполномоченный по защите данных
От: [Ваше имя], [контактный email]

1. Предмет жалобы
Я подаю жалобу в отношении обработки моих персональных данных сайтом obi.de.

2. Обстоятельства
Я посетил сайт obi.de и обнаружил, что мои персональные данные обрабатывались с нарушением требований GDPR. Технический разбор, опубликованный на gdpru.eu 29.05.2026 (открытая методология, воспроизводимые измерения), документирует следующее:

1) Kameleoon engine.js (+121 мс) и запрос к eu-data.kameleoon.eu/visit/visitor (+337 мс) с visitorCode происходят до появления баннера Usercentrics (+4636 мс). Kameleoon SAS (Offenburg) получает идентификатор посетителя без согласия. Политика декларирует Kameleoon на основании §25(2)(2) TDDDG как технически необходимый, однако присвоение visitorCode с хранением 380 дней — это профилирование, а не техническая необходимость.

2) Instana EUM (eum.instana.io, eum-blue-saas.instana.io) загружается и отправляет данные (+120 мс, +2165 мс, +4529 мс, +6593 мс) до и во время отображения баннера. IBM Instana — инструмент мониторинга реального пользователя (Real User Monitoring). Не упомянут в политике конфиденциальности.

3) Bannerflow (c.bannerflow.net) — платформа управления баннерной рекламой — загружается (+1442 мс) и отправляет пиксель отслеживания tr/v2/pixel/ (+2286 мс) до взаимодействия пользователя с баннером Usercentrics. Bannerflow не упомянут в политике конфиденциальности.

4) Google Tag Manager (gtm.js?id=GTM-5SDGHH, +202 мс) загружается до баннера согласия. GTM не упомянут в политике конфиденциальности ни под собственным именем, ни как «Tag Manager».

Полная техническая документация опубликована по адресу: https://gdpru.eu/audits/obi-de/

3. Нарушенные положения
GDPR Art. 5(1)(a); TDDDG § 25(1); GDPR Art. 13(1)(e); TDDDG § 25(1); GDPR Art. 13(1)(e); TDDDG § 25(1); GDPR Art. 13(1)(e)

4. Требование
Прошу провести проверку указанных нарушений и принять меры, предусмотренные статьёй 58(2) GDPR.

5. Приложения
Полная доказательная база — HAR-файл, контрольная сумма SHA-256
и цитата из политики конфиденциальности сайта, документирующая
указанное противоречие — опубликована и проверяема по ссылке
в пункте 2 выше.

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