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.


