Comprensione dell'archiviazione PII in Discourse

:bookmark: Questa guida spiega quali informazioni personali identificabili (PII) Discourse memorizza per impostazione predefinita, dove vengono archiviate, chi può accedervi e come è possibile ridurre la raccolta di PII utilizzando DiscourseConnect.

:person_raising_hand: Livello utente richiesto: Amministratore

Discourse memorizza determinate informazioni personali identificabili (PII) per supportare funzionalità fondamentali come la moderazione, la gestione degli account e l’autenticazione degli utenti. Comprendere quali dati vengono raccolti e come vengono archiviati aiuta a prendere decisioni informate su privacy e conformità.

Riepilogo

Discourse memorizza diversi tipi di PII, inclusi indirizzi IP, indirizzi email e credenziali di accesso social. Queste informazioni sono utilizzate principalmente per la moderazione, il rilevamento di account duplicati e l’autenticazione degli utenti. Gli amministratori del sito possono ridurre l’archiviazione di PII implementando DiscourseConnect (SSO), che consente di controllare quali informazioni vengono trasmesse a Discourse.

Quali PII memorizza Discourse?

Indirizzi IP

Discourse memorizza i seguenti indirizzi IP per ciascun utente per assistere il team di moderazione nel rilevamento di account duplicati:

  • Indirizzo IP di registrazione - L’indirizzo IP utilizzato al momento della creazione dell’account
  • Ultimo indirizzo IP utilizzato - L’indirizzo IP più recente da cui l’utente ha accesso al sito

Ad esempio, se visiti il tuo sito sul tuo dispositivo mobile alle 11:00 e successivamente sul tuo tablet alle 12:00, solo l’indirizzo IP del tablet verrà memorizzato come indirizzo IP “ultimo utilizzato”.

Chi può accedere agli indirizzi IP

  • Amministratori - Accesso completo a tutte le informazioni sugli IP
  • Moderatori - Possono visualizzare gli indirizzi IP per impostazione predefinita (può essere disabilitato con l’impostazione del sito moderators_view_ips)
  • Il sistema - Utilizza gli indirizzi IP internamente per il rilevamento dello spam e l’identificazione di account duplicati

Indirizzi email

Gli indirizzi email sono memorizzati come testo semplice nel database, visibili a chiunque abbia accesso al database. Questo include:

Chi può accedere agli indirizzi email

  • Amministratori - Accesso completo a tutti gli indirizzi email
  • Moderatori - Non possono visualizzare gli indirizzi email per impostazione predefinita (può essere abilitato con l’impostazione del sito moderators_view_emails)
  • Amministratori del database - Chiunque abbia accesso diretto al database

Nomi completi (nomi reali)

Discourse può raccogliere e memorizzare i nomi completi degli utenti (indicati anche come “nomi reali”), che sono distinti dai nomi utente. I nomi completi sono memorizzati come testo semplice nel database insieme ad altre informazioni sugli utenti.

Come vengono raccolti i nomi completi

I nomi completi possono essere forniti in diversi modi:

  • Durante la registrazione - Gli utenti possono inserire il proprio nome completo durante il processo di iscrizione (a seconda della configurazione)
  • Tramite SSO/DiscourseConnect - Il provider di autenticazione esterno può trasmettere il nome completo (campo name) durante la creazione o l’aggiornamento di un utente e può sovrascrivere il nome locale se configurato.
  • Modifica del profilo - Gli utenti possono aggiungere o aggiornare il proprio nome completo dalle preferenze del profilo
  • Da accessi social - Quando gli utenti si autenticano tramite provider social, il loro nome visualizzato viene spesso utilizzato come nome completo

Chi può accedere ai nomi completi

I nomi completi sono memorizzati come testo semplice nella colonna name della tabella users nel database e possono essere accessibili da:

  • Amministratori - Accesso completo a tutti i nomi completi
  • Moderatori - Possono visualizzare i nomi completi per impostazione predefinita (controllato dalle stesse autorizzazioni dell’accesso alle email)
  • Amministratori del database - Chiunque abbia accesso diretto al database.
  • Utenti pubblici - Possono vedere i nomi completi a seconda delle impostazioni enable_names e delle relative impostazioni di visualizzazione

Opzioni di configurazione

Gli amministratori possono controllare come vengono raccolti e visualizzati i nomi completi utilizzando queste impostazioni del sito:

  • full_name_requirement - Controlla se il campo nome completo appare durante la registrazione e se è obbligatorio

  • auth_overrides_name - Se abilitato, il nome fornito dal provider di autenticazione esterno (inclusi SSO/DiscourseConnect e accessi social) non può essere modificato dagli utenti

    • Utile per mantenere un’identità coerente tra i propri sistemi
  • use_name_for_username_suggestions - Se abilitato, Discourse utilizzerà il nome completo quando suggerisce nomi utente durante la registrazione

  • enable_names - Interruttore principale che mostra il nome completo dell’utente sul profilo, sulla scheda utente e nelle email. Disabilitare per nascondere il nome completo ovunque

    • Predefinito: abilitato

