Google has invented a technology called FLoC that uses the Chrome browser to profile users, because third party cookies seem to be going away.
This technology is heavily frowned upon and a website or application can send a Permissions-Policy: interest-cohort=() header to opt out of this.
We think that advertising is an important cornerstone of the web in 2021 but of course there are a lot of communities that see this as a large privacy issue.
The fastest way to opt your Discourse installation out of this is to add a meta tag in the /head of a theme component: EDIT as @supermathie pointed out, not sure if this will work.
Opt-out from both the website and user side is not a feasible scheme for introducing new web platform features.
In particular, the header needs to be sent on every request, and you need to also account for every unique CDN URL that would be equivalent to a visit to your primary forum domain.
cdn.forum.example.com has exactly as much predictive power as forum.example.com does.
Any changes at this point are essentially randomly motivated. Google forcing the entire web to scramble with little opportunity for research into the mechanism or visibility into changes in policy is not conducive to rational decisions.
Are we supposed to just sit by and do nothing while Google does that? Because Google is doing that, whether we like it or not. Whether itās good or not.
Thanks, I did some searching: relevant discussion here and important argument (emphasis mine)
Iād rather we not do this. This leads to all kinds of race conditions and youāll also get features you can only disable at the HTTP level. Iād rather not repeat the mess this created with CSP. Letās just encourage all hosting providers to give adequate header configuration options.
While FLoC is awful, it does not seem like the suggestion on Wordpress is perfect either because lots of things modify headers, how do you account for all of that?
The only reliable solution at the moment is to use any browser other than Chrome. Using directives to ask Google not to crawl or track has a history of not always being respected even when itās done the way Google says we should do it.
So, in the land of Wordpress, a webmaster has to deal with their hosting provider for their headers. (Edit: oops, see below for correction.)
But here in the land of Discourse, we have a docker image which configures everything about our siteās web presence, including headers.
I know only enough to be dangerous, but I see header settings in
/var/discourse/shared/standalone/letsencrypt/http.header
/var/discourse/templates/web.ssl.template.yml
so it feels to me within scope for Discourse to set appropriate headers, according to the webmaster policy.
Some Discourse admins might not care to do anything, some might want to wait and see, and others might like to opt-out of FLoC tracking on behalf of their communities and as a signal to Google.
Personally, Iām a fan of the suggestion someone made to outright reject requests that have the FLOC header sent, breaking Chrome. But I canāt find the article I read advocating thatā¦
## Any custom commands to run after building
run:
- exec: echo "Beginning of custom commands"
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: /location \/ {/
to: |
location / {
add_header X-Clacks-Overhead "GNU Terry Pratchett";
add_header Permissions-Policy "interest-cohort=()";
From Chrome 90 (Stable release on Tuesday, 13 April) users can opt out of FLoC and other Privacy Sandbox proposals via chrome://settings/privacySandbox. (You can try this out now in Canary with the floc.glitch.me demo.)
This took me some time to understand as well, and I think I do understand now (but please correct me where I am wrong). The confusion is about āthe calculationsā.
There are two kinds of calculations here, and there are three ways for a site to āparticipateā in FLoC.
The āglobalā algorithm that determines the (global) cohorts. Opt-out impossible. IndeedAll sites with publicly routable IP addresses that the user visits when not in incognito mode will be included in the POC cohort calculation.
The algorithm that determines the cohort for a specific user, based on their browsing habits. Opt-out based on header. A site should be able to declare that it does not want to be included in the userās list of sites for cohort calculation. This can be accomplished via a new interest-cohortpermissions policy. (taken from the same document as your quote)
A site requesting the user specific cohort in order to get a targeted advertisement (or to misuse that information) using Javascript. The value is made available to websites via a new JavaScript API:
cohort = await document.interestCohort();.
That API does not work on pages that opted out using the header in #2 and this is where a lot of confusion came from. Any frame that is not allowed interest-cohort permission will have a default value returned when they call document.interestCohort().