Questa è una guida esplicativa che descrive come gli aspetti tecnici del GDPR e del consenso ai cookie operano all’interno di Discourse, insieme alle opzioni per la gestione del consenso ai cookie e ai servizi di Content Manager.
Questo documento non è una guida completa su tutti i dettagli che il GDPR comporta. Discourse non intende che questa guida venga utilizzata come consulenza legale per utenti o clienti. Discourse non può determinare la conformità legale al GDPR o a qualsiasi altra legge sul consenso ai cookie per la tua situazione o caso d’uso specifico.
Discourse utilizza ora una CSP “Strict Dynamic”, quindi non è più necessario (né possibile) aggiungere singoli URL all’impostazione del sito
Content security policy script src. Per ulteriori dettagli, consulta Content-Security-Policy now uses 'strict-dynamic'.
Cookie in Discourse
Per comprendere come Discourse utilizza i cookie, consulta la sezione sui cookie del nostro avviso sulla privacy.
Cookie essenziali
Per impostazione predefinita, Discourse imposta solo i cookie necessari per le sue funzionalitĂ di base, ovvero consentire agli utenti di comunicare tra loro e con il mondo pubblicando contenuti su Internet.
Cookie di terze parti
Per impostazione predefinita, Discourse non utilizza cookie per l’analisi dei dati, né utilizza cookie di targeting tra siti o per la pubblicità . Tuttavia, gli amministratori del sito possono scegliere di aggiungere altri cookie al proprio sito Discourse (ad esempio Google Analytics, reti pubblicitarie, pixel di tracciamento, ecc.).
Se vengono aggiunti script di terze parti a Discourse che introducono cookie, è responsabilità del team amministrativo del sito trovare una soluzione di gestione dei cookie conforme al GDPR o affrontare i cookie che potrebbero richiedere il consenso ai sensi del GDPR.
Banner per il consenso ai cookie
Se desideri integrare un banner per il consenso ai cookie nella tua istanza di Discourse, puoi seguire le guide che abbiamo creato per alcuni dei piĂą popolari elencati di seguito.
Fare riferimento a uno script JS di terze parti sul tuo sito equivale essenzialmente a concedere a tale terza parte l’accesso completo di amministratore al sito, il che comporta un potenziale rischio per la sicurezza.
Se prevedi di utilizzare uno di questi metodi per gestire il consenso ai cookie, dovrai determinare se funzionano in modo da soddisfare le tue esigenze e i requisiti legali del tuo sito.
Osano
Vai su Plans & Pricing | Osano, scegli un piano e crea un account.
Dopo aver creato l’account, riceverai un’email con le credenziali temporanee. Accedi utilizzando tali credenziali, quindi ti verrà chiesto di impostare una nuova password.
Verrai reindirizzato alla dashboard di Osano. Clicca su “Consent Management” e aggiungi una nuova configurazione del consenso.
Inserisci un nome per il gestore, l’URL del sito che desideri tracciare e l’URL della policy sui cookie del tuo sito. Per impostazione predefinita, la policy sui cookie di Discourse si trova nella pagina Privacy all’indirizzo https://<tuo-sito>/privacy.
Dopo aver cliccato su Create configuration, verrà visualizzato un popup con il codice per il banner. Puoi aggiungerlo ora a Discourse o attendere un momento successivo. Il banner non verrà visualizzato agli utenti finché non lo pubblichi dalla dashboard di Osano.
Puoi aggiungere lo script a Discourse tramite un componente del tema o modificando direttamente il tuo tema.
Per aggiungere il banner a Discourse, vai alla dashboard di amministrazione, Personalizza → Temi → Componenti e clicca su Installa.
Clicca su Aggiungi CSS/HTML e inserisci il codice nella sezione Head.
Se il codice è stato aggiunto correttamente al tuo forum, vedrai che lo stato del tuo gestore ora dice Live ma Your script is not yet active. Il gestore è anche in Mode Discovery/Listener, il che va bene per ora. Mentre il gestore è in questa modalità , il banner non verrà visualizzato sul tuo sito.
Torna alla dashboard di Osano. Nelle sezioni successive, puoi personalizzare gli aspetti del tuo banner per il consenso. Cliccando sulla mappa, puoi vedere come il banner verrĂ visualizzato in diversi paesi.
Osano rileva automaticamente il paese da cui un utente visita il sito e adatta l’aspetto del banner in base alle leggi regionali sulla privacy.
Ad esempio, connettendosi dal Venezuela, il banner sui cookie è semplice e scompare automaticamente dopo un certo periodo di tempo:
Ma dai Paesi Bassi, un paese dell’UE, il banner ha più opzioni.
C’è anche un’opzione per aggiungere un widget sui cookie che mostra maggiori dettagli sui cookie.
Dopo aver completato le personalizzazioni, clicca su Salva modifiche, quindi Pubblica e infine Pulisci e Pubblica.
Vai alla sezione Script e classifica qualsiasi script rilevato sul tuo sito. Ad esempio, nel mio sito Discourse sono stati rilevati solo URL CDN, classificati come Essential. Qualsiasi altro servizio di terze parti in esecuzione sul tuo sito deve essere classificato di conseguenza.
Lo stesso vale per qualsiasi cookie rilevato. Ad esempio, se hai Google Analytics sul tuo sito, rileverĂ i cookie _ga, che dovrebbero essere classificati come Analytics.
Potrebbe volerci un po’ perché Osano rilevi i cookie e gli script in esecuzione sul tuo sito; potresti anche dover navigare tra le diverse sezioni del tuo forum per assicurarti che lo snippet di Osano venga eseguito ovunque.
I cookie e gli script rilevati possono cambiare nel tempo; riceverai una notifica via email da Osano che ti chiede di aggiornare la tua classificazione in questo modo:
Configuration 'Cookie test' is running unclassified scripts, iframes and/or cookies.
Una volta pronta la classificazione, cambia la modalitĂ in Permissiva (consigliata) o Rigida e pubblica la configurazione. Il banner sarĂ ora visibile ai tuoi utenti ![]()

