उपयोगकर्ता एजेंट को सामान्य बनाना

अगर किसी पब्लिशर या उपयोगकर्ता को निजता की ज़्यादा सुरक्षा चाहिए, तो Google, उपयोगकर्ता एजेंट फ़ील्ड में दी गई जानकारी को कम कर सकता है. जब जानकारी कम हो जाती है, तो इन उपयोगकर्ता एजेंट के प्रतिनिधियों को सामान्य माना जाता है.

सामान्य उपयोगकर्ता एजेंट के प्रतिनिधित्व से निजता की सुरक्षा बढ़ती है. ऐसा, उस जानकारी को सीमित करके किया जाता है जिससे किसी ब्राउज़र या डिवाइस को अन्य ब्राउज़र या डिवाइसों से अलग किया जा सकता है.

खास जानकारी

बिड रिक्वेस्ट में, उपयोगकर्ता एजेंट की जानकारी दो तरह से दी जाती है: BidRequest.device.ua में मौजूद User-Agent स्ट्रिंग और BidRequest.device.sua में मौजूद UserAgent ऑब्जेक्ट. दोनों फ़ील्ड में, अनुरोध के उपयोगकर्ता एजेंट के एचटीटीपी हेडर से मिली जानकारी होती है.

सामान्य उपयोगकर्ता एजेंट के बजाय, सामान्य उपयोगकर्ता एजेंट में ब्राउज़र और ऑपरेटिंग सिस्टम के वर्शन और अन्य ज़्यादा जानकारी वाला डेटा शामिल हो सकता है. यह डेटा, सामान्य उपयोगकर्ता एजेंट में कम होता है.

ब्राउज़र और डिवाइस टाइप की पहचान करने के लिए, सामान्यीकरण की सुविधा पुराने सिस्टम के साथ काम करती है. बिड रिक्वेस्ट से पता चलता है कि BidRequest.ext.privacy_treatments में उपयोगकर्ता एजेंट फ़ील्ड को सामान्य किया गया है या नहीं.

सामान्य UserAgent ऑब्जेक्ट

सामान्य UserAgent में, सभी browser एंट्री और platform से version फ़ील्ड को कम कर दिया जाता है, ताकि सिर्फ़ मुख्य वर्शन शामिल हो. इसके लिए, ज़्यादा जानकारी वाले वर्शन कॉम्पोनेंट को शून्य से बदल दिया जाता है. UserAgent ऑब्जेक्ट में मौजूद कोई अन्य जानकारी नहीं हटाई जाती.

इस उदाहरण में, UserAgent.browser के ओरिजनल कॉन्टेंट की तुलना, उसके सामान्य फ़ॉर्मैट से की गई है:

मूल brand: "Chrome" version: ["96", "0", "4664", "92"]

सामान्य जानकारी brand: "Chrome" version: ["96", "0", "0", "0"]

Google हमेशा ब्राउज़र और प्लैटफ़ॉर्म के वर्शन को सामान्य तौर पर नहीं दिखाता. ऐसा तब होता है, जब ब्राउज़र पूरे वर्शन को फ़्रीज़ कर देता है. उदाहरण के लिए, UserAgent.browser की इस वैल्यू में बदलाव नहीं किया जाएगा: brand: "AppleWebKit" version: ["537", "36"].

जब UserAgent ऑब्जेक्ट को सामान्य किया जाता है, तो बिड रिक्वेस्ट में PrivacyTreatments ऑब्जेक्ट में user_agent_data फ़ील्ड भी शामिल होता है:

BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

सामान्य User-Agent स्ट्रिंग

सामान्य User-Agent स्ट्रिंग में, ब्राउज़र और प्लैटफ़ॉर्म आइडेंटिफ़ायर को सिर्फ़ मुख्य वर्शन में बदल दिया जाता है. उदाहरण के लिए, "Chrome/96.0.4664.92" "​​Chrome/96.0.0.0" हो जाता है. फ़्रीज़ किए गए वर्शन के कॉम्पोनेंट, जैसे कि "AppleWebKit/537.36" को सुरक्षित रखा जाता है. ये बदलाव, UserAgent ऑब्जेक्ट के लिए बताए गए बदलावों के बराबर हैं.

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

इस उदाहरण में, User-Agent स्ट्रिंग के ओरिजनल कॉन्टेंट की तुलना, उसके सामान्य फ़ॉर्म से की गई है:

ओरिजनल Mozilla/5.0 (Linux; Android 11; M2007J20CG Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.92 Mobile Safari/537.36 [MyApp:CustomSignals:ABC123]

सामान्य जानकारी Mozilla/5.0 (Linux; Android 11; M2007J20CG; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.0.0 Mobile Safari/537.36

जब User-Agent स्ट्रिंग को सामान्य किया जाता है, तो बिड रिक्वेस्ट में PrivacyTreatments ऑब्जेक्ट में user_agent सिग्नल होता है:

BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSE }

Google, User-Agent स्ट्रिंग और UserAgent ऑब्जेक्ट को सामान्य बनाने के लिए, मिलते-जुलते तरीकों का इस्तेमाल करता है. इस वजह से, सामान्य User-Agent स्ट्रिंग और सामान्य UserAgent ऑब्जेक्ट, दोनों में एक जैसी जानकारी होती है.