FLoC opt-out dalla rete

Google ha inventato una tecnologia chiamata FLoC che utilizza il browser Chrome per profilare gli utenti, dato che i cookie di terze parti sembrano essere in via di estinzione.

Questa tecnologia è fortemente criticata e un sito web o un’applicazione può inviare un’intestazione Permissions-Policy: interest-cohort=() per escludersi da questa funzionalità.

Riteniamo che la pubblicità sia un pilastro fondamentale del web nel 2021, ma è ovvio che molte comunità la vedano come un grave problema per la privacy.

Il modo più rapido per escludere la propria installazione Discourse da questa tecnologia è aggiungere un tag meta nell’/head di un componente del tema: MODIFICA come ha sottolineato @supermathie, non siamo sicuri che questo funzioni.

<meta http-equiv="Permissions-Policy" content="interest-cohort=()"/>

Tuttavia, potrebbe diventare un’intestazione HTTP “vera” controllata da una casella di controllo nel core.

20 Mi Piace

Grazie - sono d’accordo, questa dovrebbe essere una scelta standard.

Puoi verificare le tue intestazioni qui, e questo sito attualmente non invia un’opzione di esclusione:
https://securityheaders.com/?q=https%3A%2F%2Fmeta.discourse.org%2F&followRedirects=on

3 Mi Piace

Ho visto solo persone dire che questo non funzionerà; credo che debba essere un vero e proprio header.

5 Mi Piace

L’opzione di esclusione sia dal lato sito web che da quello utente non è uno schema praticabile per l’introduzione di nuove funzionalità della piattaforma web.

In particolare, l’intestazione deve essere inviata con ogni richiesta, e bisogna anche considerare ogni URL CDN unico che sarebbe equivalente a una visita al dominio principale del forum.

cdn.forum.example.com ha esattamente lo stesso potere predittivo di forum.example.com.

Qualsiasi cambiamento in questa fase è essenzialmente motivato in modo casuale. Il fatto che Google costringa l’intero web a rimettersi in gioco con poche opportunità di ricerca sul meccanismo o di visibilità sui cambiamenti di politica non favorisce decisioni razionali.

8 Mi Piace

Vero. Non potrei essere più d’accordo.

Eppure…

Dovremmo semplicemente restare a guardare e non fare nulla mentre Google fa questo? Perché Google lo sta facendo, che ci piaccia o no. Che sia giusto o no.

Discussione Discussion sul progetto Wordpress riguardo a FLoC (che, purtroppo, sembra ruotare più attorno al “come” piuttosto che al “se”).

Grazie, ho fatto qualche ricerca: la discussione pertinente è qui e un argomento importante (enfasi mia)

Preferirei che non facessimo questo. Questo porta a ogni sorta di condizioni di gara e otterrai anche funzionalità che potrai disabilitare solo a livello HTTP. Preferirei non ripetere il caos che questo ha creato con CSP. Incitiamo semplicemente tutti i provider di hosting a fornire opzioni di configurazione adeguate per gli header.

Anche se FLoC è terribile, non sembra che il suggerimento su WordPress sia perfetto, dato che molte cose modificano gli header: come si tiene conto di tutto questo?

L’unica soluzione affidabile al momento è utilizzare qualsiasi browser diverso da Chrome. L’uso di direttive per chiedere a Google di non eseguire la scansione o il tracciamento ha una storia di mancato rispetto, anche quando viene fatto esattamente come Google consiglia.

15 Mi Piace

Quindi, nel mondo di WordPress, un webmaster deve confrontarsi con il proprio provider di hosting per quanto riguarda gli header. (Modifica: ops, vedi sotto per la correzione.)

Ma qui nel mondo di Discourse, abbiamo un’immagine Docker che configura tutto riguardo alla presenza web del nostro sito, inclusi gli header.

So giusto quanto basta per essere pericoloso, ma vedo le impostazioni degli header in
/var/discourse/shared/standalone/letsencrypt/http.header
/var/discourse/templates/web.ssl.template.yml
quindi mi sembra che rientri nel compito di Discourse impostare gli header appropriati, secondo la policy del webmaster.

Alcuni amministratori di Discourse potrebbero non voler fare nulla, altri potrebbero voler aspettare e vedere, e altri ancora potrebbero voler disattivare il tracciamento FLoC a nome delle loro comunità e come segnale a Google.

Io vorrei disattivarlo.

1 Mi Piace

Sto testando una modifica basata su Add a custom HTTP header to requests made to your Discourse [1] per aggiungere questa intestazione; ti farò sapere non appena avrò verificato che funzioni.

