Memorizzazione delle impostazioni sulla privacy con Firebase

Firebase semplifica la raccolta e il monitoraggio delle preferenze degli utenti in merito alla raccolta e all'elaborazione dei dati:

  1. Configura le impostazioni sulla privacy
  2. Aggiorna la tua app per utilizzare le impostazioni sulla privacy
  3. Tieni traccia delle modifiche alle impostazioni sulla privacy

Configura le impostazioni sulla privacy

Per raccogliere e archiviare le impostazioni sulla privacy avrai bisogno di due cose: un'interfaccia utente che richieda agli utenti le loro impostazioni sulla privacy e un modo per archiviare tali impostazioni.

Creazione di un'interfaccia utente per le impostazioni sulla privacy

Il formato dell'interfaccia utente delle impostazioni sulla privacy dipende da te. Ecco alcune cose a cui pensare mentre crei la tua interfaccia utente:

Comprendi i dati che raccogli

Prenditi del tempo per catalogare i dati utente che la tua app memorizza o elabora. Assicurati di includere i dati raccolti direttamente dalla tua app e i dati raccolti dai servizi utilizzati dalla tua app. Per i servizi Firebase, potrebbe essere utile verificare gli esempi di dati degli utenti finali elaborati da Firebase .

Progetta la tua interfaccia utente per aiutare gli utenti

Prova a descrivere i tipi di dati che raccogli in termini concisi e di facile utilizzo, incluso il modo in cui i dati raccolti aiutano la tua app o verranno utilizzati.

Se sono presenti determinati dati di cui la tua app ha bisogno per funzionare correttamente, puoi evitare errori disabilitando il pulsante di invio sull'interfaccia utente finché un utente non seleziona le opzioni necessarie per il funzionamento della tua app. Pensa a quale dovrebbe essere il flusso della tua app per gli utenti che abilitano alcuni tipi di raccolte di dati e non altri.

Pulsante Invia disattivato finché l'utente non accetta l'informativa sulla privacy Pulsante Invia disattivato finché l'utente non accetta l'informativa sulla privacy

Memorizzazione delle impostazioni sulla privacy

Dipende anche da te dove e come archiviare le impostazioni sulla privacy dei tuoi utenti. Puoi utilizzare qualsiasi identificatore affidabile in grado di associare un utente alle selezioni effettuate nell'interfaccia utente delle impostazioni sulla privacy.

Un approccio comune consiste nell'utilizzare l'identificatore come chiave per archiviare le preferenze nell'archivio dati utilizzato nell'app. Ad esempio, potresti utilizzare gli UID di autenticazione Firebase come chiave in un'istanza di Realtime Database o utilizzare un ID istanza Firebase per organizzare raccolte di documenti Firestore.

Esempio: memorizzazione delle preferenze dell'utente con UID di autenticazione e database in tempo reale

Prendi in considerazione un'app di social media che utilizza gli UID di autenticazione Firebase e il database Firebase Realtime per memorizzare le preferenze dell'utente.

Per garantire che i dati degli utenti rimangano sicuri e privati, l'app salva le loro preferenze in una parte separata del database con regole di sicurezza restrittive che consentono solo all'utente di leggere o scrivere. L'app verifica inoltre che i valori attesi siano solo booleani e che non accetti valori imprevisti:

"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"
    }
  }
}

Aggiorna la tua app per utilizzare le impostazioni sulla privacy

Una volta disponibili le impostazioni sulla privacy degli utenti nella tua app, puoi attivare funzionalità specifiche per gli utenti che hanno attivato impostazioni specifiche. Chiedi alla tua app di controllare le impostazioni prima di caricare le funzionalità che raccolgono dati o utilizzano i dati raccolti. Nel caso di una funzionalità, pensa a quale sarebbe la migliore esperienza senza quella funzionalità. Ad esempio, se l'app è una piattaforma di microblogging e un utente ha disabilitato l'app dall'archiviazione dei propri post, la migliore esperienza utente potrebbe essere quella di rimuovere l'opzione di creazione di un post.

