Lưu trữ chế độ cài đặt quyền riêng tư bằng Firebase

Firebase giúp bạn dễ dàng thu thập và theo dõi các lựa chọn ưu tiên của người dùng về việc thu thập và xử lý dữ liệu:

  1. Thiết lập chế độ cài đặt quyền riêng tư
  2. Cập nhật ứng dụng của bạn để sử dụng chế độ cài đặt quyền riêng tư
  3. Theo dõi các thay đổi trong chế độ cài đặt quyền riêng tư

Thiết lập chế độ cài đặt quyền riêng tư

Để thu thập và lưu trữ chế độ cài đặt quyền riêng tư, bạn cần có 2 thứ: Giao diện người dùng để nhắc người dùng về chế độ cài đặt quyền riêng tư và cách lưu trữ các chế độ cài đặt đó.

Tạo giao diện người dùng cài đặt quyền riêng tư

Định dạng của giao diện người dùng chế độ cài đặt quyền riêng tư là do bạn quyết định. Sau đây là một vài điều cần suy nghĩ khi bạn xây dựng giao diện người dùng:

Hiểu rõ dữ liệu bạn thu thập

Dành thời gian để lập danh mục dữ liệu người dùng mà ứng dụng của bạn lưu trữ hoặc xử lý. Hãy nhớ thêm dữ liệu mà ứng dụng của bạn trực tiếp thu thập và dữ liệu được các dịch vụ mà ứng dụng sử dụng thu thập. Đối với các dịch vụ của Firebase, bạn nên xem ví dụ về dữ liệu người dùng cuối do Firebase xử lý.

Thiết kế giao diện người dùng để giúp người dùng

Cố gắng mô tả các loại dữ liệu mà bạn thu thập một cách ngắn gọn, thân thiện với người dùng, bao gồm cả cách dữ liệu được thu thập giúp ích cho ứng dụng của bạn hoặc sẽ được dùng.

Nếu có một số dữ liệu nhất định mà ứng dụng cần hoạt động đúng cách, bạn có thể tránh lỗi bằng cách vô hiệu hoá nút gửi trên giao diện người dùng cho đến khi người dùng chọn các tuỳ chọn cần thiết để ứng dụng hoạt động. Hãy suy nghĩ về luồng ứng dụng của bạn dành cho người dùng cho phép một số loại thu thập dữ liệu nào đó và không dành cho những người dùng khác.

Nút gửi bị vô hiệu hóa cho đến khi người dùng đồng ý với chính sách quyền riêng tư Nút gửi bị tắt cho đến khi người dùng đồng ý với chính sách quyền riêng tư

Lưu trữ chế độ cài đặt quyền riêng tư

Bạn cũng sẽ quyết định vị trí và cách thức lưu trữ các chế độ cài đặt quyền riêng tư của người dùng. Bạn có thể sử dụng mọi giá trị nhận dạng đáng tin cậy có thể liên kết người dùng với các lựa chọn mà họ đưa ra trong giao diện người dùng chế độ cài đặt quyền riêng tư.

Một phương pháp phổ biến là sử dụng giá trị nhận dạng làm khoá để lưu trữ các lựa chọn ưu tiên trong kho dữ liệu mà bạn dùng trong ứng dụng của mình. Ví dụ: bạn có thể dùng UID xác thực Firebase làm khoá trong thực thể Cơ sở dữ liệu theo thời gian thực hoặc sử dụng Mã phiên bản Firebase để sắp xếp các tập hợp tài liệu Firestore.

Ví dụ: Lưu trữ lựa chọn ưu tiên của người dùng bằng UID xác thực và Cơ sở dữ liệu theo thời gian thực

Hãy cân nhắc một ứng dụng mạng xã hội sử dụng UID xác thực Firebase và Cơ sở dữ liệu theo thời gian thực của Firebase để lưu trữ các lựa chọn ưu tiên của người dùng.

