Cache delle immagini onebox e/o servirle dal dominio principale

A causa delle normative europee sulla privacy, è meglio evitare richieste a domini di terze parti avviate da un sito web ospitato. È difficile ottenere la conformità con Discourse, poiché la funzionalità Onebox fa sì che il browser recuperi l’anteprima dal sito web originale, rendendola una richiesta di terze parti. Vedi l’articolo oneboxed qui sotto:

Puoi vedere negli strumenti per sviluppatori che l’immagine viene scaricata da un sito web di terze parti. Come sottolinea anche l’articolo, si tratta di un problema GDPR anche se la richiesta non prevede cookie.

Attualmente ho disabilitato onebox per la mia istanza di Discourse, ma mi piacerebbe reintrodurlo in un modo che rispetti maggiormente la privacy e non apra la strada a una multa.

Le immagini potrebbero essere servite da un dominio principale o da un dominio personalizzato come cdn.mydomain.com.

Non è possibile salvare immagini di terze parti nella propria configurazione a causa del copyright, che è molto difficile da gestire con le immagini (e questo rende discutibile una funzionalità di Discourse, ma questa è un’altra storia). Ma il oneboxing non è contro il GDPR e non lo è mai stato. Per stare sul sicuro, è una mossa saggia comunicare che c’è una terza parte coinvolta tramite link e che il rispetto del GDPR è una loro responsabilità. Ma non hai nemmeno bisogno di questo.

2 Mi Piace

Nel frattempo Discourse ha già recuperato silenziosamente l’immagine utilizzata nel onebox qui:

4 Mi Piace

Il oneboxing di per sé non lo è, ma servire risorse di terze parti lo è chiaramente, vedi il caso Google Fonts sopra

Forse potremmo invece proxarle attraverso il server di discourse, in modo che le terze parti vedano solo l’IP del server Discourse, non quello dell’utente?

Huh, è interessante! È una specie di plugin o un’impostazione che potrei abilitare sulla mia istanza?

1 Mi Piace

Oneboxing non serve servizi di terze parti. E il GDPR consente l’uso dei Google Fonts, deve dirlo agli utenti — e anche Google segue il GDPR.

Ma questa non è affatto una questione di GDPR. Lo sono gli iframe.

Non si tratta tanto di “dire” agli utenti, quanto di avere una base legale, come il Consenso o l’Interesse Legittimo. Con il consenso devi avere un modo conveniente per rifiutare il consenso e quindi la risorsa non viene caricata. Con un Interesse Legittimo devi condurre una Valutazione del Motivo Legittimo, e io (e posso immaginare molti altri amministratori di host Discourse) preferirei non farlo e invece disabilitare del tutto l’oneboxing, o nascondere l’IP dell’utente dietro un proxy.

Si tratta esattamente di informare. È necessario il consenso quando si raccolgono, utilizzano e archiviano dati personali di un utente. E anche in quel caso devi dire cosa fai, perché lo fai e per quanto tempo lo fai.

Il oneboxing non fa parte di questo, ma devi dirlo se è coinvolta una terza parte. E i onebox sono solo link eleganti.

3 Mi Piace

Quello che intendevo è: non basta divulgare il fatto che ci sono richieste di terze parti. Ai sensi del GDPR, è necessario fornire:

  • lo scopo di tale trattamento dei dati
  • la base giuridica di tale trattamento

Non possiamo utilizzare il consenso, perché Discourse non consente di mostrare immagini esterne in onebox solo agli utenti che hanno dato il consenso. E l’Interesse Legittimo richiede ancora il coinvolgimento di un avvocato nel processo per condurre correttamente il test di bilanciamento. Sarebbe molto più facile se non dovessimo farlo perché il software non faceva inviare richieste dal browser a terze parti (che non possiamo nemmeno elencare in un’informativa sulla privacy, o indicare le informative sulla privacy di tali terze parti, perché potrebbero essere letteralmente chiunque su Internet)

Come visto dal GDPR, non sono solo link, perché vengono visitati dal browser senza l’azione dell’utente.

(A proposito, non sto inventando queste cose, lavoro con la conformità al GDPR nella mia vita professionale e ho esperienza pratica su come funzionano i reclami e le multe nell’UE)

Discussioni legali a parte, ci sono utenti che bloccano le risorse di terze parti specificamente per non rivelare il proprio IP e le proprie abitudini di navigazione a terze parti. Sarebbe bello se i onebox funzionassero per loro :heart:

A parte le considerazioni legali, penso che sarebbe utile fare qualcosa in quest’area.
Tuttavia, tendo a dire che la soluzione è piuttosto chiedere all’utente un opt-in specifico per visualizzare contenuti multimediali esterni. Un certo numero di siti web tedeschi che visito ha adottato la pratica di chiedere specificamente agli utenti questo (esempio sotto).
Penso che, oltre a questo, avere anteprime di immagini statiche servite direttamente dall’host di Discourse sarebbe bello, ma tendo a dire che l’opt-in effettivo è il passo più importante.

Esempio (Golem.de, sito di notizie IT tedesco):

Articolo: Minecraft-Version des Minecraft-Filmtrailers erobert Herzen

Senza opt-in per contenuti multimediali esterni:

Con opt-in per contenuti multimediali esterni:

2 Mi Piace

Sono curioso a riguardo. Posso capire il problema di Google Font poiché richiede effettivamente il recupero del font dal server di Google per ogni utente.