Tieni traccia delle modifiche alle impostazioni sulla privacy

Dopo che un utente ha concesso l'autorizzazione per raccogliere dati, potrebbe cambiare idea. Aggiungi un pulsante o un collegamento al tuo profilo o alla schermata delle impostazioni in cui possono aggiornare le loro impostazioni sulla privacy.

IL Il collegamento "Impostazioni privacy" richiama la finestra di dialogo delle impostazioni per consentire agli utenti di aggiornare le proprie impostazioni

Puoi anche decidere come deve gestire la tua app quando un utente decide di disabilitare la raccolta dei dati. Ad esempio, puoi offrire all'utente la possibilità di eliminare i dati raccolti o di farlo automaticamente. Prendi in considerazione l'utilizzo di Cloud Functions for Firebase per eliminare i dati poiché, a seconda della quantità di dati da eliminare, l'operazione potrebbe richiedere alcuni minuti. Consulta la guida per rimuovere ed esportare i dati utente per ulteriori informazioni al riguardo.

Archivia separatamente un registro di controllo delle impostazioni sulla privacy dei tuoi utenti

Alcuni sviluppatori di app potrebbero voler tenere traccia delle modifiche alle impostazioni sulla privacy. Questo può essere fatto utilizzando Realtime Database o Firestore creando una nuova sezione del database che funga da registro di controllo delle modifiche alla privacy, strutturato sotto l'identificatore univoco dell'utente e includendo le nuove impostazioni di privacy e il timestamp. Quando un utente aggiorna le proprie impostazioni sulla privacy, esegui due scritture, una sulle impostazioni sulla privacy dell'utente e una sul registro di controllo. È importante creare una sezione separata in modo da poter creare regole di sicurezza più restrittive. Per gli utenti Firestore, imponi che i documenti nel registro di controllo non siano modificabili utilizzando regole granulari:

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

Con questi quattro passaggi, comprensione dei dati, raccolta delle preferenze, memorizzazione delle preferenze e monitoraggio delle modifiche, è semplice assicurarsi che la tua app rispetti la privacy dei tuoi utenti. , Firebase semplifica la raccolta e il monitoraggio delle preferenze degli utenti in merito alla raccolta e all'elaborazione dei dati:

  1. Configura le impostazioni sulla privacy
  2. Aggiorna la tua app per utilizzare le impostazioni sulla privacy
  3. Tieni traccia delle modifiche alle impostazioni sulla privacy

Configura le impostazioni sulla privacy

Per raccogliere e archiviare le impostazioni sulla privacy avrai bisogno di due cose: un'interfaccia utente che richieda agli utenti le loro impostazioni sulla privacy e un modo per archiviare tali impostazioni.

Creazione di un'interfaccia utente per le impostazioni sulla privacy

Il formato dell'interfaccia utente delle impostazioni sulla privacy dipende da te. Ecco alcune cose a cui pensare mentre crei la tua interfaccia utente:

Comprendi i dati che raccogli

Prenditi del tempo per catalogare i dati utente che la tua app memorizza o elabora. Assicurati di includere i dati raccolti direttamente dalla tua app e i dati raccolti dai servizi utilizzati dalla tua app. Per i servizi Firebase, potrebbe essere utile verificare gli esempi di dati degli utenti finali elaborati da Firebase .

Progetta la tua interfaccia utente per aiutare gli utenti

Prova a descrivere i tipi di dati che raccogli in termini concisi e di facile utilizzo, incluso il modo in cui i dati raccolti aiutano la tua app o verranno utilizzati.

Se sono presenti determinati dati di cui la tua app ha bisogno per funzionare correttamente, puoi evitare errori disabilitando il pulsante di invio sull'interfaccia utente finché un utente non seleziona le opzioni necessarie per il funzionamento della tua app. Pensa a quale dovrebbe essere il flusso della tua app per gli utenti che abilitano alcuni tipi di raccolte di dati e non altri.

Pulsante Invia disattivato finché l'utente non accetta l'informativa sulla privacy Pulsante Invia disattivato finché l'utente non accetta l'informativa sulla privacy

