View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
5065 | Composr | core | public | 2022-11-20 01:16 | 2023-01-29 01:35 |
Reporter | Adam Edington | Assigned To | Guest | ||
Priority | normal | Severity | feature | ||
Status | new | Resolution | open | ||
Summary | 5065: Google fonts violating GDPR / General privacy around IP and referrer transfer to third parties / Need superset of cookie consent | ||||
Description | At the beginning of this year, a website in Germany was fined 100 euros for using Google Fonts which violates GDPR by collecting IP addresses. We can enable a Google Font via HTML_HEAD.tpl in v10 but the latest advice is to run these fonts locally. This website ( https://google-webfonts-helper.herokuapp.com/fonts ) grabs all the necessary files to host a chosen Google font locally. Removing the option to enable a remote Google Font in the header and adding some documentation about how to serve these fonts locally might be advisable given a precedent has been set. | ||||
Additional Information | https://www.bitdefender.com/blog/hotforsecurity/german-website-fined-100-euros-after-court-says-googles-font-library-violates-gdpr/ https://www.gdpreu.org/the-regulation/key-concepts/personal-data/ https://2gdpr.com/ | ||||
Tags | Roadmap: Over the horizon (partial implementation), Type: Legal compliance / Privacy | ||||
Attach Tags | |||||
Time estimation (hours) | |||||
Sponsorship open | |||||
|
I'll look at this, but I want to note that this is exactly the same situation as hotlinking an image, or loading a JavaScript library off a CDN - both extremely common things to do. |
|
I would have assumed the website requesting the font/image/js is the IP that got shared, not the actual user of the website. I've learnt something new. Imagine getting a massive fine for not knowing that using a CDN was breaching GDPR. 100 euros was a slap on the wrist, but GDPR is serious business when it comes to how much they can fine you. |
|
Yes, from what I read, what happened was the IP addresses of the users got shared to Google via the loading of Google Fonts. This sets a dangerous precedence though; there are many ways an IP address can be shared and technically violate the GDPR. The use of the StopForumSpam service, for example, could technically violate GDPR (though we mention it in the Privacy Policy so I wonder if that is legally covered). Or, Composr reporting errors to Chris if said errors happened to contain IP addresses in them. Unfortunately, if this is what the GDPR is going to enforce, then there might not be any other option than to comply. Although, I wonder if merely sticking this info in the Privacy Policy is good enough. |
|
Adding the info to the Privacy Policy is probably a good thing to do. Currently the compo.sr website is not using cookie consent so google analytics and youtube cookies are flagged as problematic (in the EU) when checking compliance. Youtube flagged on "Business by Manoj Sree" theme in addons. Not sure about analytics but using the youtube-nocookie domain (also in galleries) would solve the latter without consent being needed. |
|
Okay I've had a look at the ruling, as I wanted to know if it was an issue with IPs and/or referrers. It's just IPs. "The unauthorized disclosure of the plaintiff's dynamic IP address by the defendant to Google constitutes a violation of the general right of personality in the form of the right to informational self-determination according to ยง 823 Para. 1 BGB," the ruling stated, as algorithmically translated. "The right to informational self-determination includes the right of the individual to disclose and determine the use of their personal data." This is pretty absurd. An IP alone only identifies that some machine on a particular network was turned on at some time and went somewhere-unknown to request a common font. That's an incredible stretch of personally-identifying. This judgement would block: - hot linked images - CDNs - Any remote-hosted ad hosting platform - Any remote-hosted analytics platform If we were talking about referrers, that's another story. I can legitimately see why we would want to block referrers to Google Fonts and CDNs, as they have no business knowing it (actually we could consider Google Fonts a kind of CDN). When it comes to hot linked images, or even outbound links, it becomes thorny. For privacy we could say no outbound link should pass a referrer, yet knowing referrers is very basic for digital marketing. It probably should be an option to block all referrers, on by default. |
|
Thinking about this some more, it's extremely thorny. We can use "referrerpolicy" to limit individual a/area/img/iframe/script/link elements to not send referrers. However, referrerpolicy does not allow granular limits on video/source/audio/object/track/embed/input (https://github.com/w3c/webappsec-referrer-policy/issues/160) We need fine-grained control really. We also need WYSIWYG to be able to set that control. I think it'll be a while until everything catches up. Looking at our code, we currently have non-bundled addons that hotlink to Google for data-map embeds (COUNTRIES_ON_MAP and PINS_ON_MAP templates), eBay and Amazon for embeds, Facebook embeds, and Twitter embeds. In bundled, we have Google Translate for language editing, and Google Analytics. Also any kind of media system remote video embed, like YouTube. All this stuff is potentially going to want to be able to check referrers for security reasons, and if it's not by HTTP it could be by JavaScript. |
|
I have added referrerpolicy for Google Fonts. This solves the referrer issue for Google Fonts, but not the IP issue. I'm considering it a special case, and for v12 we may make a separate broader set of changes. I have disabled tracking on YouTube and Vimeo embeds using their method to do so. Changes potentially for v12... Add to privacy policy if: 1) Google Fonts is enabled (explain IPs may be leaked) 2) Google Analytics is enabled (not just about cookies as it is now) (explain IPs and origins may be leaked) 3) Google Translate is enabled for translating (explain IPs and origins may be leaked) Add new privacy policy section regarding embeds, and document the following embeds could leak visitor IPs and origins and tie users to a remote site's own cookies, and that's all outside our control (as JS code we are not directly prescribing is running): 1) YouTube video (new option to disable YouTube embeds, so privacy clause only shows if enabled) 2) Vimeo video (") 3) Facebook video (" - and disabled by default) 4) oEmbeds (list all domains oEmbed is enabled for, or omits clause if no oEmbed domains are listed) 5) Data maps/eBay/Amazon/Facebook/Twitter (if the relevant non-bundled addons installed) New privacy option to turn on <meta name="referrer" content="same-origin" /> in the header easily to entirely block referrers that aren't explicitly inclusion-listed. On by default. Must clearly explain that partners cannot enable embed/API access from your server or track your outbound links based on referrer - unless you are individually marking things up to allow referrers, and that is not currently possible for videos/audio. Partners could implement tracking via tracking IDs on URLs, or where applicable via the JavaScript code they run. In any case any such tracking should be reported by manually adding it to your privacy policy. Disable all embeds until Cookie Consent (or some replacement) is properly agreed to. Needs to be more than a yes/no now. Other stuff discussed in the privacy policy may need to be disabled too if not agreed to. Case-by-case basis, as we can't just disable IP block checks. 4914 talks about a new privacy tutorial. Document stuff discussed here there too. |
|
I'm not sure if this is the same Cookie Consent that Silk Tide created originally but it claims to handle GDPR and ePrivacy https://www.cookieconsent.com/ - It doesn't allow the banner to only show in countries which require it (at least in the free version), but perhaps Tempcode could do that. There is also https://cookieconsent.popupsmart.com/gdpr-cookie-consent/ which is free and allows a company logo and also what I assume is the older version (still claims GDPR compliance but offers more layout/theme options) @ https://cookieconsent.popupsmart.com/. Another which is free @ https://tarteaucitron.io/en/ - easy to add services with autocomplete dropdown. |
|
Just read that youtube-nocookie does set a cookie if a video is engaged with, but at least it isn't setting them if not. |
|
We should rename the maintenance code eu_cookies to something generic like eu_privacy |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-11-20 01:16 | Adam Edington | New Issue | |
2022-11-20 01:19 | Adam Edington | Description Updated | |
2022-11-20 01:21 | Adam Edington | Assigned To | => Chris Graham |
2022-11-20 01:21 | Adam Edington | Status | Not Assigned => Assigned |
2022-11-20 01:25 | Adam Edington | Description Updated | |
2022-11-20 01:26 | Chris Graham | Note Added: 0007662 | |
2022-11-20 01:47 | Adam Edington | Note Added: 0007663 | |
2022-11-20 07:03 | PDStig | Note Added: 0007666 | |
2022-11-20 07:05 | PDStig | Note Edited: 0007666 | |
2022-11-20 19:28 | Adam Edington | Additional Information Updated | |
2022-11-20 20:20 | Adam Edington | Note Added: 0007667 | |
2022-11-20 20:21 | Adam Edington | Additional Information Updated | |
2022-11-20 20:29 | Adam Edington | Note Edited: 0007667 | |
2022-11-20 20:30 | Adam Edington | Note View State: 0007667: public | |
2022-11-22 17:14 | Chris Graham | Note Added: 0007696 | |
2022-11-22 17:48 | Chris Graham | Note Added: 0007697 | |
2022-11-22 17:51 | Chris Graham | Note Edited: 0007697 | |
2022-11-22 17:53 | Chris Graham | Note Edited: 0007697 | |
2022-11-22 17:56 | Chris Graham | Severity | Security Hole => Feature or Request |
2022-11-22 17:56 | Chris Graham | Category | General => core |
2022-11-22 18:11 | Chris Graham | Tag Attached: Type: Legal compliance / Privacy | |
2022-11-22 18:11 | Chris Graham | Relationship added | related to 4914 |
2022-11-22 18:22 | Chris Graham | Tag Attached: Roadmap: v12 partial implementation | |
2022-11-22 18:22 | Chris Graham | Summary | Google fonts violating GDPR => Google fonts violating GDPR / General privacy around IP and referrer transfer to third parties |
2022-11-22 18:54 | Chris Graham | Note Added: 0007702 | |
2022-11-22 19:57 | Adam Edington | Note Added: 0007704 | |
2022-11-22 20:20 | Adam Edington | Note Edited: 0007704 | |
2022-11-22 20:28 | Adam Edington | Note Edited: 0007704 | |
2022-11-22 21:09 | Adam Edington | Note Edited: 0007704 | |
2022-11-22 22:17 | Adam Edington | Note Edited: 0007704 | |
2022-11-22 22:20 | Adam Edington | Note Edited: 0007704 | |
2022-11-22 22:33 | Adam Edington | Note Added: 0007705 | |
2022-12-07 13:58 | Chris Graham | Summary | Google fonts violating GDPR / General privacy around IP and referrer transfer to third parties => Google fonts violating GDPR / General privacy around IP and referrer transfer to third parties / Need superset of cookie consent |
2022-12-31 17:07 | Chris Graham | Assigned To | Chris Graham => |
2022-12-31 17:07 | Chris Graham | Status | Assigned => Not Assigned |
2023-01-29 01:35 | Guest | Note Added: 0007887 | |
2024-03-26 00:58 | PDStig | Tag Renamed | Roadmap: v12 partial implementation => Roadmap: Over the horizon (partial implementation) |