Tuttavia, nella mia esperienza con un “Onebox”, l’anteprima del link rimane statica a meno che non si ricostruisca l’html. Quello che intendo dire è. Nella mia esperienza, l’onebox rimane con le stesse informazioni di anteprima anche se la sorgente cambia le informazioni nella pagina.

Questo è stato utile quando un sito ha modificato drasticamente le informazioni della pagina. La mia anteprima delle informazioni dell’onebox è rimasta invariata senza ricostruire il post tramite la chiave inglese.

Ho avuto alcuni vecchi onebox che sono rimasti intatti anche se il sito originale collegato non conteneva più il contenuto collegato.

Gli iframe, d’altra parte, credo che si aggiornino nel modo da te identificato come menziona @Jagster, più come un’anteprima live alla visualizzazione per utente, come accade con il recupero dei font di Google.

Almeno secondo la mia comprensione. Immagino che dovresti anche disabilitare gli embed, altrimenti?


Immagino che un plugin potrebbe essere creato per aggiungere una funzionalità come quella sottostante.

Posso capire perché il mio amico tedesco qui in Canada dice che è meglio bloccare l’UE.

Come detto da @Firepup650 sopra, non è affatto così, poiché Discourse scarica e serve automaticamente le immagini Oneboxed, che è anche un’impostazione predefinita.
Puoi anche renderlo più rigoroso attivando block hotlinked media.

4 Mi Piace

Non hai bisogno del consenso per questo.

Il GDPR non la vede così. E gli utenti devono intraprendere un’azione per visitarli.

1 Mi Piace

Il problema era di Google, che non ha seguito il GDPR. Questa è stata una parte del motivo per cui Google ha ricevuto una multa piuttosto salata dall’UE. Ma non è mai stato un problema per quei siti che utilizzavano Google Font, AdSense, ecc. Ecco perché Google era sotto processo, non coloro che offrivano tali servizi.

1 Mi Piace

Capisco la frustrazione: molte cose che l’UE fa sono ben intenzionate, ma non necessariamente ben implementate e spesso complicano le cose per gli sviluppatori.

In questo caso specifico, mi piace quello che le persone hanno implementato, perché offre una scelta semplice ma significativa all’utente.
Se questo può essere fatto in un plug-in, tanto meglio. Ho presunto che sarebbe stato necessario farlo nel core perché viene eseguito su tutti i onebox.

Le ragioni o le ragioni immaginarie iniziano a essere fuori tema. Ma quelle normative sono cose che sono punti dolenti negli Stati Uniti. E quelle normative sono necessarie perché le giganti aziende statunitensi non hanno rispettato affatto la privacy degli utenti, perché non c’è alcuna regolamentazione negli Stati Uniti. O dovrei dire ora… perché la vita degli sviluppatori non è così complicata :rofl:

Quindi, non ringraziare l’UE. Invia biglietti di ringraziamento a Google, Amazon, Microsoft, X, Apple, ecc. E allo stesso tempo, puoi pensare a cosa hanno in comune.

A proposito, ho ricevuto un messaggio che non dovrei far entrare nessuno sotto i 13 anni nel mio forum. Sicuramente li farò entrare, anche dalla California, se sanno leggere il finlandese :winking_face_with_tongue:

Fine delle trasmissioni (perché non c’è l’emoji del microfono che cade…)

2 Mi Piace

Non discuto la necessità di regolamentazione: tutto ciò che dico è che il passaggio da “noi e i nostri 999 partner fidati ruberemo i tuoi dati” a un grande popup che dice “clicca qui per accettare che noi e i nostri 999 partner fidati ruberemo i tuoi dati” a volte sembra una vittoria di Pirro, e posso capire come faccia grattare la testa ad alcune persone :slightly_smiling_face:

Ma tornando all’argomento principale:
@kuba-orlik, se questo funziona per te, allora suggerirei di riformulare la richiesta di funzionalità in “Fornire un’opzione per richiedere il consenso dell’utente prima di visualizzare media esterni” (voterò per essa, allora).
Se ritieni che l’intestazione attuale si adatti meglio alla tua richiesta, va bene anche così. In tal caso, probabilmente ne aprirei un’altra io stesso.

Beh, si spinge a estremi folli. A meno che non sia cambiato o sia stato distorto, ricordo di aver letto che un’azienda potrebbe dover onorare una garanzia su, diciamo, hardware dove l’utente finale lo ha danneggiato smontandolo e tentando una riparazione.

Il problema più grande è che si è spinto agli estremi per proteggere le persone dalla pura stupidità.

Per quanto ne so, un plugin potrebbe effettivamente realizzare questo obiettivo poiché modifica elementi del core sul lato server, a differenza di un componente del tema che modifica le cose sul lato client/browser; gli script Tampermonkey sono un po’ come temi/componenti installati dal browser. Usavo uno script Tampermonkey su un vecchio gioco del browser chiamato Fallen Sword per modificare il modo in cui ordina gli oggetti nel mercato.

Nota interessante: non ho ricevuto notifiche per questo argomento.

Non sto seguendo la richiesta di funzionalità dato che abbiamo già

block hotlinked media

E

download_remote_images_to_local

Quindi se vuoi questo comportamento… impostalo su true e false.

La richiesta di funzionalità è che costruiamo un proxy HTTP di prima classe nel prodotto Discourse?

3 Mi Piace

Non ero a conoscenza di queste due impostazioni! Sembrano fare il loro lavoro per ora. Le testerò ulteriormente, grazie!

2 Mi Piace