Personalmente, mi piace il suggerimento fatto da qualcuno di rifiutare direttamente le richieste che inviano l’intestazione FLOC, rompendo Chrome. Ma non riesco a trovare l’articolo che ho letto a favore di questa idea… :smiley:


  1. GNU Terry Pratchett, pronuncia il suo nome ↩︎

7 Mi Piace

No - quella citazione proveniva da una discussione generica sull’header Permissions-Policy. Nel mondo di WordPress, esiste un plugin che aggiunge l’header.

1 Mi Piace

Grazie - mi correggo.

Questo dovrebbe funzionare per te:

## Eventuali comandi personalizzati da eseguire dopo la compilazione
run:
  - exec: echo "Inizio dei comandi personalizzati"
  - 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=()";

adattato da Add a custom HTTP header to requests made to your Discourse
a parte: quanto attuale per oggi: Terry Pratchett’s debut turns 50: ‘At 17 he showed promise of a brilliant mind’ | Books | The Guardian

il risultato è:

○ → curl -I https://testmachine/srv/status
HTTP/2 200 
server: nginx
date: Tue, 20 Apr 2021 17:48:15 GMT
content-type: text/plain; charset=utf-8
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-download-options: noopen
x-permitted-cross-domain-policies: none
referrer-policy: strict-origin-when-cross-origin
x-request-id: ef02ce7c-fabc-49b9-986e-c2c46e50f8e4
x-runtime: 0.004575
x-redis-calls: 1
x-redis-time: 0.000153
x-queue-time: 0.000952
x-clacks-overhead: GNU Terry Pratchett
permissions-policy: interest-cohort=()
7 Mi Piace

Aggiornamento da lobste.rs: Una volta completata la beta, non sarà possibile escludere il proprio sito dai calcoli.

Tutti i siti con indirizzi IP pubblicamente instradabili visitati dall’utente quando non è in modalità incognito saranno inclusi nel calcolo della coorte POC.

Questo “opt-out” smetterà di funzionare non appena la fase di prova sarà conclusa e, al momento, funziona solo se si servono pubblicità.

3 Mi Piace

In altre parole, smettiamo di perdere tempo a pensarci.

Puoi optare per l’esclusione a titolo individuale (per ora).

Da Chrome 90 (versione stabile rilasciata martedì 13 aprile), gli utenti possono escludersi da FLoC e da altre proposte del Privacy Sandbox tramite chrome://settings/privacySandbox. (Puoi provarlo ora in Canary con la demo floc.glitch.me.)

Da: https://discourse.wicg.io/t/proposal-federated-learning-of-cohorts-floc/4473/26

3 Mi Piace

Anche a me ci è voluto un po’ per capire, e ora penso di averlo compreso (ma correggetemi se sbaglio). La confusione riguarda “i calcoli”.

Ci sono due tipi di calcoli qui, e tre modi in cui un sito può “partecipare” a FLoC.

  1. L’algoritmo “globale” che determina le coorti (globali). Impossibile escludersi. Infatti Tutti i siti con indirizzi IP pubblicamente instradabili visitati dall’utente quando non è in modalità incognito saranno inclusi nel calcolo della coorte POC.

  2. L’algoritmo che determina la coorte per un utente specifico, in base alle sue abitudini di navigazione. Esclusione possibile tramite header. Un sito dovrebbe poter dichiarare di non voler essere incluso nell’elenco dei siti dell’utente per il calcolo della coorte. Questo può essere realizzato tramite una nuova policy dei permessi interest-cohort. (preso dallo stesso documento della tua citazione)

  1. Un sito che richiede la coorte specifica dell’utente per ottenere un annuncio pubblicitario mirato (o per abusare di tali informazioni) utilizzando JavaScript. Il valore è reso disponibile ai siti web tramite una nuova API JavaScript:
    cohort = await document.interestCohort();
    .
    Questa API non funziona sulle pagine che hanno optato per l’esclusione utilizzando l’header nel punto #2, ed è qui che nasce molta confusione. Qualsiasi frame a cui non è consentita la permission interest-cohort riceverà un valore predefinito quando chiama document.interestCohort().

Non riesco a trovare una fonte affidabile per questo.

3 Mi Piace

Ah, stavo confondendo il punto #2 e il #3 nella tua lista.

In tal caso, c’è un valore nell’intestazione, anche se, ancora una volta, le intestazioni sono un metodo scadente e soggetto a errori per fornire queste informazioni.

2 Mi Piace