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 tùy chọn xung quanh 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 yếu tố: Giao diện người dùng để nhắc người dùng cho chế độ cài đặt quyền riêng tư của họ và cách lưu trữ những chế độ đó.

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 hãy nhớ bao gồm cả dữ liệu mà ứng dụng của bạn trực tiếp thu thập và dữ liệu do dịch vụ mà ứng dụng của bạn sử dụng. Đối với các dịch vụ của Firebase, bạn nên kiểm tra 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

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

Nếu có một số dữ liệu mà ứng dụng cần hoạt động đúng cách, bạn có thể tránh 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ần thiết để ứng dụng của bạn hoạt động. Suy nghĩ về luồng nội dung trong ứng dụng cho những người dùng chỉ bật và không bật một số kiểu thu thập dữ liệu.

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ư

Vị trí và cách bạn lưu trữ dữ liệu của người dùng chế độ cài đặt quyền riêng tư cũng do bạn quyết định. 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ọ đã chọn thực hiện trong giao diện người dùng 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 bạn sử dụng trong ứng dụng. Ví dụ: bạn có thể sử dụng tính năng Xác thực Firebase UID làm khoá trong phiên bản 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 bộ sưu tập tài liệu trên 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

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

Để đảm bảo rằng người dùng dữ liệu vẫn an toàn và riêng tư, ứng dụng sẽ lưu lựa chọn ưu tiên cho một phần riêng biệt của cơ sở dữ liệu cùng với 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ị 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 bạn có người dùng có chế độ cài đặt quyền riêng tư trong ứng dụng, bạn có thể bật các tính năng cụ thể dành cho người dùng đã bật các chế độ cài đặt cụ thể. Kiểm tra ứng dụng của bạn 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. Trong trường hợp của một tính năng, hãy nghĩ đến trải nghiệm tốt nhất sẽ có được nếu không có tính năng đó của chúng tôi. Ví dụ: nếu ứng dụng là nền tảng tiểu blog và người dùng không cho ứng dụng lưu trữ bài đăng của họ, trải nghiệm người dùng tốt nhất có thể là hãy 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ư của mình.

Chuyến bay Phần "Cài đặt quyền riêng tư" đường liên kết mở ra 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 thu thập dữ liệu. Ví dụ: bạn có thể cung cấp cho người dùng tùy chọn xóa hoặc tự động thu thập dữ liệu. 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 bị xoá, nên thao tác này có thể mất vài phút. Xem hướng dẫn về xoá và xuất dữ liệu người dùng để tìm hiểu thêm về chủ đề này.

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

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 mục mới của cơ sở dữ liệu là nhật ký kiểm tra về những thay đổi về quyền riêng tư, được cấu trúc theo giá trị nhận dạng riêng biệt của người dùng, bao gồm cả chế độ cài đặt quyền riêng tư và dấu thời gian 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 cài đặt quyền riêng tư và một thông báo cho nhật ký kiểm tra. Điều quan trọng là bạn phải đảm bảo rằng để bạn có thể tạo Quy tắc bảo mật hạn chế hơn. Cho Người dùng Firestore, hãy thực thi rằng không thể chỉnh sửa tài liệu trong nhật ký kiểm tra bằng 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 bốn bước đó, việc hiểu rõ dữ liệu của bạn, thu thập các lựa chọn ưu tiên, lưu trữ và theo dõi các thay đổi, rất đơn giản để đảm bảo ứng dụng của bạn tôn trọng người dùng quyền riêng tư.