Content Delivery Networks promise faster load times through geographically distributed servers. In practice, every CDN request creates a dependency: on the CDN operator, their availability, their data protection practices, and the stability of hosted resources.

What Gets Loaded via CDNs

Fonts: Google Fonts, Adobe Fonts, Font Awesome. Each page load transmits the user’s full IP address to Google, Adobe, or Cloudflare.

JavaScript libraries: jQuery, React, Lodash via cdnjs, unpkg, or jsdelivr – operated by Cloudflare (US), npm/GitHub (Microsoft, US).

CSS frameworks: Bootstrap, Tailwind via CDN links. Every request transfers user data.

Icons: Font Awesome, Material Icons via CDN. Often complete icon sets (200+ KB) are loaded when only 20 icons are used.

Analytics and tracking: Scripts that often load further resources (cascading dependencies).

Availability Risk

In July 2019, Cloudflare went down for 30 minutes – taking millions of websites with it. The sites themselves were online, but without their CDN-hosted styles, fonts, and scripts, they were unusable. Each external CDN request is a potential single point of failure.

Privacy Risk

Since the Munich court ruling (January 2022) on Google Fonts: every external request transferring IP addresses to third parties is GDPR-relevant. Most CDN operators are US companies under the CLOUD Act: Cloudflare, Fastly, AWS CloudFront, Akamai.

The Performance Myth

The classic CDN argument – “the user already has jQuery cached from another website” – no longer holds since cache partitioning was introduced in all modern browsers (Chrome since v86). Each domain gets its own cache partition. Self-hosting with HTTP/2 is often faster than multiple CDN requests.

Resource
CDN Source
Self-Hosted Alternative
Effort
Fonts
Google Fonts
WOFF2 + @font-face
2 hours
Icons
Font Awesome CDN
SVG sprite or individual SVGs
4 hours
CSS Framework
CDN link
npm install + build
1 hour
JS Libraries
unpkg/cdnjs
npm install + bundle
1 hour
Analytics
Google Analytics
Plausible Cloud (EU)
2 hours

Key Takeaways

  • Every CDN request creates a triple dependency: availability, privacy, and license of the CDN operator.
  • Cache partitioning in modern browsers has eliminated CDN performance advantages.
  • HTTP/2 with self-hosting is faster than multiple CDN requests in most scenarios.
  • Most CDN dependencies (fonts, icons, CSS, JS) can be eliminated in one working day.
  • All major CDN operators are US companies under the CLOUD Act.