กำลังจัดเก็บการตั้งค่าความเป็นส่วนตัวด้วย Firebase

Firebase ทำให้การรวบรวมและติดตามการตั้งค่าของผู้ใช้เกี่ยวกับการรวบรวมและประมวลผลข้อมูลเป็นเรื่องง่าย:

  1. ตั้งค่าการตั้งค่าความเป็นส่วนตัว
  2. อัปเดตแอปของคุณเพื่อใช้การตั้งค่าความเป็นส่วนตัว
  3. ติดตามการเปลี่ยนแปลงในการตั้งค่าความเป็นส่วนตัว

ตั้งค่าการตั้งค่าความเป็นส่วนตัว

ในการรวบรวมและจัดเก็บการตั้งค่าความเป็นส่วนตัว คุณจะต้องมีสองสิ่ง: UI เพื่อแจ้งให้ผู้ใช้ทราบการตั้งค่าความเป็นส่วนตัว และวิธีการจัดเก็บการตั้งค่าเหล่านั้น

การสร้าง UI การตั้งค่าความเป็นส่วนตัว

รูปแบบของ UI การตั้งค่าความเป็นส่วนตัวนั้นขึ้นอยู่กับคุณ ต่อไปนี้เป็นบางสิ่งที่ควรคำนึงถึงในขณะที่คุณสร้าง UI ของคุณ:

ทำความเข้าใจข้อมูลที่คุณรวบรวม

ใช้เวลาสักครู่เพื่อจัดทำแคตตาล็อกข้อมูลผู้ใช้ที่แอปของคุณจัดเก็บหรือประมวลผล อย่าลืมรวมข้อมูลที่แอปของคุณรวบรวมโดยตรงและข้อมูลที่รวบรวมโดยบริการที่แอปของคุณใช้ สำหรับบริการ Firebase การตรวจสอบ ตัวอย่างข้อมูลผู้ใช้ปลายทางที่ Firebase ประมวลผล อาจช่วยได้

ออกแบบ UI ของคุณเพื่อช่วยเหลือผู้ใช้

พยายามอธิบายประเภทข้อมูลที่คุณรวบรวมด้วยคำที่กระชับและเป็นมิตรต่อผู้ใช้ รวมถึงวิธีที่ข้อมูลที่รวบรวมมาช่วยแอปของคุณหรือจะนำไปใช้อย่างไร

หากมีข้อมูลบางอย่างที่แอปของคุณต้องทำงานอย่างถูกต้อง คุณสามารถหลีกเลี่ยงข้อผิดพลาดได้โดยการปิดใช้งานปุ่มส่งบน UI ของคุณจนกว่าผู้ใช้จะเลือกตัวเลือกที่จำเป็นสำหรับแอปของคุณในการทำงาน ลองนึกถึงขั้นตอนการทำงานของแอปสำหรับผู้ใช้ที่เปิดใช้การรวบรวมข้อมูลบางประเภท ไม่ใช่อย่างอื่น

ปุ่มส่งถูกปิดใช้งานจนกว่าผู้ใช้จะยอมรับนโยบายความเป็นส่วนตัว ปุ่มส่งถูกปิดใช้งานจนกว่าผู้ใช้จะยอมรับนโยบายความเป็นส่วนตัว

การจัดเก็บการตั้งค่าความเป็นส่วนตัว

คุณจะจัดเก็บการตั้งค่าความเป็นส่วนตัวของผู้ใช้ไว้ที่ไหนและอย่างไรก็ขึ้นอยู่กับคุณเช่นกัน คุณสามารถใช้ตัวระบุที่เชื่อถือได้ซึ่งสามารถเชื่อมโยงผู้ใช้กับการเลือกที่พวกเขาทำใน UI การตั้งค่าความเป็นส่วนตัวของคุณได้

