Esta guía explica qué información de identificación personal (PII) almacena Discourse por defecto, dónde se almacena, quién puede acceder a ella y cómo puedes minimizar la recopilación de PII utilizando DiscourseConnect.
Nivel de usuario requerido: Administrador
Discourse almacena cierta información de identificación personal (PII) para soportar la funcionalidad principal como moderación, gestión de cuentas y autenticación de usuarios. Comprender qué datos se recopilan y cómo se almacenan te ayuda a tomar decisiones informadas sobre privacidad y cumplimiento.
Resumen
Discourse almacena varios tipos de PII incluyendo direcciones IP, direcciones de correo electrónico y credenciales de inicio de sesión social. Esta información se utiliza principalmente para moderación, detección de cuentas duplicadas y autenticación de usuarios. Los administradores del sitio pueden minimizar el almacenamiento de PII implementando DiscourseConnect (SSO), lo que te permite controlar qué información se pasa a Discourse.
¿Qué PII almacena Discourse?
Direcciones IP
Discourse almacena las siguientes direcciones IP para cada usuario para ayudar a tu equipo de moderación a detectar cuentas duplicadas:
- Dirección IP de registro - La dirección IP utilizada cuando se creó la cuenta
- Última dirección IP utilizada - La dirección IP más reciente desde la cual el usuario accedió al sitio
Por ejemplo, si visitas tu sitio en tu dispositivo móvil a las 11:00 AM y luego en tu tableta a las 12:00 PM, solo la dirección IP de la tableta se almacenará como la dirección IP de “último uso”.
¿Quién puede acceder a las direcciones IP?
- Administradores - Acceso completo a toda la información de IP
- Moderadores - Pueden ver las direcciones IP por defecto (se puede desactivar con la configuración del sitio
moderators_view_ips)- El sistema - Utiliza las direcciones IP internamente para la detección de spam y la identificación de cuentas duplicadas
Direcciones de correo electrónico
Las direcciones de correo electrónico se almacenan como texto plano en la base de datos, visibles para cualquiera con acceso a la base de datos. Esto incluye:
¿Quién puede acceder a las direcciones de correo electrónico?
- Administradores - Acceso completo a todas las direcciones de correo electrónico
- Moderadores - Pueden ver las direcciones de correo electrónico por defecto (se puede desactivar con la configuración del sitio
moderators_view_emails)- Administradores de bases de datos - Cualquier persona con acceso directo a la base de datos
Nombres completos (nombres reales)
Discourse puede recopilar y almacenar los nombres completos de los usuarios (también denominados “nombres reales”), que son distintos de sus nombres de usuario. Los nombres completos se almacenan como texto plano en la base de datos junto con otra información del usuario.
¿Cómo se recopilan los nombres completos?
Los nombres completos se pueden proporcionar de varias maneras:
- Durante el registro - Los usuarios pueden introducir su nombre completo durante el proceso de registro (dependiendo de la configuración)
- A través de SSO/DiscourseConnect - El proveedor de autenticación externo puede pasar el nombre completo (campo
name) al crear o actualizar un usuario, y puede anular el nombre local si está configurado.- Mediante la edición del perfil - Los usuarios pueden añadir o actualizar su nombre completo desde sus preferencias de perfil
- Desde inicios de sesión sociales - Cuando los usuarios se autentican a través de proveedores sociales, su nombre para mostrar a menudo se utiliza como nombre completo
¿Quién puede acceder a los nombres completos?
Los nombres completos se almacenan como texto plano en la columna
namede la tablausersen la base de datos y pueden ser accedidos por:
- Administradores - Acceso completo a todos los nombres completos
- Moderadores - Pueden ver los nombres completos por defecto (controlado por los mismos permisos que el acceso al correo electrónico)
- Administradores de bases de datos - Cualquier persona con acceso directo a la base de datos.
- Usuarios públicos - Pueden ver los nombres completos dependiendo de la configuración de visualización
enable_namesy relacionadasOpciones de configuración
Los administradores pueden controlar cómo se recopilan y muestran los nombres completos utilizando estas configuraciones del sitio:
full_name_requirement- Controla si el campo de nombre completo aparece durante el registro y si es obligatorio
auth_overrides_name- Cuando está habilitado, el nombre del proveedor de SSO/DiscourseConnect no puede ser cambiado por los usuarios
- Útil para mantener una identidad consistente en todos tus sistemas
use_name_for_username_suggestions- Cuando está habilitado, Discourse utilizará el nombre completo al sugerir nombres de usuario durante el registro
enable_names- Interruptor maestro que muestra el nombre completo del usuario en su perfil, tarjeta de usuario y correos electrónicos. Desactívalo para ocultar el nombre completo en todas partes
- Por defecto: habilitado
La siguiente configuración de visualización solo tiene efecto cuando
enable_namesestá habilitado:
display_name_on_posts- Muestra el nombre completo de un usuario en sus publicaciones además de su @nombredeusuarioprioritize_username_in_ux- Controla si el nombre de usuario o el nombre completo aparecen de manera más prominente en la interfaz
- Por defecto: habilitado (el nombre de usuario tiene prioridad)
display_name_on_email_from- Utiliza el nombre completo en los campos “De” en las notificaciones por correo electrónico, si está habilitado.
Discourse tiene una deduplicación inteligente; si el nombre completo y el nombre de usuario de un usuario son muy similares (ignorando espacios, guiones bajos y mayúsculas/minúsculas), solo se mostrará uno para evitar redundancia. Puedes desactivar este comportamiento utilizando el componente de tema Remove Name Suppression on Posts, que fuerza a que tanto el nombre completo como el nombre de usuario se muestren siempre en las publicaciones.
Información de inicio de sesión social federado
Cuando los usuarios se autentican a través de proveedores de inicio de sesión social (Google, Facebook, GitHub, etc.), Discourse almacena varios fragmentos de información:
- Correo electrónico
- ID de cuenta del proveedor
- Nombre
- Avatar
- [Esta lista puede cambiar dependiendo del proveedor o con el tiempo]
Los datos específicos almacenados dependen del proveedor y de la información que compartan.
Ejemplo: Google OAuth2
Cuando un usuario inicia sesión con Google, Discourse conserva la siguiente información en la base de datos:
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" }Ejemplo: Facebook OAuth
Un ejemplo redactado para el inicio de sesión de Facebook muestra:
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" }
Los campos específicos almacenados pueden cambiar dependiendo del proveedor o con el tiempo a medida que evolucionan los protocolos de autenticación.
¿Quién puede acceder a la información de inicio de sesión social?
- Administradores - Acceso completo a la información de cuentas asociadas a través del panel de administración y la base de datos
- Moderadores - Pueden tener acceso limitado dependiendo de la configuración del sitio
- Usuarios individuales - Pueden ver y gestionar sus propias cuentas asociadas desde sus preferencias de usuario
Minimización del almacenamiento de PII con DiscourseConnect
Para evitar almacenar cierta información de identificación personal en Discourse, puedes utilizar DiscourseConnect para manejar el proceso de inicio de sesión de tus usuarios por completo.
Cómo DiscourseConnect reduce la exposición de PII
Con DiscourseConnect, controlas completamente la información del usuario que se devuelve a Discourse. Dado que gestionas la implementación, puedes crear alternativas centradas en la privacidad a los identificadores tradicionales.
Enfoque de ejemplo: En lugar de proporcionar a Discourse la dirección de correo electrónico real del usuario, puedes crear una dirección de correo electrónico única pero libre de PII.
Por ejemplo, si el ID único interno de un usuario es
U123456, podrías devolver una dirección de correo electrónico como:user-U123456@example.comBeneficios adicionales de privacidad
El uso de DiscourseConnect también oculta a Discourse cualquier conexión con inicios de sesión sociales federados. Desde la perspectiva de Discourse, el tipo de inicio de sesión que utiliza el usuario (social, móvil, etc.) es irrelevante, ya que eso se maneja de tu lado. Discourse solo sabe lo que le dice el proveedor de inicio de sesión.
MFA y autenticación externa
¿Se puede aplicar MFA además de la autenticación externa?
Esta combinación no es compatible actualmente de la manera esperada.
Discourse tiene la configuración del sitio
enforce_second_factor_on_external_auth, que evita que los usuarios con MFA habilitado utilicen métodos de autenticación externos como los inicios de sesión sociales. Cuando está habilitada, esto impedirá que los usuarios inicien sesión con métodos de autenticación externos si tienen habilitada la autenticación de dos factores.Esta configuración hace que los usuarios elijan efectivamente entre:
- Usar autenticación externa (inicios de sesión sociales) sin 2FA en Discourse
- Usar inicio de sesión de nombre de usuario/contraseña con 2FA en Discourse
Para la configuración más segura con SSO, implementa MFA en tu proveedor de identidad en lugar de dentro de Discourse.
Recursos adicionales
2 Me gusta
