Policy changed — see what exactly · 2026-09-16 →
A German home improvement retail chain. 388 requests, 21 domains. CloudFront. Usercentrics TCF serves as the CMP — but Kameleoon, Instana, GTM, and Bannerflow are all active before the banner. Four violations: two services undeclared (Instana, Bannerflow), two active without consent (Kameleoon visitorCode, GTM). Baqend SpeedKit and ot.obi.de — OBI's proprietary infrastructure.
Request timeline
Declared versus actual
Transfer timings
Instana EUM. IBM. Real User Monitoring. Not declared.
Kameleoon engine.js. A/B testing. visitorCode.
GTM-5SDGHH. Tag container. Not declared.
Bannerflow. Banner advertising. tr/v2/pixel/. Not declared.
Detected trackers
- Kameleoon (eu-data.kameleoon.eu) — A/B testing, visitorCode before consent
- Instana / IBM (eum.instana.io, eum-blue-saas.instana.io) — APM performance monitoring
- Baqend SpeedKit (obi-de.app.baqend.com) — RUM monitoring, rum/pi requests
- Google Tag Manager (www.googletagmanager.com) — tag container
- Bannerflow (c.bannerflow.net) — banner advertising platform
- Usercentrics (web.cmp.usercentrics.eu et al.) — CMP
Indicators of GDPR non-compliance
- GDPR Art. 5(1)(a); TDDDG § 25(1)Kameleoon's engine.js (+121 ms) and a request to eu-data.kameleoon.eu/visit/visitor (+337 ms) carrying a visitorCode occur before the Usercentrics banner appears (+4636 ms). Kameleoon SAS (Offenburg) receives a visitor identifier without consent. The policy declares Kameleoon as technically necessary under §25(2)(2) TDDDG, but assigning a visitorCode with a 380-day retention period constitutes profiling, not a technical necessity.
- GDPR Art. 13(1)(e); TDDDG § 25(1)Instana EUM (eum.instana.io, eum-blue-saas.instana.io) loads and transmits data (+120 ms, +2165 ms, +4529 ms, +6593 ms) before and during the banner's display. IBM Instana is a Real User Monitoring tool. It is not mentioned in the privacy policy.
- GDPR Art. 13(1)(e); TDDDG § 25(1)Bannerflow (c.bannerflow.net) — a banner-advertising management platform — loads (+1442 ms) and sends a tracking pixel via tr/v2/pixel/ (+2286 ms) before the user interacts with the Usercentrics banner. Bannerflow is not mentioned in the privacy policy.
- GDPR Art. 13(1)(e)Google Tag Manager (gtm.js?id=GTM-5SDGHH, +202 ms) loads before the consent banner. GTM is not mentioned in the privacy policy, either under its own name or as a 'Tag Manager.'
Context
OBI is a German retail chain of home improvement and hardware hypermarkets, with 350+ stores across Germany. A subsidiary of the Tengelmann Group. CloudFront CDN, a Next.js-like architecture. HAR: 388 requests, 21 domains.
Loading before the banner: four external services
Usercentrics (the CMP) displays the consent banner roughly 4.6 seconds after the page begins loading. By that point, four external services are already active.
At +120 ms, Instana EUM (eum.instana.io/1.8.1/eum.min.js) loads — IBM’s Real User Monitoring tool. Over the course of the session, Instana transmits data to eum-blue-saas.instana.io three times. At +121 ms, the Kameleoon engine loads (l96jc26jvj.kameleoon.eu/engine.js). At +337 ms — a request to eu-data.kameleoon.eu/visit/visitor assigning a visitorCode, followed at +1101 ms by transmission of visit events carrying that identifier. At +202 ms, Google Tag Manager loads (GTM-5SDGHH). At +1442 ms, Bannerflow activates with a tracking pixel.
Kameleoon: “technically necessary” with a 380-day visitorCode
The policy declares Kameleoon as technically necessary under §25(2)(2) TDDDG and Art. 6(1)(f) DSGVO (legitimate interest). The stated rationale is “A/B Verteilung von Webseitenbesuchern zur Lastverteilung” (load balancing). However, the visitorCode=r5rxxh2up62t7vz7 parameter is retained for 380 days and transmitted to Kameleoon SAS’s servers in Germany. Load balancing does not require a long-lived visitor identifier.
Instana and Bannerflow: undeclared
Neither IBM Instana nor Bannerflow is mentioned in the privacy policy. Bannerflow is a Swedish banner-advertising management platform: 19 requests, including a tr/v2/pixel/ pixel, font loading, and obi-baumarkt campaign data.
Google Tag Manager: undeclared
GTM with identifier GTM-5SDGHH loads at +202 ms. The policy contains no mention of Google Tag Manager, Google, or a “Tag Manager” of any kind.
Baqend SpeedKit and ot.obi.de
Baqend SpeedKit is declared in the policy as technically necessary. It loads predictive-preload ML models (cl_desktop_xgb.json) and transmits RUM data via a series of rum/pi requests throughout the session. ot.obi.de is OBI’s proprietary endpoint for logging consent events (consent.viewed, onInitialPageLoad); it carries banner-state parameters (ess:true, mar:false, ana:false).
Conclusion
www.obi.de uses Usercentrics TCF as its CMP, yet four external services activate before the banner is displayed. Instana and Bannerflow are absent from the privacy policy. GTM loads without consent and is undeclared. Kameleoon is declared as technically necessary, but it assigns a long-lived visitor identifier.
How to verify: download the file and compute its checksum — sha256sum file.har (Linux, macOS) or certutil -hashfile file.har SHA256 (Windows); it must match the one shown. The conclusions apply to the scope of this measurement — see the limitations of the method.
f69fdf09f65e74b018663d9a6a2ab06a49f6f415863f83f90f4f5317f7a6cc73Want a response from the company about this audit? → Open the tool
Fill in once — it will be inserted into every letter below:
All fields are required to print the document — this is a formal requirement of the letter itself (the particulars of an official submission), not data collection: nothing is sent or saved anywhere, it all stays in your browser and disappears when you close the page. See the methodology for details.
RIA DigiDoc — phone · Smart-ID / Mobile-ID
Send this letter directly to the company first — before contacting the regulator it has the right to respond (GDPR Art. 12(3) — 30 days).
Тема: Запрос доступа к персональным данным (ст. 15 GDPR) — obi.de Кому: [укажите адрес компании — DPO / поддержка / юридический отдел] От: [Ваше имя], [контактный email] Прошу предоставить доступ к моим персональным данным, обрабатываемым в связи с использованием сайта obi.de. 1. Категории данных и цели обработки (ст. 15(1)(a)-(c)) На основании независимого технического анализа сайта прошу подтвердить и подробно раскрыть следующие категории обработки: 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». 2. Получатели, сроки хранения и передача за пределы ЕЭЗ (ст. 15(1)(c)-(d), 46) Прошу также указать полный список третьих лиц-получателей, применимые сроки хранения по каждой категории и правовые основания передачи данных за пределы ЕЭЗ, если таковая происходит. Полный технический разбор с доказательствами (сохранённый сетевой журнал, контрольная сумма SHA-256) опубликован по адресу: https://gdpru.eu/en/audits/de-obi-de/ 3. Автоматизированная обработка и профилирование (ст. 15(1)(h)) Прошу сообщить, применяется ли в отношении меня автоматизированное принятие решений или профилирование, и если да — раскрыть логику такой обработки. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Data access request (GDPR Art. 15) — obi.de To: [insert the company's address — DPO / support / legal department] From: [Your name], [contact email] I request access to my personal data processed in connection with the website obi.de. 1. Categories of data and purposes of processing (Art. 15(1)(a)-(c)) Based on an independent technical analysis of the site, I request confirmation and detailed disclosure of the following categories of processing: 1) Kameleoon's engine.js (+121 ms) and a request to eu-data.kameleoon.eu/visit/visitor (+337 ms) carrying a visitorCode occur before the Usercentrics banner appears (+4636 ms). Kameleoon SAS (Offenburg) receives a visitor identifier without consent. The policy declares Kameleoon as technically necessary under §25(2)(2) TDDDG, but assigning a visitorCode with a 380-day retention period constitutes profiling, not a technical necessity. 2) Instana EUM (eum.instana.io, eum-blue-saas.instana.io) loads and transmits data (+120 ms, +2165 ms, +4529 ms, +6593 ms) before and during the banner's display. IBM Instana is a Real User Monitoring tool. It is not mentioned in the privacy policy. 3) Bannerflow (c.bannerflow.net) — a banner-advertising management platform — loads (+1442 ms) and sends a tracking pixel via tr/v2/pixel/ (+2286 ms) before the user interacts with the Usercentrics banner. Bannerflow is not mentioned in the privacy policy. 4) Google Tag Manager (gtm.js?id=GTM-5SDGHH, +202 ms) loads before the consent banner. GTM is not mentioned in the privacy policy, either under its own name or as a 'Tag Manager.' 2. Recipients, retention periods, and transfers outside the EEA (Art. 15(1)(c)-(d), 46) I also request the full list of third-party recipients, the applicable retention period for each category, and the legal basis for any transfer of data outside the EEA. The full technical audit with evidence (saved network log, SHA-256 checksum) is published at: https://gdpru.eu/en/audits/de-obi-de/ 3. Automated processing and profiling (Art. 15(1)(h)) Please state whether I am subject to automated decision-making or profiling, and if so, disclose the logic involved. Sincerely, [Your name] [contact email] [Country] [Date]
RIA DigiDoc — phone · Smart-ID / Mobile-ID
Where to file: Federal Commissioner for Data Protection (BfDI) — file a complaint online →
The regulator reviews complaints in its national language. There is an officially translated template from the European Data Protection Board (EDPB) — you can use it instead of or alongside this letter: Official EDPB complaint form (PDF, your language)
Тема: Жалоба на обработку персональных данных — obi.de 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/en/audits/de-obi-de/ 3. Положения GDPR, соблюдение которых прошу проверить 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 выше. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Complaint regarding personal data processing — obi.de 1. Subject of the complaint I am filing a complaint regarding the processing of my personal data by the website obi.de. 2. Circumstances I visited the website obi.de and found indications that the processing of my personal data does not comply with the GDPR. The technical analysis published on gdpru.eu on 29 May 2026 (open methodology, reproducible measurements) documents the following indications: 1) Kameleoon's engine.js (+121 ms) and a request to eu-data.kameleoon.eu/visit/visitor (+337 ms) carrying a visitorCode occur before the Usercentrics banner appears (+4636 ms). Kameleoon SAS (Offenburg) receives a visitor identifier without consent. The policy declares Kameleoon as technically necessary under §25(2)(2) TDDDG, but assigning a visitorCode with a 380-day retention period constitutes profiling, not a technical necessity. 2) Instana EUM (eum.instana.io, eum-blue-saas.instana.io) loads and transmits data (+120 ms, +2165 ms, +4529 ms, +6593 ms) before and during the banner's display. IBM Instana is a Real User Monitoring tool. It is not mentioned in the privacy policy. 3) Bannerflow (c.bannerflow.net) — a banner-advertising management platform — loads (+1442 ms) and sends a tracking pixel via tr/v2/pixel/ (+2286 ms) before the user interacts with the Usercentrics banner. Bannerflow is not mentioned in the privacy policy. 4) Google Tag Manager (gtm.js?id=GTM-5SDGHH, +202 ms) loads before the consent banner. GTM is not mentioned in the privacy policy, either under its own name or as a 'Tag Manager.' Full technical documentation is published at: https://gdpru.eu/en/audits/de-obi-de/ 3. GDPR provisions I ask you to examine 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. Request I request that you examine the circumstances described and, if non-compliance is confirmed, apply the measures provided for in Article 58(2) GDPR. 5. Attachments The full evidence base — the HAR file, its SHA-256 checksum and the quotation from the site's privacy policy documenting the stated contradiction — is published and verifiable at the link in point 2 above. Sincerely, [Your name] [contact email] [Country] [Date]