แนวทางหนึ่งที่พบบ่อยคือการใช้ตัวระบุเป็นกุญแจสำคัญในการจัดเก็บการตั้งค่าในที่เก็บข้อมูลที่คุณใช้ในแอปของคุณ ตัวอย่างเช่น คุณสามารถใช้ Firebase Auth UID เป็นคีย์ในอินสแตนซ์ Realtime Database หรือใช้ Firebase Instance ID เพื่อจัดระเบียบคอลเลกชันของเอกสาร Firestore

ตัวอย่าง: การจัดเก็บการตั้งค่าผู้ใช้ด้วย Auth UID และฐานข้อมูลเรียลไทม์

พิจารณาแอปโซเชียลมีเดียที่ใช้ Firebase Auth UID และฐานข้อมูล Firebase Realtime เพื่อจัดเก็บการตั้งค่าของผู้ใช้

เพื่อให้แน่ใจว่าข้อมูลของผู้ใช้ปลอดภัยและเป็นส่วนตัว แอปจะบันทึกการตั้งค่าไปยังส่วนที่แยกต่างหากของฐานข้อมูลด้วยกฎความปลอดภัยที่เข้มงวดซึ่งอนุญาตให้ผู้ใช้นั้นอ่านหรือเขียนเท่านั้น แอปยังตรวจสอบว่าค่าที่คาดหวังเป็นเพียงบูลีนเท่านั้น และไม่ยอมรับค่าที่ไม่คาดคิด:

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

อัปเดตแอปของคุณเพื่อใช้การตั้งค่าความเป็นส่วนตัว

เมื่อคุณมีการตั้งค่าความเป็นส่วนตัวของผู้ใช้ในแอปของคุณแล้ว คุณสามารถเปิดคุณลักษณะเฉพาะสำหรับผู้ใช้ที่เปิดใช้งานการตั้งค่าบางอย่างได้ ให้แอปของคุณตรวจสอบการตั้งค่าก่อนโหลดฟีเจอร์ที่รวบรวมข้อมูลหรือใช้ข้อมูลที่รวบรวม ในกรณีของฟีเจอร์ ให้คิดว่าประสบการณ์ที่ดีที่สุดจะเป็นอย่างไรหากไม่มีฟีเจอร์นั้น ตัวอย่างเช่น หากแอปเป็นแพลตฟอร์มไมโครบล็อก และผู้ใช้ปิดใช้งานแอปไม่ให้จัดเก็บโพสต์ ประสบการณ์ผู้ใช้ที่ดีที่สุดอาจเป็นการลบตัวเลือกในการสร้างโพสต์

ติดตามการเปลี่ยนแปลงในการตั้งค่าความเป็นส่วนตัว

หลังจากที่ผู้ใช้ให้สิทธิ์ในการรวบรวมข้อมูลแล้ว พวกเขาอาจเปลี่ยนใจได้ เพิ่มปุ่มหรือลิงก์ไปยังโปรไฟล์หรือหน้าจอการตั้งค่าของคุณ ซึ่งพวกเขาสามารถอัปเดตการตั้งค่าความเป็นส่วนตัวได้

ที่ ลิงก์ "การตั้งค่าความเป็นส่วนตัว" จะแสดงกล่องโต้ตอบการตั้งค่าเพื่อให้ผู้ใช้อัปเดตการตั้งค่าของตนได้

คุณยังสามารถตัดสินใจได้ว่าแอปของคุณควรจัดการอย่างไรเมื่อผู้ใช้ตัดสินใจปิดใช้งานการรวบรวมข้อมูล ตัวอย่างเช่น คุณสามารถเสนอตัวเลือกให้ผู้ใช้ลบข้อมูลที่รวบรวมหรือดำเนินการโดยอัตโนมัติ พิจารณาใช้ฟังก์ชันคลาวด์สำหรับ Firebase เพื่อลบข้อมูล เนื่องจากการดำเนินการอาจใช้เวลาสักครู่ ทั้งนี้ขึ้นอยู่กับจำนวนข้อมูลที่จำเป็นต้องลบ ดูคำแนะนำในการ ลบและส่งออกข้อมูลผู้ใช้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

