ذخیره تنظیمات حریم خصوصی با Firebase

Firebase جمع آوری و ردیابی ترجیحات کاربران در مورد جمع آوری و پردازش داده ها را آسان می کند:

  1. تنظیمات حریم خصوصی را تنظیم کنید
  2. برای استفاده از تنظیمات حریم خصوصی، برنامه خود را به روز کنید
  3. ردیابی تغییرات در تنظیمات حریم خصوصی

تنظیمات حریم خصوصی را تنظیم کنید

برای جمع آوری و ذخیره تنظیمات حریم خصوصی به دو چیز نیاز دارید: UI برای درخواست تنظیمات حریم خصوصی از کاربران و راهی برای ذخیره این تنظیمات.

ایجاد رابط کاربری تنظیمات حریم خصوصی

فرمت یک UI تنظیمات حریم خصوصی به شما بستگی دارد. در اینجا چند نکته وجود دارد که هنگام ساخت UI خود باید به آنها فکر کنید:

اطلاعاتی که جمع آوری می کنید را درک کنید

برای فهرست کردن داده‌های کاربر که برنامه شما ذخیره یا پردازش می‌کند، کمی وقت بگذارید. مطمئن شوید که داده‌هایی را که برنامه‌تان مستقیماً جمع‌آوری می‌کند و داده‌های جمع‌آوری‌شده توسط سرویس‌هایی را که برنامه‌تان استفاده می‌کند، اضافه کنید. برای سرویس‌های Firebase، بررسی نمونه‌هایی از داده‌های کاربر نهایی که توسط Firebase پردازش شده‌اند، ممکن است کمک کند.

رابط کاربری خود را برای کمک به کاربران طراحی کنید

سعی کنید انواع داده هایی را که جمع آوری می کنید به صورت مختصر و کاربرپسند توصیف کنید، از جمله اینکه چگونه داده های جمع آوری شده به برنامه شما کمک می کند یا مورد استفاده قرار می گیرد.

اگر داده های خاصی وجود دارد که برنامه شما برای عملکرد صحیح به آن نیاز دارد، می توانید با غیرفعال کردن دکمه ارسال در رابط کاربری خود تا زمانی که کاربر گزینه های مورد نیاز برای کارکرد برنامه شما را انتخاب کند، از بروز خطا جلوگیری کنید. به این فکر کنید که جریان برنامه شما برای کاربرانی که برخی از انواع داده ها را فعال می کنند و نه انواع دیگر را فعال می کنند، باید چگونه باشد.

دکمه ارسال غیرفعال است تا زمانی که کاربر با سیاست حفظ حریم خصوصی موافقت کند دکمه ارسال غیرفعال است تا زمانی که کاربر با سیاست حفظ حریم خصوصی موافقت کند

ذخیره تنظیمات حریم خصوصی

اینکه کجا و چگونه تنظیمات حریم خصوصی کاربران خود را ذخیره کنید نیز به شما بستگی دارد. می توانید از هر شناسه قابل اعتمادی استفاده کنید که بتواند کاربر را با انتخاب هایی که در رابط کاربری تنظیمات حریم خصوصی شما انجام می دهد مرتبط کند.

یکی از روش های رایج استفاده از شناسه به عنوان کلید برای ذخیره تنظیمات برگزیده در فروشگاه داده ای است که در برنامه خود استفاده می کنید. برای مثال، می‌توانید از Firebase Auth UID به‌عنوان یک کلید در یک نمونه پایگاه داده بیدرنگ استفاده کنید یا از یک ID نمونه Firebase برای سازماندهی مجموعه‌های اسناد Firestore استفاده کنید.

مثال: ذخیره تنظیمات برگزیده کاربر با Auth UID و پایگاه داده بیدرنگ

یک برنامه رسانه اجتماعی را در نظر بگیرید که از Firebase Auth UID و Firebase Realtime Database برای ذخیره تنظیمات برگزیده کاربر استفاده می کند.

برای اطمینان از اینکه داده‌های کاربران امن و خصوصی می‌مانند، برنامه تنظیمات برگزیده آن‌ها را در بخش جداگانه‌ای از پایگاه داده با قوانین امنیتی محدودکننده ذخیره می‌کند که فقط به کاربر اجازه خواندن یا نوشتن را می‌دهد. این برنامه همچنین تأیید می کند که مقادیر مورد انتظار فقط بولی هستند و مقادیر غیرمنتظره را نمی پذیرد:

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

برای استفاده از تنظیمات حریم خصوصی، برنامه خود را به روز کنید

