Firebase के साथ निजता सेटिंग सेव करना

Firebase की मदद से, डेटा इकट्ठा करने और प्रोसेस करने से जुड़ी उपयोगकर्ताओं की प्राथमिकताओं को इकट्ठा और ट्रैक करना आसान हो जाता है:

  1. निजता सेटिंग सेट अप करना
  2. निजता सेटिंग का इस्तेमाल करने के लिए, अपना ऐप्लिकेशन अपडेट करें
  3. निजता सेटिंग में किए गए बदलावों को ट्रैक करें

निजता सेटिंग सेट अप करना

निजता सेटिंग इकट्ठा करने और सेव करने के लिए, आपको दो चीज़ों की ज़रूरत होगी: यूज़र इंटरफ़ेस (यूआई) की मदद से, उपयोगकर्ताओं को निजता सेटिंग के लिए सूचना देने और इन सेटिंग को सेव करने का तरीका.

निजता सेटिंग का यूज़र इंटरफ़ेस (यूआई) बनाना

निजता सेटिंग के यूज़र इंटरफ़ेस (यूआई) का फ़ॉर्मैट आपके हिसाब से तय होता है. अपना यूज़र इंटरफ़ेस (यूआई) बनाते समय आपको इन बातों का ध्यान रखना चाहिए:

इकट्ठा किए जाने वाले डेटा को समझना

उपयोगकर्ता के उस डेटा को कैटलॉग में शामिल करने के लिए कुछ समय निकालें जिसे आपके ऐप स्टोर पर सेव करते हैं या प्रोसेस करते हैं. पक्का करें कि आपका ऐप्लिकेशन सीधे तौर पर जो डेटा इकट्ठा करता है उसे और उन सेवाओं के ज़रिए इकट्ठा किया गया डेटा शामिल करें जिनका इस्तेमाल आपका ऐप्लिकेशन करता है. Firebase सेवाओं के लिए, Firebase की ओर से प्रोसेस किए गए असली उपयोगकर्ता डेटा के उदाहरणों की जांच करने से मदद मिल सकती है.

उपयोगकर्ताओं की सहायता करने के लिए अपना यूआई डिज़ाइन करें

इकट्ठा किए जाने वाले डेटा के बारे में कम शब्दों और आसान शब्दों में बताएं. यह भी बताएं कि इकट्ठा किए गए डेटा से आपके ऐप्लिकेशन को कैसे मदद मिलती है या उसे कैसे इस्तेमाल किया जाएगा.

अगर आपके ऐप्लिकेशन को ठीक से काम करने के लिए कोई डेटा चाहिए, तो गड़बड़ियों से बचा जा सकता है. इसके लिए अपने यूज़र इंटरफ़ेस (यूआई) पर 'सबमिट करें' बटन को बंद करें. ऐसा तब तक करें, जब तक उपयोगकर्ता आपके ऐप्लिकेशन को काम करने के लिए ज़रूरी विकल्प नहीं चुन लेता. इस बारे में सोचें कि जो उपयोगकर्ता कुछ खास तरह के डेटा इकट्ठा करने की सुविधा चालू करते हैं उनके लिए आपके ऐप्लिकेशन का फ़्लो कैसा होना चाहिए.

जब तक उपयोगकर्ता निजता नीति के लिए सहमति नहीं देता, तब तक 'सबमिट करें' बटन बंद रहेगा जब तक उपयोगकर्ता निजता नीति से सहमत नहीं होता, तब तक 'सबमिट करें' बटन बंद रहेगा

निजता सेटिंग संग्रहित करना

यह भी आपके ऊपर निर्भर करता है कि आप अपने उपयोगकर्ताओं की निजता सेटिंग को कहां और कैसे सेव करेंगे. ऐसे किसी भी भरोसेमंद आइडेंटिफ़ायर का इस्तेमाल किया जा सकता है जो आपकी निजता सेटिंग के यूज़र इंटरफ़ेस (यूआई) में, उपयोगकर्ता के चुने गए विकल्पों से जुड़ सके.

