Amsterdam.nl is the official website of the City of Amsterdam. Homepage scan: 72 requests, 10 domains. The city handles its web statistics exemplarily: on its own Piwik PRO platform, with the visitor's IP not stored, per policy — such statistics are anonymized and do not require consent. The scan shows no third-party advertising, no Google Analytics, and no social media pixels. But before consent, the page initializes a third-party co-browsing tool: it registers a device identifier on the third-party service's servers and opens a persistent connection. The screen display itself only occurs when the user contacts support, but the connection and third-party identifier are created upon page load, before the user's choice.
Request timeline
Declared versus actual
Detected trackers
- Anonymized city statistics (Piwik PRO)
- Cobrowse.io (co-browsing)
- Salesforce (support chat)
- Dynatrace (monitoring)
- Usabilla (surveys)
Indicators of GDPR non-compliance
- Art. 6(1)(a) GDPR and art. 11.7a Telecommunicatiewet — third-party co-browsing tool establishes a connection and identifier before consentThe site has its own consent banner, and in this session consent was not given. The city runs its web statistics correctly: on its own Piwik PRO platform with a non-anonymized IP that, per policy, is not stored — such statistics are anonymized and exempt from consent. The problem lies elsewhere. Before consent, the page initializes a third-party co-browsing tool (screen-sharing for support): it registers a device identifier on the third-party service's servers and opens a persistent connection via web socket. In other words, a connection is established and an identifier created with a third party before the user has made any choice. The screen-sharing itself only happens when the user contacts support, but the preparatory connection and third-party identifier arise on a simple page load. Co-browsing is not a function necessary for the page to work, so establishing such a connection before consent requires a legal basis under Dutch cookie law.
Context
www.amsterdam.nl is the official website of the City of Amsterdam (Gemeente Amsterdam): municipal services, information for residents, requests to city departments. The data controller is the Municipality of Amsterdam. The site is informational and service-oriented.
Scan: 72 requests to 10 domains, homepage, captured in a clean Edge browser without a VPN or ad blocker. The site has its own consent banner. The technical stack includes anonymized statistics, support tools, and monitoring.
Who receives the data
Observed here: Cobrowse.io (co-browsing), Salesforce (support chat).
The city runs its web statistics on its own Piwik PRO platform, with the visitor’s IP not stored, per policy — this is anonymized statistics. Support uses a chat built on the Salesforce platform and a third-party co-browsing tool that lets an agent see the user’s screen when they reach out. Additionally, Dynatrace performance monitoring and a survey service are running. The scan shows no third-party advertising, no Google Analytics, and no social media pixels.
Was there a consent banner
Yes, the site has its own consent banner, and in this session consent was not given. Not a single cookie was set during the session.
The web statistics are set up correctly: they are anonymized (IP not stored) and exempt from consent. The co-browsing tool, however, establishes a connection and an identifier with a third party before the user’s choice.
What fires before consent
Before consent, the following fire:
- anonymized city statistics (Piwik PRO) — exempt from consent;
- co-browsing initialization — device identifier registration and a persistent connection to a third-party service;
- performance monitoring and support chat (technical and functional).
The statistics are not a concern here — they are anonymized. The key issue is co-browsing: the screen display itself only occurs when the user contacts support, but the preparatory connection and third-party identifier arise on a simple page load. Co-browsing is not required for the page to function, so such a connection before consent requires a legal basis.
What works in the site’s favor
This is worth highlighting. The city runs its statistics anonymized, without storing IP addresses, and uses no Google Analytics, no social media pixels, and no advertising networks. The main risk — a scatter of advertising trackers — is entirely absent here. The support tools (chat, co-browsing) are functional, not advertising-related.
Conclusion
Amsterdam.nl is, on the whole, a restrained municipal site with one narrow issue. The web statistics are anonymized and don’t require consent, and there is no advertising or third-party analytics at all. But the third-party co-browsing tool registers a device identifier and opens a persistent connection to a third-party service upon page load — before the user has given consent, even though the screen display itself is only needed when the user contacts support. The key takeaway for the reader: even a tool that is functional in purpose must, if it establishes a connection and identifier with a third party, be initialized only after consent or only at the moment the user actually requests support. It would be enough to defer the co-browsing connection until the user reaches out — and the site would be clean.
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.
ae68ef81ba5b1c50c487bfb9ea140a41fecfd07ae017526f3c35f5849f08e3d5Want 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) — amsterdam.nl Кому: [укажите адрес компании — DPO / поддержка / юридический отдел] От: [Ваше имя], [контактный email] Прошу предоставить доступ к моим персональным данным, обрабатываемым в связи с использованием сайта amsterdam.nl. 1. Категории данных и цели обработки (ст. 15(1)(a)-(c)) На основании независимого технического анализа сайта прошу подтвердить и подробно раскрыть следующие категории обработки: 1) На сайте есть собственный баннер согласия, и в этом сеансе согласие не дано. Веб-статистику город ведёт корректно: на собственной платформе Piwik PRO с неанонимным IP, который, по политике, не сохраняется, — такая статистика обезличена и освобождена от согласия. Проблема в другом сервисе. До согласия на странице инициализируется сторонний инструмент со-браузинга (демонстрации экрана для поддержки): он регистрирует на серверах стороннего сервиса идентификатор устройства и открывает постоянное соединение через веб-сокет. То есть со сторонним сервисом устанавливается соединение и создаётся идентификатор ещё до того, как пользователь что-либо выбрал. Сам показ экрана происходит только при обращении пользователя в поддержку, но подготовительное соединение и идентификатор с третьей стороной возникают на простой загрузке страницы. Со-браузинг — не обязательная для работы страницы функция, поэтому установление такого соединения до согласия по нидерландскому закону о cookie требует основания. 2. Получатели, сроки хранения и передача за пределы ЕЭЗ (ст. 15(1)(c)-(d), 46) Прошу также указать полный список третьих лиц-получателей, применимые сроки хранения по каждой категории и правовые основания передачи данных за пределы ЕЭЗ, если таковая происходит. Полный технический разбор с доказательствами (сохранённый сетевой журнал, контрольная сумма SHA-256) опубликован по адресу: https://gdpru.eu/en/audits/nl-amsterdam-nl/ 3. Автоматизированная обработка и профилирование (ст. 15(1)(h)) Прошу сообщить, применяется ли в отношении меня автоматизированное принятие решений или профилирование, и если да — раскрыть логику такой обработки. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Data access request (GDPR Art. 15) — amsterdam.nl 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 amsterdam.nl. 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) The site has its own consent banner, and in this session consent was not given. The city runs its web statistics correctly: on its own Piwik PRO platform with a non-anonymized IP that, per policy, is not stored — such statistics are anonymized and exempt from consent. The problem lies elsewhere. Before consent, the page initializes a third-party co-browsing tool (screen-sharing for support): it registers a device identifier on the third-party service's servers and opens a persistent connection via web socket. In other words, a connection is established and an identifier created with a third party before the user has made any choice. The screen-sharing itself only happens when the user contacts support, but the preparatory connection and third-party identifier arise on a simple page load. Co-browsing is not a function necessary for the page to work, so establishing such a connection before consent requires a legal basis under Dutch cookie law. 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/nl-amsterdam-nl/ 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: Dutch Data Protection Authority (AP) — autoriteitpersoonsgegevens.nl
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)
Тема: Жалоба на обработку персональных данных — amsterdam.nl 1. Предмет жалобы Я подаю жалобу в отношении обработки моих персональных данных сайтом amsterdam.nl. 2. Обстоятельства Я посетил сайт amsterdam.nl и обнаружил признаки несоответствия обработки моих персональных данных требованиям GDPR. Технический разбор, опубликованный на gdpru.eu 16.06.2026 (открытая методология, воспроизводимые измерения), документирует следующие признаки: 1) На сайте есть собственный баннер согласия, и в этом сеансе согласие не дано. Веб-статистику город ведёт корректно: на собственной платформе Piwik PRO с неанонимным IP, который, по политике, не сохраняется, — такая статистика обезличена и освобождена от согласия. Проблема в другом сервисе. До согласия на странице инициализируется сторонний инструмент со-браузинга (демонстрации экрана для поддержки): он регистрирует на серверах стороннего сервиса идентификатор устройства и открывает постоянное соединение через веб-сокет. То есть со сторонним сервисом устанавливается соединение и создаётся идентификатор ещё до того, как пользователь что-либо выбрал. Сам показ экрана происходит только при обращении пользователя в поддержку, но подготовительное соединение и идентификатор с третьей стороной возникают на простой загрузке страницы. Со-браузинг — не обязательная для работы страницы функция, поэтому установление такого соединения до согласия по нидерландскому закону о cookie требует основания. Полная техническая документация опубликована по адресу: https://gdpru.eu/en/audits/nl-amsterdam-nl/ 3. Положения GDPR, соблюдение которых прошу проверить Art. 6(1)(a) GDPR и ст. 11.7a Telecommunicatiewet — сторонний со-браузинг устанавливает соединение и идентификатор до согласия 4. Требование Прошу проверить изложенные обстоятельства и, если несоответствие подтвердится, принять меры, предусмотренные статьёй 58(2) GDPR. 5. Приложения Полная доказательная база — HAR-файл, контрольная сумма SHA-256 и цитата из политики конфиденциальности сайта, документирующая указанное противоречие — опубликована и проверяема по ссылке в пункте 2 выше. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Complaint regarding personal data processing — amsterdam.nl 1. Subject of the complaint I am filing a complaint regarding the processing of my personal data by the website amsterdam.nl. 2. Circumstances I visited the website amsterdam.nl and found indications that the processing of my personal data does not comply with the GDPR. The technical analysis published on gdpru.eu on 16 June 2026 (open methodology, reproducible measurements) documents the following indications: 1) The site has its own consent banner, and in this session consent was not given. The city runs its web statistics correctly: on its own Piwik PRO platform with a non-anonymized IP that, per policy, is not stored — such statistics are anonymized and exempt from consent. The problem lies elsewhere. Before consent, the page initializes a third-party co-browsing tool (screen-sharing for support): it registers a device identifier on the third-party service's servers and opens a persistent connection via web socket. In other words, a connection is established and an identifier created with a third party before the user has made any choice. The screen-sharing itself only happens when the user contacts support, but the preparatory connection and third-party identifier arise on a simple page load. Co-browsing is not a function necessary for the page to work, so establishing such a connection before consent requires a legal basis under Dutch cookie law. Full technical documentation is published at: https://gdpru.eu/en/audits/nl-amsterdam-nl/ 3. GDPR provisions I ask you to examine Art. 6(1)(a) GDPR and art. 11.7a Telecommunicatiewet — third-party co-browsing tool establishes a connection and identifier before consent 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]