:information_source: Le seguenti impostazioni di visualizzazione hanno effetto solo quando enable_names è abilitato:

  • display_name_on_posts - Mostra il nome completo di un utente nei suoi post oltre al suo @username
  • prioritize_username_in_ux - Controlla se il nome utente o il nome completo appare in modo più prominente nell’interfaccia
    • Predefinito: abilitato (il nome utente ha la priorità)
  • display_name_on_email_from - Utilizza il nome completo nei campi “Da” nelle notifiche email, se abilitato.

:information_source: Discourse dispone di una deduplicazione intelligente; se il nome completo e il nome utente di un utente sono molto simili (ignorando spazi, trattini bassi e maiuscole/minuscole), ne verrà visualizzato solo uno per evitare ridondanze. È possibile disabilitare questo comportamento utilizzando il componente del tema Remove Name Suppression on Posts, che forza la visualizzazione costante sia del nome completo che del nome utente nei post.

Informazioni di accesso social federato

Quando gli utenti si autenticano tramite provider di accesso social (Google, Facebook, GitHub, ecc.), Discourse memorizza varie informazioni:

  • Email
  • ID account provider
  • Nome
  • Avatar
  • [Questa lista può cambiare in base al provider o nel tempo]

I dati specifici memorizzati dipendono dal provider e dalle informazioni che condividono.

Esempio: Google OAuth2

Quando un utente accede con Google, Discourse mantiene le seguenti informazioni nel database:

provider_name: "google_oauth2",
provider_uid: "11791234567812345",
info: {
  "name" => "Bilbo Baggins",
  "email" => "bilbo.baggins@gmail.com",
  "image" => "https://lh3.googleusercontent.com/a/ACg8ocJD5vR-JuZZ16mGf51uYH0KyKGoKXF36U3inbh4Bzne0CpuTlH23g=s96-c",
  "last_name" => "Baggins",
  "first_name" => "Bilbo",
  "email_verified" => true,
  "unverified_email" => "bilbo.baggins@gmail.com"
}

Esempio: Facebook OAuth

Un esempio anonimizzato per l’accesso Facebook mostra:

provider_name: "facebook",
provider_uid: "123456789",
info: {
  "name" => "Bilbo Baggins",
  "email" => "bbaggins@shire.net",
  "image" => "https://graph.facebook.com/v5.0/123456789/picture?access_token=swordfish&width=480&height=480",
  "last_name" => "Baggins",
  "first_name" => "Bilbo"
}

:information_source: I campi specifici memorizzati possono cambiare in base al provider o nel tempo con l’evoluzione dei protocolli di autenticazione.

Chi può accedere alle informazioni di accesso social

  • Amministratori - Accesso completo alle informazioni dell’account associato tramite il pannello di amministrazione e il database
  • Moderatori - Potrebbero avere accesso limitato a seconda della configurazione del sito
  • Utenti individuali - Possono visualizzare e gestire i propri account associati dalle preferenze utente

Riduzione dell’archiviazione di PII con DiscourseConnect

Per evitare di memorizzare determinate informazioni personali identificabili in Discourse, è possibile utilizzare DiscourseConnect per gestire interamente il processo di accesso per gli utenti.

Come DiscourseConnect riduce l’esposizione di PII

Con DiscourseConnect, si ha il pieno controllo sulle informazioni utente restituite a Discourse. Poiché si gestisce l’implementazione, è possibile creare alternative focalizzate sulla privacy rispetto agli identificatori tradizionali.

Approccio di esempio: Invece di fornire a Discourse l’indirizzo email reale dell’utente, è possibile creare un indirizzo email unico ma privo di PII.

Ad esempio, se l’ID univoco interno per un utente è U123456, si potrebbe restituire un indirizzo email come:

user-U123456@example.com

Ulteriori vantaggi per la privacy

L’utilizzo di DiscourseConnect nasconde anche qualsiasi connessione agli accessi social federati da parte di Discourse. Dal punto di vista di Discourse, il tipo di accesso utilizzato dall’utente (social, mobile, ecc.) è irrilevante, poiché viene gestito sul proprio lato. Discourse conosce solo ciò che il provider di accesso gli comunica.

MFA e autenticazione esterna

È possibile imporre l’MFA sopra l’autenticazione esterna?

:warning: Questa combinazione non è attualmente supportata nel modo previsto.

Discourse dispone dell’impostazione del sito enforce_second_factor_on_external_auth, che impedisce agli utenti con MFA abilitato di utilizzare metodi di autenticazione esterna come gli accessi social. Quando abilitata, questa opzione impedirà agli utenti di accedere con metodi di autenticazione esterna se hanno l’autenticazione a due fattori abilitata.

Questa impostazione costringe efficacemente gli utenti a scegliere tra:

  • Utilizzare l’autenticazione esterna (accessi social) senza 2FA su Discourse
  • Utilizzare l’accesso nome utente/password con 2FA su Discourse

:information_source: Per la configurazione più sicura con SSO, implementare l’MFA nel proprio provider di identità piuttosto che all’interno di Discourse.

Risorse aggiuntive

5 Mi Piace