Buka konsol

Menyimpan setelan privasi dengan Firebase

Firebase memudahkan pengumpulan dan pelacakan preferensi pengguna seputar pengumpulan dan pemrosesan data:

  1. Menyiapkan setelan privasi
  2. Mengupdate aplikasi untuk menggunakan setelan privasi
  3. Melacak perubahan pada setelan privasi

Menyiapkan setelan privasi

Anda memerlukan 2 hal untuk mengumpulkan dan menyimpan setelan privasi: UI untuk meminta setelan privasi pengguna dan cara menyimpan setelan tersebut.

Membuat UI setelan privasi

Anda yang menentukan format UI setelan privasi. Berikut ini beberapa hal yang perlu dipikirkan saat membuat UI:

Memahami data yang Anda kumpulkan

Luangkan waktu untuk membuat katalog data pengguna yang disimpan atau diproses oleh aplikasi Anda. Pastikan untuk menyertakan data yang dikumpulkan secara langsung oleh aplikasi, dan data yang dikumpulkan oleh layanan yang digunakan aplikasi tersebut. Untuk layanan Firebase, sebaiknya periksa contoh data pribadi pengguna akhir yang diproses oleh Firebase.

Merancang UI untuk membantu pengguna

Cobalah untuk mendeskripsikan jenis data yang Anda kumpulkan dalam istilah yang ringkas dan mudah dimengerti oleh pengguna, termasuk bagaimana data yang dikumpulkan dapat membantu aplikasi atau bagaimana data akan digunakan.

Jika ada data tertentu yang diperlukan aplikasi Anda untuk berfungsi dengan benar, Anda dapat menghindari error dengan menonaktifkan tombol kirim di UI, hingga pengguna memilih opsi yang diperlukan agar aplikasi tersebut berfungsi. Pikirkan tentang bagaimana seharusnya alur aplikasi Anda bagi pengguna yang mengaktifkan beberapa jenis pengumpulan data, dan bukan yang lain.

Tombol kirim dinonaktifkan hingga pengguna menyetujui kebijakan privasiTombol kirim dinonaktifkan hingga pengguna menyetujui kebijakan privasi

Menyimpan setelan privasi

Lokasi dan cara menyimpan setelan privasi pengguna juga terserah Anda. Anda dapat menggunakan ID apa pun yang andal, yang dapat mengaitkan pengguna dengan pilihan yang mereka buat pada UI setelan privasi.

Satu pendekatan yang umum adalah menggunakan ID sebagai kunci untuk menyimpan preferensi pada penyimpanan data yang digunakan di aplikasi Anda. Misalnya, Anda dapat menggunakan UID Firebase Auth sebagai kunci pada instance Realtime Database, atau menggunakan ID Instance Firebase untuk mengatur koleksi dokumen Firestore.

Contoh: Menyimpan preferensi pengguna dengan UID Auth dan Realtime Database

Aplikasi sampel ini menggunakan UID Firebase Auth dan Firebase Realtime Database untuk menyimpan preferensi pengguna.

Untuk memastikan bahwa data pengguna tetap aman dan dirahasiakan, aplikasi menyimpan preferensi mereka ke bagian database yang terpisah dengan aturan keamanan yang ketat, yang hanya memungkinkan pengguna tersebut untuk membaca atau menulis. Aplikasi ini juga memvalidasi bahwa nilai yang diharapkan hanya boolean, dan tidak menerima nilai yang tidak terduga:

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

Mengupdate aplikasi untuk menggunakan setelan privasi

Setelah setelan privasi pengguna tersedia di aplikasi, Anda dapat mengaktifkan fitur tertentu untuk pengguna yang mengaktifkan setelan tertentu. Buat agar aplikasi Anda memeriksa setelan, sebelum memuat fitur yang mengumpulkan data atau menggunakan data yang dikumpulkan. Jika berhubungan dengan suatu fitur, pikirkan pengalaman terbaik yang dapat diberikan tanpa fitur tersebut. Misalnya, jika aplikasi adalah platform mikroblog dan pengguna telah menonaktifkan aplikasi agar tidak menyimpan postingan mereka, pengalaman terbaik yang mungkin dapat dinikmati pengguna adalah menghapus opsi pembuatan postingan.

Melacak perubahan pada setelan privasi

Setelah pengguna memberikan izin untuk mengumpulkan data, mereka bisa saja berubah pikiran. Tambahkan tombol atau link ke layar profil atau setelan Anda, yang dapat mereka gunakan untuk memperbarui setelan privasinya.

Link "Setelan privasi" menampilkan kotak dialog setelan, agar pengguna dapat memperbarui setelannyaLink "Setelan privasi" menampilkan kotak dialog setelan yang dapat digunakan pengguna untuk memperbarui setelannya

Anda juga dapat menentukan cara aplikasi melakukan penanganan ketika pengguna memutuskan untuk menonaktifkan pengumpulan data. Misalnya, Anda dapat menawarkan opsi kepada pengguna untuk menghapus data yang dikumpulkan atau melakukannya secara otomatis. Pertimbangkan untuk menggunakan Cloud Functions for Firebase untuk menghapus data, karena operasi ini mungkin memerlukan waktu beberapa menit, bergantung pada jumlah data yang perlu dihapus. Untuk mengetahui informasi lanjut tentang hal ini, lihat panduan untuk menghapus dan mengekspor data pengguna.

Menyimpan log audit dari setelan privasi pengguna secara terpisah

Beberapa developer aplikasi mungkin ingin menyimpan data perubahan pada setelan privasi. Hal ini dapat dilakukan menggunakan Realtime Database atau Firestore dengan membuat bagian baru dari database menjadi log audit perubahan privasi, yang terstruktur berdasarkan ID unik pengguna, serta termasuk setelan privasi baru dan stempel waktu. Ketika pengguna memperbarui setelan privasinya, buat 2 penulisan: 1 untuk setelan privasi pengguna dan 1 lagi untuk log audit. Penting untuk menjadikan hal ini sebagai bagian terpisah, sehingga Anda dapat membuat Aturan Keamanan yang lebih ketat. Untuk pengguna Firestore, terapkan bahwa dokumen pada log audit tidak dapat diedit menggunakan aturan terperinci:

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

Dengan keempat langkah ini, yaitu memahami data Anda, mengumpulkan preferensi, menyimpan preferensi, dan melacak perubahan, dapat dipastikan aplikasi Anda mematuhi privasi pengguna.