เก็บบันทึกการตรวจสอบการตั้งค่าความเป็นส่วนตัวของผู้ใช้ของคุณแยกกัน

นักพัฒนาแอปบางรายอาจต้องการเก็บบันทึกการเปลี่ยนแปลงการตั้งค่าความเป็นส่วนตัว ซึ่งสามารถทำได้โดยใช้ฐานข้อมูลเรียลไทม์หรือ Firestore โดยการสร้างส่วนใหม่ของฐานข้อมูลเพื่อเป็นบันทึกการตรวจสอบการเปลี่ยนแปลงความเป็นส่วนตัว ซึ่งมีโครงสร้างภายใต้ตัวระบุเฉพาะของผู้ใช้ และรวมถึงการตั้งค่าความเป็นส่วนตัวและการประทับเวลาใหม่ เมื่อผู้ใช้อัปเดตการตั้งค่าความเป็นส่วนตัว ให้เขียนสองครั้ง ครั้งแรกในการตั้งค่าความเป็นส่วนตัวของผู้ใช้ และอีกรายการในบันทึกการตรวจสอบ สิ่งสำคัญคือต้องแยกส่วนนี้ออกเพื่อให้คุณสามารถสร้างกฎความปลอดภัยที่เข้มงวดมากขึ้นได้ สำหรับผู้ใช้ Firestore ให้บังคับใช้ว่าเอกสารในบันทึกการตรวจสอบไม่สามารถแก้ไขได้โดยใช้กฎแบบละเอียด:

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

ด้วยสี่ขั้นตอนดังกล่าว การทำความเข้าใจข้อมูลของคุณ การรวบรวมการตั้งค่า การจัดเก็บการตั้งค่า และการติดตามการเปลี่ยนแปลง เป็นเรื่องง่ายที่จะตรวจสอบให้แน่ใจว่าแอปของคุณเคารพความเป็นส่วนตัวของผู้ใช้ , Firebase ทำให้การรวบรวมและติดตามการตั้งค่าของผู้ใช้เกี่ยวกับการรวบรวมและประมวลผลข้อมูลเป็นเรื่องง่าย:

  1. ตั้งค่าการตั้งค่าความเป็นส่วนตัว
  2. อัปเดตแอปของคุณเพื่อใช้การตั้งค่าความเป็นส่วนตัว
  3. ติดตามการเปลี่ยนแปลงในการตั้งค่าความเป็นส่วนตัว

ตั้งค่าการตั้งค่าความเป็นส่วนตัว

ในการรวบรวมและจัดเก็บการตั้งค่าความเป็นส่วนตัว คุณจะต้องมีสองสิ่ง: UI เพื่อแจ้งให้ผู้ใช้ทราบการตั้งค่าความเป็นส่วนตัว และวิธีการจัดเก็บการตั้งค่าเหล่านั้น

การสร้าง UI การตั้งค่าความเป็นส่วนตัว

รูปแบบของ UI การตั้งค่าความเป็นส่วนตัวนั้นขึ้นอยู่กับคุณ ต่อไปนี้เป็นบางสิ่งที่ควรคำนึงถึงในขณะที่คุณสร้าง UI ของคุณ:

ทำความเข้าใจข้อมูลที่คุณรวบรวม

ใช้เวลาสักครู่เพื่อจัดทำแคตตาล็อกข้อมูลผู้ใช้ที่แอปของคุณจัดเก็บหรือประมวลผล อย่าลืมรวมข้อมูลที่แอปของคุณรวบรวมโดยตรงและข้อมูลที่รวบรวมโดยบริการที่แอปของคุณใช้ สำหรับบริการ Firebase การตรวจสอบ ตัวอย่างข้อมูลผู้ใช้ปลายทางที่ Firebase ประมวลผล อาจช่วยได้