Để đảm bảo dữ liệu của người dùng luôn an toàn và riêng tư, ứng dụng sẽ lưu các lựa chọn ưu tiên của họ vào một phần riêng biệt của cơ sở dữ liệu có các quy tắc bảo mật hạn chế chỉ cho phép người dùng đó đọc hoặc ghi. Ứng dụng cũng xác thực rằng các giá trị dự kiến chỉ là boolean và không chấp nhận các giá trị không mong muốn:

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

Cập nhật ứng dụng của bạn để sử dụng chế độ cài đặt quyền riêng tư

Sau khi có sẵn chế độ cài đặt quyền riêng tư của người dùng trong ứng dụng, bạn có thể bật các tính năng cụ thể cho những người dùng đã bật các chế độ cài đặt cụ thể. Hãy yêu cầu ứng dụng kiểm tra các chế độ cài đặt trước khi tải các tính năng thu thập dữ liệu hoặc sử dụng dữ liệu đã thu thập. Đối với một tính năng, hãy nghĩ đến trải nghiệm tốt nhất khi không có tính năng đó. Ví dụ: nếu ứng dụng là một nền tảng tiểu blog và người dùng đã không cho phép ứng dụng lưu trữ bài đăng của họ, thì cách tốt nhất để người dùng có thể xoá tuỳ chọn tạo bài đăng.

Theo dõi các thay đổi trong chế độ cài đặt quyền riêng tư

Sau khi người dùng cấp quyền thu thập dữ liệu, họ có thể đổi ý. Thêm một nút hoặc đường liên kết vào hồ sơ hoặc màn hình cài đặt của bạn để người dùng có thể cập nhật chế độ cài đặt quyền riêng tư.

Chuyến bay Đường liên kết "Cài đặt quyền riêng tư" sẽ hiện hộp thoại cài đặt để cho phép người dùng cập nhật chế độ cài đặt của họ

Bạn cũng có thể quyết định cách ứng dụng sẽ xử lý khi người dùng quyết định tắt tính năng thu thập dữ liệu. Ví dụ: bạn có thể cung cấp cho người dùng lựa chọn xoá dữ liệu đã thu thập hoặc tự động xoá. Hãy cân nhắc sử dụng Cloud Functions cho Firebase để xoá dữ liệu. Tuỳ thuộc vào lượng dữ liệu cần xoá, thao tác này có thể mất vài phút. Hãy xem hướng dẫn về cách xoá và xuất dữ liệu người dùng để biết thêm thông tin về vấn đề này.

Lưu trữ riêng nhật ký kiểm tra chế độ cài đặt quyền riêng tư của người dùng

Một số nhà phát triển ứng dụng có thể muốn lưu giữ hồ sơ về những thay đổi đối với chế độ cài đặt quyền riêng tư. Bạn có thể thực hiện việc này qua Cơ sở dữ liệu theo thời gian thực hoặc Firestore bằng cách tạo một phần mới của cơ sở dữ liệu làm nhật ký kiểm tra các thay đổi về quyền riêng tư, có cấu trúc theo giá trị nhận dạng duy nhất của người dùng, bao gồm cả dấu thời gian và chế độ cài đặt quyền riêng tư mới. Khi người dùng cập nhật chế độ cài đặt quyền riêng tư, hãy ghi hai lần, một lần ghi vào chế độ cài đặt quyền riêng tư của người dùng và một lần ghi vào nhật ký kiểm tra. Bạn cần phải tách phần này thành một phần riêng để có thể tạo các Quy tắc bảo mật hạn chế hơn. Đối với người dùng Khôi phục tài khoản, hãy thực thi việc không chỉnh sửa được các tài liệu trong nhật ký kiểm tra bằng các quy tắc chi tiết:

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

Với 4 bước đó, việc hiểu rõ dữ liệu, thu thập các lựa chọn ưu tiên, lưu trữ lựa chọn ưu tiên và theo dõi các thay đổi là rất đơn giản để đảm bảo ứng dụng của bạn tôn trọng quyền riêng tư của người dùng.