هنگامی که تنظیمات حریم خصوصی کاربران را در برنامه خود در دسترس قرار دادید، می توانید ویژگی های خاصی را برای کاربرانی که تنظیمات خاصی را فعال کرده اند روشن کنید. قبل از بارگیری ویژگی هایی که داده ها را جمع آوری می کند یا از داده های جمع آوری شده استفاده می کند، از برنامه خود بخواهید تنظیمات را بررسی کند. در مورد یک ویژگی، به این فکر کنید که بهترین تجربه بدون آن ویژگی چه خواهد بود. به عنوان مثال، اگر برنامه یک پلتفرم میکروبلاگینگ است و کاربر آن را از ذخیره پست های خود غیرفعال کرده است، بهترین تجربه کاربری ممکن است حذف گزینه ایجاد یک پست باشد.

ردیابی تغییرات در تنظیمات حریم خصوصی

پس از اینکه کاربر اجازه جمع آوری داده ها را می دهد، می تواند نظر خود را تغییر دهد. یک دکمه یا پیوند به نمایه یا صفحه تنظیمات خود اضافه کنید تا بتوانند تنظیمات حریم خصوصی خود را به روز کنند.

این پیوند "تنظیمات حریم خصوصی" کادر گفتگوی تنظیمات را نشان می دهد تا به کاربران اجازه دهد تنظیمات خود را به روز کنند

همچنین می‌توانید تصمیم بگیرید که وقتی کاربر تصمیم می‌گیرد جمع‌آوری داده‌ها را غیرفعال کند، برنامه شما چگونه رفتار کند. به عنوان مثال، می توانید گزینه حذف داده های جمع آوری شده یا انجام خودکار آن را به کاربر پیشنهاد دهید. استفاده از Cloud Functions برای Firebase را برای حذف داده‌ها در نظر بگیرید، زیرا بسته به مقدار داده‌هایی که باید حذف شوند، این عملیات ممکن است چند دقیقه طول بکشد. برای اطلاعات بیشتر در این مورد، راهنمای حذف و صادر کردن داده های کاربر را ببینید.

گزارش حسابرسی تنظیمات حریم خصوصی کاربران خود را جداگانه ذخیره کنید

برخی از توسعه دهندگان برنامه ممکن است بخواهند تغییرات تنظیمات حریم خصوصی را ثبت کنند. این را می توان با استفاده از پایگاه داده Realtime یا 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 خود باید به آنها فکر کنید:

اطلاعاتی که جمع آوری می کنید را درک کنید

برای فهرست کردن داده‌های کاربر که برنامه شما ذخیره یا پردازش می‌کند، کمی وقت بگذارید. مطمئن شوید که داده‌هایی را که برنامه‌تان مستقیماً جمع‌آوری می‌کند و داده‌های جمع‌آوری‌شده توسط سرویس‌هایی را که برنامه‌تان استفاده می‌کند، اضافه کنید. برای سرویس‌های Firebase، بررسی نمونه‌هایی از داده‌های کاربر نهایی که توسط Firebase پردازش شده‌اند، ممکن است کمک کند.

رابط کاربری خود را برای کمک به کاربران طراحی کنید

سعی کنید انواع داده هایی را که جمع آوری می کنید به صورت مختصر و کاربرپسند توصیف کنید، از جمله اینکه چگونه داده های جمع آوری شده به برنامه شما کمک می کند یا مورد استفاده قرار می گیرد.

اگر داده های خاصی وجود دارد که برنامه شما برای عملکرد صحیح به آن نیاز دارد، می توانید با غیرفعال کردن دکمه ارسال در رابط کاربری خود تا زمانی که کاربر گزینه های مورد نیاز برای کارکرد برنامه شما را انتخاب کند، از بروز خطا جلوگیری کنید. به این فکر کنید که جریان برنامه شما برای کاربرانی که برخی از انواع داده ها را فعال می کنند و نه انواع دیگر را فعال می کنند، باید چگونه باشد.

دکمه ارسال غیرفعال است تا زمانی که کاربر با سیاست حفظ حریم خصوصی موافقت کند دکمه ارسال غیرفعال است تا زمانی که کاربر با سیاست حفظ حریم خصوصی موافقت کند

ذخیره تنظیمات حریم خصوصی

اینکه کجا و چگونه تنظیمات حریم خصوصی کاربران خود را ذخیره کنید نیز به شما بستگی دارد. می توانید از هر شناسه قابل اعتمادی استفاده کنید که بتواند کاربر را با انتخاب هایی که در رابط کاربری تنظیمات حریم خصوصی شما انجام می دهد مرتبط کند.