अपने ऐप्लिकेशन में इस्तेमाल किए जाने वाले डेटा स्टोर में प्राथमिकताएं स्टोर करने के लिए, आइडेंटिफ़ायर को कुंजी के तौर पर इस्तेमाल करना एक आम तरीका है. उदाहरण के लिए, रीयलटाइम डेटाबेस इंस्टेंस में Firebase ऑथराइज़ेशन यूआईडी का इस्तेमाल कुंजी के तौर पर किया जा सकता है. इसके अलावा, Firestore दस्तावेज़ों के कलेक्शन को व्यवस्थित करने के लिए, Firebase इंस्टेंस आईडी का इस्तेमाल भी किया जा सकता है.

उदाहरण: उपयोगकर्ता की पसंद के यूआईडी और रीयल टाइम डेटाबेस को स्टोर करना

किसी ऐसे सोशल मीडिया ऐप्लिकेशन का इस्तेमाल करें जो उपयोगकर्ता की प्राथमिकताओं को सेव करने के लिए, Firebase पुष्टि के यूआईडी और Firebase रीयल टाइम डेटाबेस का इस्तेमाल करता हो.

यह पक्का करने के लिए कि उपयोगकर्ताओं का डेटा सुरक्षित और निजी बना रहे, ऐप्लिकेशन अपनी प्राथमिकताओं को डेटाबेस के एक अलग हिस्से में सेव करता है. इसके लिए, सुरक्षा के सख्त नियमों का इस्तेमाल किया जाता है. इनकी मदद से उपयोगकर्ता, डेटा को सिर्फ़ पढ़ या उसमें बदलाव कर सकता है. ऐप्लिकेशन इस बात की भी पुष्टि करता है कि अनुमानित वैल्यू सिर्फ़ बूलियन हैं और उम्मीद के मुताबिक वैल्यू नहीं दी गई हैं:

"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 के लिए Cloud Functions का इस्तेमाल करके डेटा मिटाएं. यह इस बात पर निर्भर करता है कि कितने डेटा को मिटाने की ज़रूरत है. इस कार्रवाई में कुछ मिनट लग सकते हैं. इस बारे में ज़्यादा जानने के लिए, उपयोगकर्ता का डेटा हटाने और एक्सपोर्ट करने के बारे में जानकारी देने वाली गाइड देखें.

अपने उपयोगकर्ताओं की निजता सेटिंग के ऑडिट लॉग को अलग से सेव करें

ऐसा हो सकता है कि कुछ ऐप्लिकेशन डेवलपर, निजता सेटिंग में हुए बदलावों का रिकॉर्ड रखना चाहें. डेटाबेस का एक नया सेक्शन बनाकर, रीयलटाइम डेटाबेस या Firestore का इस्तेमाल किया जा सकता है. यह सेक्शन निजता में होने वाले बदलावों का ऑडिट लॉग होना चाहिए. यह सेक्शन उपयोगकर्ता के यूनीक आइडेंटिफ़ायर के हिसाब से तैयार किया जाता है. साथ ही, इसमें नई निजता सेटिंग और टाइमस्टैंप भी शामिल किया जाता है. जब कोई उपयोगकर्ता अपनी निजता सेटिंग अपडेट करता है, तो दो जवाब लिखने के लिए, उपयोगकर्ता की निजता सेटिंग पर लिखा जाना चाहिए. दूसरा, ऑडिट लॉग पर लिखा जा सकता है. इसे एक अलग सेक्शन बनाना ज़रूरी है, ताकि आप ज़्यादा पाबंदी वाले सुरक्षा नियम बना सकें. उपयोगकर्ताओं को फिर से चालू करने के लिए, लागू करें कि ऑडिट लॉग में मौजूद दस्तावेज़ों में बड़े नियमों का इस्तेमाल करके बदलाव नहीं किया जा सकता:

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

इन चार चरणों की मदद से, अपने डेटा को समझना, प्राथमिकताएं इकट्ठा करना, प्राथमिकताएं सेव करना, और बदलावों को ट्रैक करना आसान है. इससे यह पक्का किया जा सकता है कि आपका ऐप्लिकेशन आपके उपयोगकर्ताओं की निजता का ध्यान रखता है.