Fonts, CDNs, and Hosting: The Cross-Border Data Transfers No One Notices

A Russian developer building a contract-processing service discovered that his website was silently sending visitor data to foreign companies despite keeping all contract data on Russian servers. The site used Vercel for hosting, Google Fonts across 33 pages, and Cloudflare's cdnjs for PDF and Word libraries, exposing IP addresses, browsers, and browsing history. Under Russia's 152-FZ, such transfers require a separate notification to Roskomnadzor, and the United States and EU are not on the list of countries with adequate protection. The developer migrated fonts and libraries to his own Russian server, moved hosting domestically, and updated his privacy policy after a single console command revealed the external domains. The case highlights how common web practices like loading Google Fonts or using CDNs can trigger strict data localization and notification rules, with fines reaching millions of rubles for violations.

HabrTranslated from Russian

Read at source

A developer running a service that processes third-party contracts paid close attention to Russia's 152-FZ personal data law. All documents, forms, and logins were routed to a Russian server, which he verified multiple times. When he examined the website itself rather than the backend service, he found three foreign companies receiving data on every visit.

The site used Vercel, a U.S. hosting provider, so every page load exposed the visitor's IP address, browser details, and visited pages. Google Fonts were loaded on all 33 pages, causing browsers to connect directly to Google servers. Two PDF and Word libraries on the contract verification page were served from cdnjs, operated by Cloudflare. Although contracts themselves stayed in Russia, technical visitor data left the country.

Why this counts as cross-border transfer

Article 12 of 152-FZ defines trans-border transfer as any transmission of personal data to a foreign entity. Regulators treat IP addresses combined with cookies, browser fingerprints, and visit history as personal data. A 2022 German court ruling (Landgericht München I, 3 O 17493/20) already awarded compensation to a visitor whose IP was sent to Google Fonts without consent; Russian authorities apply similar logic.

Since March 2023, operators must file a separate notification with Roskomnadzor before any cross-border transfer. Transfers to the United States or EU require a ten-working-day waiting period during which the regulator may block or restrict the transfer. Failure to notify falls under Article 13.11 and carries fines of 150,000–300,000 rubles for legal entities. If forms collect names, phones, or emails on foreign platforms, additional localization violations under part 8 can result in fines of 1–6 million rubles.

Common hidden vectors

  • Hosting and CDN: Vercel, Netlify, GitHub Pages, Firebase, and Cloudflare in proxy mode decrypt traffic and see full request data.
  • Fonts: Google Fonts and Adobe Fonts loaded via a single link tag on every page.
  • Libraries: cdnjs, jsDelivr, unpkg, and Google Hosted Libraries for jQuery, Bootstrap, or PDF readers.
  • Analytics and pixels: Google Analytics, Microsoft Clarity, and Hotjar that record clicks and session replays.
  • CAPTCHA: reCAPTCHA sends behavioral data to Google on every load.
  • Embedded content: YouTube videos, Google Maps, and foreign chat widgets that load even when unused.
  • Forms and email: Google Forms, Typeform, Mailchimp, and SendGrid that store submissions abroad.

The developer identified external domains with one console command that extracted all resource hosts from the performance timeline. He then downloaded Inter and Fira Code fonts (256 KB total), hosted pdf.js and mammoth.js locally (2 MB), moved the site to a Russian server, and rewrote the privacy policy to reflect the changes. Only technical Telegram alerts without personal data remain on a foreign platform.

Operators who still need foreign services are advised to submit both processing and cross-border notifications, minimize data sent abroad, and document the arrangement transparently in their privacy policy.

Meridian digestThe week's most consequential security stories, distilled into one briefing.See the digest

More in Policy & Regulation

Russian Minister Proposes Blocking All SIM Cards Linked to Fraudsters Banned in MAX Messenger
Russia Ready to Disclose Source Code of Social Networks, Messengers and AI Models
Russia Mulls Mandatory Two-Week IMEI Registration for Foreign Smartphones via Gosuslugi