Memorizzazione delle impostazioni sulla privacy

Dipende anche da te dove e come archiviare le impostazioni sulla privacy dei tuoi utenti. Puoi utilizzare qualsiasi identificatore affidabile in grado di associare un utente alle selezioni effettuate nell'interfaccia utente delle impostazioni sulla privacy.

Un approccio comune consiste nell'utilizzare l'identificatore come chiave per archiviare le preferenze nell'archivio dati utilizzato nell'app. Ad esempio, potresti utilizzare gli UID di autenticazione Firebase come chiave in un'istanza di Realtime Database o utilizzare un ID istanza Firebase per organizzare raccolte di documenti Firestore.

Esempio: memorizzazione delle preferenze dell'utente con UID di autenticazione e database in tempo reale

Prendi in considerazione un'app di social media che utilizza gli UID di autenticazione Firebase e il database Firebase Realtime per memorizzare le preferenze dell'utente.

Per garantire che i dati degli utenti rimangano sicuri e privati, l'app salva le loro preferenze in una parte separata del database con regole di sicurezza restrittive che consentono solo all'utente di leggere o scrivere. L'app verifica inoltre che i valori attesi siano solo booleani e che non accetti valori imprevisti:

"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"
    }
  }
}

Aggiorna la tua app per utilizzare le impostazioni sulla privacy

Una volta disponibili le impostazioni sulla privacy degli utenti nella tua app, puoi attivare funzionalità specifiche per gli utenti che hanno attivato impostazioni specifiche. Chiedi alla tua app di controllare le impostazioni prima di caricare le funzionalità che raccolgono dati o utilizzano i dati raccolti. Nel caso di una funzionalità, pensa a quale sarebbe la migliore esperienza senza quella funzionalità. Ad esempio, se l'app è una piattaforma di microblogging e un utente ha disabilitato l'app dall'archiviazione dei propri post, la migliore esperienza utente potrebbe essere quella di rimuovere l'opzione di creazione di un post.

Tieni traccia delle modifiche alle impostazioni sulla privacy

Dopo che un utente ha concesso l'autorizzazione per raccogliere dati, potrebbe cambiare idea. Aggiungi un pulsante o un collegamento al tuo profilo o alla schermata delle impostazioni in cui possono aggiornare le proprie impostazioni sulla privacy.

IL Il collegamento "Impostazioni privacy" richiama la finestra di dialogo delle impostazioni per consentire agli utenti di aggiornare le proprie impostazioni

Puoi anche decidere come deve gestire la tua app quando un utente decide di disabilitare la raccolta dei dati. Ad esempio, puoi offrire all'utente la possibilità di eliminare i dati raccolti o di farlo automaticamente. Prendi in considerazione l'utilizzo di Cloud Functions for Firebase per eliminare i dati poiché, a seconda della quantità di dati da eliminare, l'operazione potrebbe richiedere alcuni minuti. Consulta la guida per rimuovere ed esportare i dati utente per ulteriori informazioni al riguardo.

Archivia separatamente un registro di controllo delle impostazioni sulla privacy dei tuoi utenti

Alcuni sviluppatori di app potrebbero voler tenere traccia delle modifiche alle impostazioni sulla privacy. Questo può essere fatto utilizzando Realtime Database o Firestore creando una nuova sezione del database che funga da registro di controllo delle modifiche alla privacy, strutturato sotto l'identificatore univoco dell'utente e includendo le nuove impostazioni di privacy e il timestamp. Quando un utente aggiorna le proprie impostazioni sulla privacy, esegui due scritture, una sulle impostazioni sulla privacy dell'utente e una sul registro di controllo. È importante creare una sezione separata in modo da poter creare regole di sicurezza più restrittive. Per gli utenti Firestore, imponi che i documenti nel registro di controllo non siano modificabili utilizzando regole granulari:

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

Con questi quattro passaggi, comprensione dei dati, raccolta delle preferenze, memorizzazione delle preferenze e monitoraggio delle modifiche, è semplice assicurarsi che la tua app rispetti la privacy dei tuoi utenti.