ออกแบบ UI ของคุณเพื่อช่วยเหลือผู้ใช้

พยายามอธิบายประเภทข้อมูลที่คุณรวบรวมด้วยคำที่กระชับและเป็นมิตรต่อผู้ใช้ รวมถึงวิธีที่ข้อมูลที่รวบรวมมาช่วยแอปของคุณหรือจะนำไปใช้อย่างไร

หากมีข้อมูลบางอย่างที่แอปของคุณต้องทำงานอย่างถูกต้อง คุณสามารถหลีกเลี่ยงข้อผิดพลาดได้โดยการปิดใช้งานปุ่มส่งบน UI ของคุณจนกว่าผู้ใช้จะเลือกตัวเลือกที่จำเป็นสำหรับแอปของคุณในการทำงาน ลองนึกถึงขั้นตอนการทำงานของแอปสำหรับผู้ใช้ที่เปิดใช้การรวบรวมข้อมูลบางประเภท ไม่ใช่อย่างอื่น

ปุ่มส่งถูกปิดใช้งานจนกว่าผู้ใช้จะยอมรับนโยบายความเป็นส่วนตัว ปุ่มส่งถูกปิดใช้งานจนกว่าผู้ใช้จะยอมรับนโยบายความเป็นส่วนตัว

การจัดเก็บการตั้งค่าความเป็นส่วนตัว

คุณจะจัดเก็บการตั้งค่าความเป็นส่วนตัวของผู้ใช้ไว้ที่ไหนและอย่างไรก็ขึ้นอยู่กับคุณเช่นกัน คุณสามารถใช้ตัวระบุที่เชื่อถือได้ซึ่งสามารถเชื่อมโยงผู้ใช้กับการเลือกที่พวกเขาทำใน UI การตั้งค่าความเป็นส่วนตัวของคุณได้

แนวทางหนึ่งที่พบบ่อยคือการใช้ตัวระบุเป็นกุญแจสำคัญในการจัดเก็บการตั้งค่าในที่เก็บข้อมูลที่คุณใช้ในแอปของคุณ ตัวอย่างเช่น คุณสามารถใช้ Firebase Auth UID เป็นคีย์ในอินสแตนซ์ Realtime Database หรือใช้ Firebase Instance ID เพื่อจัดระเบียบคอลเลกชันของเอกสาร Firestore

ตัวอย่าง: การจัดเก็บการตั้งค่าผู้ใช้ด้วย Auth UID และฐานข้อมูลเรียลไทม์

พิจารณาแอปโซเชียลมีเดียที่ใช้ Firebase Auth UID และฐานข้อมูล Firebase Realtime เพื่อจัดเก็บการตั้งค่าของผู้ใช้

เพื่อให้แน่ใจว่าข้อมูลของผู้ใช้ปลอดภัยและเป็นส่วนตัว แอปจะบันทึกการตั้งค่าไปยังส่วนที่แยกต่างหากของฐานข้อมูลด้วยกฎความปลอดภัยที่เข้มงวดซึ่งอนุญาตให้ผู้ใช้นั้นอ่านหรือเขียนเท่านั้น แอปยังตรวจสอบว่าค่าที่คาดหวังเป็นเพียงบูลีนเท่านั้น และไม่ยอมรับค่าที่ไม่คาดคิด:

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

อัปเดตแอปของคุณเพื่อใช้การตั้งค่าความเป็นส่วนตัว

เมื่อคุณมีการตั้งค่าความเป็นส่วนตัวของผู้ใช้ในแอปของคุณแล้ว คุณสามารถเปิดคุณลักษณะเฉพาะสำหรับผู้ใช้ที่เปิดใช้งานการตั้งค่าบางอย่างได้ ให้แอปของคุณตรวจสอบการตั้งค่าก่อนโหลดฟีเจอร์ที่รวบรวมข้อมูลหรือใช้ข้อมูลที่รวบรวม ในกรณีของฟีเจอร์ ให้คิดว่าประสบการณ์ที่ดีที่สุดจะเป็นอย่างไรหากไม่มีฟีเจอร์นั้น ตัวอย่างเช่น หากแอปเป็นแพลตฟอร์มไมโครบล็อก และผู้ใช้ปิดใช้งานแอปไม่ให้จัดเก็บโพสต์ ประสบการณ์ผู้ใช้ที่ดีที่สุดอาจเป็นการลบตัวเลือกในการสร้างโพสต์

