{"id":293929,"date":"2026-05-23T00:58:48","date_gmt":"2026-05-23T00:58:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gdpr-local-font-fixer\/"},"modified":"2026-05-23T01:02:11","modified_gmt":"2026-05-23T01:02:11","slug":"fontvault-for-gdpr","status":"publish","type":"plugin","link":"https:\/\/haz.wordpress.org\/plugins\/fontvault-for-gdpr\/","author":15077797,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"6.9.4","requires":"5.0","requires_php":"","requires_plugins":null,"header_name":"FontVault for GDPR","header_author":"Edgar Yepremyan","header_description":"Avoid GDPR fines and speed up your site. Automatically downloads Google Fonts to serve them locally with zero configuration.","assets_banners_color":"f9f8fd","last_updated":"2026-05-23 01:02:11","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/ko-fi.com\/nobler","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/fontvault-for-gdpr\/","header_author_uri":"https:\/\/opsionic.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":59,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"edgar1999","date":"2026-05-23 01:02:11"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3544595,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3544595,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3544592,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3544592,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":{"Screenshot-1.png":{"filename":"Screenshot-1.png","revision":3544592,"resolution":"1","location":"assets","locale":"","width":2559,"height":1237}},"screenshots":{"1":"The clean, simple settings page that confirms you are protected."}},"plugin_section":[],"plugin_tags":[131785,3778,163035,396,794],"plugin_category":[52,54],"plugin_contributors":[264067],"plugin_business_model":[],"class_list":["post-293929","plugin","type-plugin","status-publish","hentry","plugin_tags-gdpr","plugin_tags-google-fonts","plugin_tags-local-fonts","plugin_tags-privacy","plugin_tags-speed","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-edgar1999","plugin_committers-edgar1999"],"banners":{"banner":"https:\/\/ps.w.org\/fontvault-for-gdpr\/assets\/banner-772x250.png?rev=3544592","banner_2x":"https:\/\/ps.w.org\/fontvault-for-gdpr\/assets\/banner-1544x500.png?rev=3544592","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/fontvault-for-gdpr\/assets\/icon-128x128.png?rev=3544595","icon_2x":"https:\/\/ps.w.org\/fontvault-for-gdpr\/assets\/icon-256x256.png?rev=3544595","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/fontvault-for-gdpr\/assets\/Screenshot-1.png?rev=3544592","caption":"The clean, simple settings page that confirms you are protected."}],"raw_content":"<!--section=description-->\n<p>Website owners are increasingly facing lawsuits and fines in Europe because their WordPress themes and page builders load Google Fonts directly from Google's servers. Doing this leaks your visitors' IP addresses to Google, which is a direct violation of GDPR privacy laws.<\/p>\n\n<p><strong>FontVault for GDPR<\/strong> solves this problem instantly.<\/p>\n\n<p>Simply activate the plugin, and it will automatically scan your website, find any external Google Fonts, download them to your server, and rewrite your website's HTML to serve them locally. Font files are cached after the first download \u2014 subsequent page loads serve fonts directly from your server with no external requests.<\/p>\n\n<p>Your visitors stay private, your website stays legal, and you get complete peace of mind.<\/p>\n\n<h3>Why You Will Love This Plugin:<\/h3>\n\n<ul>\n<li><strong>Zero Configuration:<\/strong> Just activate it and you are protected. No complicated settings pages.<\/li>\n<li><strong>Page Builder Compatible:<\/strong> Uses output buffering to catch fonts injected by Elementor, Divi, Beaver Builder, Slider Revolution, and others \u2014 even fonts that bypass standard WordPress enqueue hooks.<\/li>\n<li><strong>Blocks Preconnects:<\/strong> Automatically removes <code>&lt;link rel=\"preconnect\"&gt;<\/code> tags to ensure zero communication with Google's font servers from visitors' browsers.<\/li>\n<li><strong>Speed Boost:<\/strong> Serving fonts locally (especially with a CDN) improves Core Web Vitals and PageSpeed Insights scores.<\/li>\n<li><strong>woff2 Format:<\/strong> Downloads the highly compressed <code>.woff2<\/code> font format for the best performance.<\/li>\n<\/ul>\n\n<p>To learn more about my work, visit <a href=\"https:\/\/opsionic.com\">opsionic.com<\/a>.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin makes server-side requests to Google's font services to download CSS and font files. These requests are made <strong>from your server only<\/strong> \u2014 not from your visitors' browsers. No visitor IP addresses or personal data are transmitted to Google.<\/p>\n\n<p><strong>Google Fonts API<\/strong> (<code>fonts.googleapis.com<\/code>)\nUsed once per unique font URL to download the Google Fonts CSS stylesheet (font-family declarations and @font-face rules). The CSS is then cached locally. No visitor data is sent.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/policies.google.com\/terms\">Google Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p><strong>Google Fonts Static Hosting<\/strong> (<code>fonts.gstatic.com<\/code>)\nUsed once per font file to download the actual <code>.woff2<\/code> font files referenced in the CSS. Files are saved to your server's uploads directory. No visitor data is sent.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/policies.google.com\/terms\">Google Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p>After the initial download and caching, this plugin makes no further external requests for those fonts.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>fontvault-for-gdpr<\/code> directory to your <code>\/wp-content\/plugins\/<\/code> directory, or install it directly through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>You're done! Your website is now protected.<\/li>\n<li>(Optional) Visit <strong>Settings &gt; GDPR Fonts<\/strong> to view your protection status or clear the font cache if you change your theme.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20configure%20anything%3F\"><h3>Do I need to configure anything?<\/h3><\/dt>\n<dd><p>No. The moment you click \"Activate,\" the plugin goes to work. It handles downloading and rewriting the CSS automatically.<\/p><\/dd>\n<dt id=\"will%20this%20break%20my%20website%20design%3F\"><h3>Will this break my website design?<\/h3><\/dt>\n<dd><p>No. Your website will look exactly the same. The only difference is that fonts now load from your own server instead of Google's.<\/p><\/dd>\n<dt id=\"i%20changed%20my%20theme%27s%20font%2C%20but%20it%27s%20not%20updating%20on%20the%20live%20site.%20what%20do%20i%20do%3F\"><h3>I changed my theme's font, but it's not updating on the live site. What do I do?<\/h3><\/dt>\n<dd><p>Go to <strong>Settings &gt; GDPR Fonts<\/strong> in your WordPress dashboard and click \"Clear Local Font Cache\". The plugin will download your new fonts on the next page load.<\/p><\/dd>\n<dt id=\"is%20this%20truly%20gdpr%20compliant%3F\"><h3>Is this truly GDPR compliant?<\/h3><\/dt>\n<dd><p>By routing all font files through your own server, your visitors' IP addresses are never sent to Google, addressing the primary cause of GDPR font-related fines. For full legal compliance always consult a legal professional for your specific situation.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20contact%20google%20on%20every%20page%20load%3F\"><h3>Does the plugin contact Google on every page load?<\/h3><\/dt>\n<dd><p>No. Fonts are downloaded and cached locally on the first page load. All subsequent requests are served from your own server with no external connections.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Updated Author URI to opsionic.com.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Renamed plugin to \"FontVault for GDPR\" for distinctiveness per WordPress.org guidelines.<\/li>\n<li>Added External Services section to readme documenting Google Fonts API usage.<\/li>\n<li>Fixed: output buffer is now explicitly closed via the <code>shutdown<\/code> hook.<\/li>\n<li>Replaced direct file_put_contents() calls with WP_Filesystem.<\/li>\n<li>Replaced glob() in clear_directory() with WP_Filesystem::dirlist().<\/li>\n<li>Added i18n support throughout admin UI strings.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Avoid GDPR fines and speed up your site. Automatically downloads Google Fonts to serve them locally with zero configuration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/293929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=293929"}],"author":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/edgar1999"}],"wp:attachment":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=293929"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=293929"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=293929"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=293929"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=293929"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=293929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}