Almacena la configuración de privacidad con Firebase

Firebase facilita detectar y hacer un seguimiento de las preferencias de los usuarios sobre la recopilación y el procesamiento de datos. Para ello, debes realizar los siguientes pasos:

  1. Establece la configuración de privacidad
  2. Actualiza la app para usar la configuración de privacidad.
  3. Realiza un seguimiento de los cambios en la configuración de privacidad.

Establece la configuración de privacidad

Necesitarás dos elementos para obtener y almacenar la configuración de privacidad: la IU que solicita la configuración de privacidad a los usuarios y un método para almacenarla.

Crea una IU de configuración de privacidad

Puedes elegir el formato de la IU para la configuración de privacidad. Te presentamos algunas recomendaciones para que compiles tu IU:

Comprende los datos que recopilas

Dedica un tiempo para crear un catálogo con los datos de los usuarios que almacena o procesa la app. Asegúrate de incluir los datos que recopila la app directamente y aquellos provenientes de los servicios que esta usa. Los ejemplos de datos de usuarios finales procesados por Firebase pueden ser útiles para comprender los servicios de la plataforma.

Diseña tu IU para ayudar a los usuarios

Describe los tipos de datos que recopilas de forma concisa y con términos fáciles de entender, por ejemplo, cómo se usarán los datos recopilados o cómo ayudan en el funcionamiento de la app.

Es posible que se produzcan errores si la app necesita ciertos datos para funcionar de manera apropiada. A fin de evitar esto, inhabilita el botón "Enviar" en la IU hasta que el usuario seleccione las opciones necesarias para el funcionamiento. Piensa en un flujo de app que permita a los usuarios recopilar algunos tipos de datos y omitir otros.

Se inhabilita el botón Enviar hasta que el usuario acepte la Política de Privacidad Se inhabilita el botón Enviar hasta que el usuario acepte la Política de Privacidad.

Almacena la configuración de privacidad

También puedes elegir dónde y cómo almacenar la configuración de privacidad de los usuarios. Usa cualquier identificador confiable para asociar un usuario con las selecciones que hace en la IU de configuración de privacidad.

Un enfoque común es usar el identificador como una clave para almacenar las preferencias en el almacén de datos que usas en tu app. Por ejemplo, puedes usar los UID de Firebase Auth como clave en una instancia de Realtime Database o utilizar un ID de instancia de Firebase para organizar colecciones de documentos de Firestore.

Ejemplo: cómo almacenar las preferencias de los usuarios con los UID de Auth y Realtime Database

Considera usar una app de redes sociales que utilice UID de Firebase Auth y Firebase Realtime Database para almacenar las preferencias de los usuarios.

Para garantizar la seguridad y privacidad de los datos de los usuarios, la app guarda las preferencias de los usuarios en un lugar separado de la base de datos con reglas de seguridad restrictivas que solo permiten a un usuario específico leerla o escribir en ella. Además, la app valida que los valores esperados sean booleanos y que no acepte los valores inesperados:

"privacy": {
  "$uid": {
    ".write": "auth.uid === $uid",
    ".read": "auth.uid === $uid",
    "data_processing": {
      ".validate": "newData.isBoolean()"
    },
    "content": {
      ".validate": "newData.isBoolean()"
    },
    "social": {
      ".validate": "newData.isBoolean()"
    },
    "$other": {
      ".validate": "false"
    }
  }
}

Actualiza la app para usar la configuración de privacidad

Cuando la configuración de privacidad de los usuarios aparezca en la app, podrás activar funciones específicas para los usuarios que las habilitaron. Haz que la app verifique la configuración antes de cargar las funciones que recopilan datos o permiten usarlos. Si se trata de una función, piensa en la mejor experiencia posible sin ella. Por ejemplo, si la app es una plataforma de microblog y el usuario inhabilitó el almacenamiento de sus entradas, es posible que la mejor experiencia del usuario sea quitar la opción para crear entradas.

Realiza un seguimiento de los cambios en la configuración de privacidad

Los usuarios pueden cambiar de opinión después de otorgar permiso para recopilar sus datos. Para permitirles actualizar la configuración de privacidad, agrega un botón o vínculo a la pantalla de perfil o configuración.

El vínculo "Configuración de privacidad" muestra el cuadro de diálogo para que los usuarios actualicen la configuración El vínculo “Configuración de privacidad” muestra el cuadro de diálogo para que los usuarios actualicen la configuración.

También puedes elegir qué debería hacer la app cuando un usuario decida inhabilitar la recopilación de datos. Por ejemplo, puedes ofrecer al usuario la opción de borrar los datos recopilados o que se borren automáticamente. Te recomendamos usar Cloud Functions para Firebase para borrar los datos, ya que la operación puede tardar algunos minutos según la cantidad de datos que debas borrar. Obtén más información sobre este tema en Cómo quitar y exportar los datos del usuario.

Almacena un registro de auditoría de la configuración de privacidad de los usuarios de forma separada

Es posible que algunos desarrolladores de apps quieran mantener un registro de cambios de la configuración de privacidad. Esto se puede hacer con Realtime Database o Firestore. Para ello, debes crear una nueva sección de la base de datos que actúe como un registro de auditoría de los cambios de privacidad. Esta sección se estructura en el identificador único del usuario y también incluye marcas de tiempo y la nueva configuración de privacidad. Cuando un usuario actualiza su configuración de privacidad, realiza dos escrituras: una para esta configuración y la otra para el registro de auditoría. Es importante apartar esta sección a fin de crear reglas de seguridad más restrictivas. En el caso de los usuarios de Firestore, establece con reglas detalladas que no puedan editar los documentos en el registro de auditoría:

match /audit_log/{uid} {
   allow create: if uid = request.auth.uid;
   allow update: if false;
   allow delete: if false;
 }

Estos cuatro pasos (la comprensión de los datos, la obtención y el almacenamiento de las preferencias y el seguimiento de los cambios) permiten garantizar fácilmente que la app respete la privacidad de los usuarios.