ติดตามการเปลี่ยนแปลงในการตั้งค่าความเป็นส่วนตัว

หลังจากที่ผู้ใช้ให้สิทธิ์ในการรวบรวมข้อมูลแล้ว พวกเขาอาจเปลี่ยนใจได้ เพิ่มปุ่มหรือลิงก์ไปยังโปรไฟล์หรือหน้าจอการตั้งค่าของคุณ ซึ่งพวกเขาสามารถอัปเดตการตั้งค่าความเป็นส่วนตัวได้

ที่ ลิงก์ "การตั้งค่าความเป็นส่วนตัว" จะแสดงกล่องโต้ตอบการตั้งค่าเพื่อให้ผู้ใช้อัปเดตการตั้งค่าของตนได้

คุณยังสามารถตัดสินใจได้ว่าแอปของคุณควรจัดการอย่างไรเมื่อผู้ใช้ตัดสินใจปิดใช้งานการรวบรวมข้อมูล ตัวอย่างเช่น คุณสามารถเสนอตัวเลือกให้ผู้ใช้ลบข้อมูลที่รวบรวมหรือดำเนินการโดยอัตโนมัติ พิจารณาใช้ฟังก์ชันคลาวด์สำหรับ Firebase เพื่อลบข้อมูล เนื่องจากการดำเนินการอาจใช้เวลาสักครู่ ทั้งนี้ขึ้นอยู่กับจำนวนข้อมูลที่จำเป็นต้องลบ ดูคำแนะนำในการ ลบและส่งออกข้อมูลผู้ใช้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

เก็บบันทึกการตรวจสอบการตั้งค่าความเป็นส่วนตัวของผู้ใช้ของคุณแยกกัน

นักพัฒนาแอปบางรายอาจต้องการเก็บบันทึกการเปลี่ยนแปลงการตั้งค่าความเป็นส่วนตัว ซึ่งสามารถทำได้โดยใช้ฐานข้อมูลเรียลไทม์หรือ Firestore โดยการสร้างส่วนใหม่ของฐานข้อมูลเพื่อเป็นบันทึกการตรวจสอบการเปลี่ยนแปลงความเป็นส่วนตัว ซึ่งมีโครงสร้างภายใต้ตัวระบุเฉพาะของผู้ใช้ และรวมถึงการตั้งค่าความเป็นส่วนตัวและการประทับเวลาใหม่ เมื่อผู้ใช้อัปเดตการตั้งค่าความเป็นส่วนตัว ให้เขียนสองครั้ง ครั้งแรกในการตั้งค่าความเป็นส่วนตัวของผู้ใช้ และอีกรายการในบันทึกการตรวจสอบ สิ่งสำคัญคือต้องแยกส่วนนี้ออกเพื่อให้คุณสามารถสร้างกฎความปลอดภัยที่เข้มงวดมากขึ้นได้ สำหรับผู้ใช้ Firestore ให้บังคับใช้ว่าเอกสารในบันทึกการตรวจสอบไม่สามารถแก้ไขได้โดยใช้กฎแบบละเอียด:

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

ด้วยสี่ขั้นตอนดังกล่าว การทำความเข้าใจข้อมูลของคุณ การรวบรวมการตั้งค่า การจัดเก็บการตั้งค่า และการติดตามการเปลี่ยนแปลง เป็นเรื่องง่ายที่จะตรวจสอบให้แน่ใจว่าแอปของคุณเคารพความเป็นส่วนตัวของผู้ใช้