Technical audit · 09.05.2026

ccdcoe.org

NATO Cooperative Cyber Defence Centre of Excellence, Tallinn

The center that develops NATO's rules of cyber warfare and the Tallinn Manual on international cyber law has Google Analytics and Cloudflare Insights wired into its own site's code. Both are blocked by the CSP — no data got out. But they are configured in and attempt to load nine times per session. No privacy policy exists at all.

Request timeline

On load
Cloudflare Insights and Google Analytics initiate requests on every navigation — 9 times per session each, in sync. All return status 0 — blocked by the CSP.
Consent banner
Absent. Zero consent requests, zero Set-Cookie. And there is no privacy policy on the site at all — neither a Privacy Policy nor a Cookie Policy.
Session total
No data left the site anywhere. Of 281 requests, 263 go to ccdcoe.org's own server. No Google Fonts, no external CDN, no ad networks. The CSP holds.

Declared versus actual

+ Google Analytics — wired into the code, blocked by the CSP — not declared
+ Cloudflare Insights — wired into the code, blocked by the CSP — not declared
+ No privacy policy exists whatsoever — not declared

Transfer timings

No exact timing

on load www.google-analytics.comWired into the code, 9 attempts per session, each returning status 0
on load static.cloudflareinsights.comWired into the code, 9 attempts, status 0. No data left

Detected trackers

Indicators of GDPR non-compliance

Context

CCDCOE is NATO’s Cooperative Cyber Defence Centre of Excellence, headquartered in Tallinn. It develops the Tallinn Manual on international law applicable to cyberspace, trains military cyber-defense specialists from NATO countries, and runs Locked Shields — the world’s largest cyber-defense exercise.

What is done correctly

Of 281 requests, 263 go to ccdcoe.org’s own server — all infrastructure is local. No external fonts, no external CDN, no advertising networks. Both external trackers are blocked: static.cloudflareinsights.com (9 requests, status 0) and www.google-analytics.com (9 requests, status 0). The CSP works — no data reached either Cloudflare or Google. Technically, there is no transfer violation.

An uncomfortable truth

Google Analytics and Cloudflare Insights are wired into the site’s code — both of them. And they attempt to load on every navigation, 9 times per session each, in sync. This is the same architectural situation seen at kapo.ee: the tools are configured, but the CSP blocks them. Someone made the decision to add these trackers to the code. The CSP made a different decision — to block them. If the security policy is ever relaxed or changed during a site update, both trackers would start working instantly, because they are already wired in and waiting.

No privacy policy exists

ccdcoe.org has no public privacy document — no Privacy Policy page, no Cookie Policy, no footer section. Meanwhile, two trackers are wired into the code and attempt to load on every visit. GDPR applies to this international NATO military organization in a particular way: it has immunity from Estonian national law, and its regulator is not the AKI. But GDPR as an EU regulation is technically applicable to processing EU citizens’ data, and the absence of any information about that processing is a transparency gap.

Conclusion

CCDCOE develops the rules of cyber warfare for NATO, trains people to defend critical infrastructure from cyberattacks, runs Locked Shields, and publishes the Tallinn Manual — effectively the bible of international cyber law. And on its own website, Google Analytics and Cloudflare Insights are wired into the code and attempt to load nine times per session, while no privacy policy exists at all. Nine attempts, nine times returning status 0 — the CSP holds, no data got out. The Tallinn Manual describes how states should behave in cyberspace. The site’s own story is different: no data left, but the intent is documented in the code.

Evidence

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.

Original (audit)
HAR file: eu/ccdcoe-org-2026-05-09.har
SHA-256: 8c688eff3a6aac39dde6f2d5143265504a306a7496e67858caab6f478c3528db
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.