یکی از روش های رایج استفاده از شناسه به عنوان کلید برای ذخیره تنظیمات برگزیده در فروشگاه داده ای است که در برنامه خود استفاده می کنید. برای مثال، می‌توانید از Firebase Auth UID به‌عنوان یک کلید در یک نمونه پایگاه داده بیدرنگ استفاده کنید یا از یک ID نمونه Firebase برای سازماندهی مجموعه‌های اسناد Firestore استفاده کنید.

مثال: ذخیره تنظیمات برگزیده کاربر با Auth UID و پایگاه داده بیدرنگ

یک برنامه رسانه اجتماعی را در نظر بگیرید که از Firebase Auth UID و Firebase Realtime Database برای ذخیره تنظیمات برگزیده کاربر استفاده می کند.

برای اطمینان از اینکه داده‌های کاربران امن و خصوصی می‌مانند، برنامه تنظیمات برگزیده آن‌ها را در بخش جداگانه‌ای از پایگاه داده با قوانین امنیتی محدودکننده ذخیره می‌کند که فقط به کاربر اجازه خواندن یا نوشتن را می‌دهد. این برنامه همچنین تأیید می کند که مقادیر مورد انتظار فقط بولی هستند و مقادیر غیرمنتظره را نمی پذیرد:

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

برای استفاده از تنظیمات حریم خصوصی، برنامه خود را به روز کنید

هنگامی که تنظیمات حریم خصوصی کاربران را در برنامه خود در دسترس قرار دادید، می توانید ویژگی های خاصی را برای کاربرانی که تنظیمات خاصی را فعال کرده اند روشن کنید. قبل از بارگیری ویژگی هایی که داده ها را جمع آوری می کند یا از داده های جمع آوری شده استفاده می کند، از برنامه خود بخواهید تنظیمات را بررسی کند. در مورد یک ویژگی، به این فکر کنید که بهترین تجربه بدون آن ویژگی چه خواهد بود. به عنوان مثال، اگر برنامه یک پلتفرم میکروبلاگینگ است و کاربر آن را از ذخیره پست های خود غیرفعال کرده است، بهترین تجربه کاربری ممکن است حذف گزینه ایجاد یک پست باشد.

ردیابی تغییرات در تنظیمات حریم خصوصی

پس از اینکه کاربر اجازه جمع آوری داده ها را می دهد، می تواند نظر خود را تغییر دهد. یک دکمه یا پیوند به نمایه یا صفحه تنظیمات خود اضافه کنید تا بتوانند تنظیمات حریم خصوصی خود را به روز کنند.

این پیوند "تنظیمات حریم خصوصی" کادر گفتگوی تنظیمات را نشان می دهد تا به کاربران اجازه دهد تنظیمات خود را به روز کنند

همچنین می‌توانید تصمیم بگیرید که وقتی کاربر تصمیم می‌گیرد جمع‌آوری داده‌ها را غیرفعال کند، برنامه شما چگونه رفتار کند. به عنوان مثال، می توانید گزینه حذف داده های جمع آوری شده یا انجام خودکار آن را به کاربر پیشنهاد دهید. استفاده از Cloud Functions برای Firebase را برای حذف داده‌ها در نظر بگیرید، زیرا بسته به مقدار داده‌هایی که باید حذف شوند، این عملیات ممکن است چند دقیقه طول بکشد. برای اطلاعات بیشتر در این مورد، راهنمای حذف و صادر کردن داده های کاربر را ببینید.

گزارش حسابرسی تنظیمات حریم خصوصی کاربران خود را جداگانه ذخیره کنید

برخی از توسعه دهندگان برنامه ممکن است بخواهند تغییرات تنظیمات حریم خصوصی را ثبت کنند. این را می توان با استفاده از پایگاه داده Realtime یا Firestore با ایجاد یک بخش جدید از پایگاه داده انجام داد تا یک گزارش حسابرسی تغییرات حریم خصوصی باشد که تحت شناسه منحصر به فرد کاربر ساختار یافته و شامل تنظیمات حریم خصوصی و مهر زمانی جدید باشد. هنگامی که کاربر تنظیمات حریم خصوصی خود را به روز می کند، دو رایتینگ انجام دهید، یکی در تنظیمات حریم خصوصی کاربر و دیگری در گزارش حسابرسی. مهم است که این بخش را به یک بخش جداگانه تبدیل کنید تا بتوانید قوانین امنیتی محدودتر ایجاد کنید. برای کاربران Firestore، اعمال کنید که اسناد موجود در گزارش حسابرسی با استفاده از قوانین جزئی قابل ویرایش نباشند:

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

با این چهار مرحله، درک داده‌های شما، جمع‌آوری تنظیمات برگزیده، ذخیره تنظیمات برگزیده و ردیابی تغییرات، مطمئن شوید که برنامه شما به حریم خصوصی کاربرانتان احترام می‌گذارد، ساده است.