Scopri di piĂą sulle modalitĂ di configurazione dei cookie qui: compliance-modes-listener-permissive-strict | Customer Portal
Poiché Osano utilizza web worker, dobbiamo anche aggiungere blob: alla direttiva worker-src. Questo deve essere fatto tramite un tema o componente personalizzato; fai riferimento alla sezione “Estendere la CSP predefinita” in Mitigate XSS Attacks with Content Security Policy.
In sintesi, devi creare un componente del tema vuoto con i seguenti parametri nel file settings.yml:
# settings.yml
extend_content_security_policy:
type: list
default: "worker_src: blob:"
Se il tuo banner non viene visualizzato, fai riferimento alla sezione Debugging CSP.
One Trust
Vai su Cookie Consent | Products | OneTrust; puoi iscriverti gratuitamente per il tuo primo dominio o iniziare un abbonamento a pagamento dalla pagina dei prezzi.
Riceverai un’email di benvenuto da OneTrust con un link per accedere alla piattaforma; ti guiderà nella configurazione del tuo account.
Verrai reindirizzato a https://app.onetrust.com/welcome. Nelle sezioni Avalaible Apps o My Apps, scegli Cookie Compliance.
Seleziona Add Website.
Aggiungi l’URL del tuo sito web.
Avvia la scansione e poi seleziona il tuo/le tuo/e pubblico/i: i framework sulla privacy con cui devi essere conforme (come il GDPR).
Nelle sezioni successive, puoi personalizzare gli aspetti del tuo banner e aggiungere il tuo branding. Salva le modifiche e pubblicale quando sei pronto.
Per aggiungere il banner a Discourse, vai alla sezione Integration nel menu laterale e seleziona il tuo sito dall’elenco.
Copia lo script Production CDN da Production Scripts.
Puoi aggiungere lo script a Discourse tramite un componente del tema o modificando direttamente il tuo tema.
Vai alla dashboard di amministrazione, Personalizza → Temi → Componenti e clicca su Installa.
Clicca su Aggiungi CSS/HTML e inserisci il codice copiato nella sezione Head.
Ed è tutto! Il banner dovrebbe apparire più o meno così:
Se il tuo banner non viene visualizzato, fai riferimento alla sezione Debugging CSP.
ConsentManager
Vai su Free test now! - ConsentManager GDPR solution e crea un account. Segui la procedura guidata per configurare il gestore del consenso.
Al passaggio 4, prima di cliccare il pulsante Continua, scorri verso il basso la pagina. Sotto la sezione “Choose your system”, vedrai una sezione chiamata “Setup using copy & paste”. Scegli la scheda Semi-Automatic blocking e copia il codice in quella sezione.
Puoi aggiungere lo script a Discourse tramite un componente del tema o modificando direttamente il tuo tema.
Vai alla dashboard di amministrazione, Personalizza → Temi → Componenti e clicca su Installa.
Clicca su Aggiungi CSS/HTML e inserisci il codice copiato nella sezione Body.
Ed è tutto! Il banner dovrebbe apparire più o meno così:
Se il tuo banner non viene visualizzato, fai riferimento alla sezione Debugging CSP.
Componente del tema per il banner del consenso ai cookie
Questo componente del tema ti consentirĂ di aggiungere un banner per il consenso ai cookie personalizzabile al tuo forum. Fornisce semplicemente un modo semplice per gli amministratori di Discourse di utilizzare il banner per il consenso ai cookie open source di Insites.
Per le istruzioni su come installare i componenti del tema di Discourse, vedi: Installing a theme or theme component
Debugging CSP
Se il tuo banner per il consenso ai cookie non viene visualizzato:
- Controlla gli errori nella console del browser: Cerca eventuali errori relativi alla CSP nella console del tuo browser.
- Verifica il metodo di caricamento dello script: Assicurati che lo script per il consenso ai cookie venga caricato correttamente:
- Gli script aggiunti agli header del tema sono automaticamente considerati attendibili
- Gli script caricati dinamicamente tramite
loadScript()o elementi script creati programmaticamente funzioneranno con strict-dynamic - Evita script “parser-inserted” (iniezione diretta di HTML con tag script)
- Configurazioni speciali: Alcuni gestori del consenso potrebbero richiedere configurazioni speciali o avere requisiti specifici per funzionare con la CSP. Consulta la loro documentazione per la compatibilitĂ con la CSP.
- Unsafe-eval: Se il tuo script per il consenso ai cookie richiede
unsafe-eval, puoi comunque aggiungerlo all’impostazionecontent security script src(con virgolette:'unsafe-eval').
Fai attenzione quando aggiungi
'unsafe-eval'o altre direttive permissive, poiché possono ridurre l’efficacia della CSP.
Se continui a riscontrare problemi dopo questi passaggi, potresti dover verificare se il tuo fornitore di consenso ai cookie è compatibile con le implementazioni moderne della CSP o contattare il loro supporto per assistenza.
Altre opzioni per i servizi di Content Manager
Oltre alle opzioni sopra menzionate per la gestione dei cookie, altre opzioni per i servizi di gestori del consenso che potrebbero funzionare con Discourse includono:
Policy sui cookie
Questa guida spiega come aggiungere la policy sui cookie di diversi fornitori alla pagina /privacy su Discourse.
One Trust
Nota: Puoi leggere i passaggi su come configurare un account OneTrust e creare un componente del tema nella sezione precedente.
-
Abilita il supporto SPA sul tuo account OneTrust seguendo le istruzioni descritte qui.
-
Aggiungi i seguenti due blocchi di codice uno sotto l’altro alla sezione
Headdel componente del tema. -
Nota: Le due funzioni
clearDupereloadOTBannersono tratte da questa pagina. Assicurati di utilizzarle. La versione di queste funzioni nel codice sottostante è solo un esempio e potrebbe essere obsoleta al momento della lettura.<script type="text/x-handlebars" data-template-name="/connectors/below-static/add-cookie-policy"> <div id="ot-sdk-cookie-policy"></div> </script>
<script type="text/discourse-plugin" version="0.10.0"> //DEVE ESSERE UTILIZZATO SOLO SULLA POLICY SUI COOKIE. ATTIVA LA FUNZIONE SOTTO PER RIMUOVERE LE CATEGORIE DUPLICATE // script tratto da: https://my.onetrust.com/s/article/UUID-69162cb7-c4a2-ac70-39a1-ca69c9340046?language=en_US#UUID-69162cb7-c4a2-ac70-39a1-ca69c9340046_section-idm45403310539216 function reloadOTBanner() { var otConsentSdk = document.getElementById("onetrust-consent-sdk"); if (otConsentSdk) { otConsentSdk.remove(); } if (window.OneTrust != null) { OneTrust.Init(); setTimeout(function() { OneTrust.LoadBanner(); var toggleDisplay = document.getElementsByClassName( "ot-sdk-show-settings" ); for (var i = 0; i < toggleDisplay.length; i++) { toggleDisplay[i].onclick = function(event) { event.stopImmediatePropagation(); window.OneTrust.ToggleInfoDisplay(); }; } }, 1000); } } function clearDup() { var sec = document.getElementById("ot-sdk-cookie-policy") var tally = []; for (var i = sec.length - 1; i >= 0; i--) { if (tally[sec[i].firstChild.innerText] === undefined) { tally[sec[i].firstChild.innerText] = 1; } else { //console.log(i,sec[i].firstChild.innerText); sec[i].remove(); //return true; } } //return false; } api.onAppEvent("page:changed", (data) => { if(data.currentRouteName == 'privacy') { reloadOTBanner(); clearDup(); } }) </script>
Note
- Se guardi la console del browser, potresti notare che la funzione
OptanonWrappermanca dal file in cui hai aggiunto il tuo consenso ai cookie o qualsiasi codice correlato, ma non è così. Discourse non rimuove il blocco di codice con la funzioneOptanonWrapper, ma lo converte nel proprio file. Puoi provare a chiamare quella funzione nella console JS del tuo browser per confermare che la funzione esista effettivamente.




























