ब्लॉग पर वापस

Sec-GPC हेडर अब हर जगह है: एनालिटिक्स के लिए सर्वर-साइड डिटेक्शन

Global Privacy Control हर रिक्वेस्ट के साथ Sec-GPC रिक्वेस्ट हेडर के रूप में आता है। जानिए इसे एज पर कैसे पढ़ें और कुकी-रहित एनालिटिक्स पाइपलाइन में इसका सम्मान कैसे करें।

Global Privacy Control (GPC) की चर्चा अक्सर एक कानूनी संकेत के रूप में होती है, लेकिन इंजीनियरों के लिए यह सबसे पहले एक HTTP हेडर है। GPC-सक्षम ब्राउज़र या एक्सटेंशन से आने वाली हर रिक्वेस्ट Sec-GPC: 1 लेकर चलती है, और वही प्राथमिकता क्लाइंट जावास्क्रिप्ट को navigator.globalPrivacyControl के रूप में उपलब्ध होती है। अगर आप एज पर एनालिटिक्स चलाते हैं, तो हेडर ही साफ़-सुथरा इंटीग्रेशन बिंदु है — आप किसी भी मापन लॉजिक के चलने से पहले इस पर कार्रवाई कर सकते हैं, और ट्रैकिंग कोड का एक बाइट भी भेजने की ज़रूरत नहीं पड़ती।

यह संकेत वास्तव में कैसा दिखता है

GPC विशिष्टता एक रिक्वेस्ट हेडर फ़ील्ड Sec-GPC को परिभाषित करती है, जिसका एकमात्र सार्थक मान 1 है और वह दर्शाता है कि उपयोगकर्ता अपने व्यक्तिगत डेटा की बिक्री या साझाकरण के लिए सहमति नहीं देता। हेडर की अनुपस्थिति का अर्थ है कि कोई प्राथमिकता व्यक्त नहीं की गई — यह स्पष्ट रूप से एक सकारात्मक 0 के बराबर नहीं है। विशिष्टता /.well-known/gpc.json पर एक well-known संसाधन भी परिभाषित करती है, जिसे कोई साइट यह घोषित करने के लिए प्रकाशित करती है कि वह इस संकेत का सम्मान करती है।

चूँकि Sec-GPC में Sec- उपसर्ग है, यह एक निषिद्ध हेडर नाम है: इसे fetch() या XMLHttpRequest से सेट या ओवरराइड नहीं किया जा सकता, जिससे पेज स्क्रिप्ट से इसकी नक़ल किसी कस्टम हेडर की तुलना में कठिन हो जाती है। यह नेविगेशन और सब-रिसोर्स रिक्वेस्ट दोनों में भेजा जाता है, इसलिए एज वर्कर इसे पहली ही हिट पर देख लेता है।

इसे Cloudflare एज पर पढ़ना

Cloudflare Worker पर यह जाँच एक ही पंक्ति की है, और यह इस निर्णय से पहले चलती है कि कुछ रिकॉर्ड करना है या नहीं:

export default {
  async fetch(request) {
    const gpc = request.headers.get('Sec-GPC') === '1';
    // gpc === true -> उपयोगकर्ता ने बिक्री/साझाकरण से ऑप्ट-आउट किया
    // उसके अनुसार केवल गोपनीयता-सुरक्षित, समुच्चय संकेत ही रिकॉर्ड करें
    return handle(request, { gpc });
  }
};

Monoid के लिए यह सीधे उसी तरीके से मेल खाता है जैसे प्रोडक्ट पहले से काम करता है। Monoid न कुकी संग्रहित करता है, न localStorage, और न कोई फ़िंगरप्रिंट निकालता है — इसलिए दबाने के लिए कोई क्रॉस-साइट प्रोफ़ाइल मौजूद ही नहीं है। GPC व्यक्तिगत डेटा की बिक्री और साझाकरण से एक कानूनी ऑप्ट-आउट है — ऐसा व्यवहार जिसमें गोपनीयता-प्रथम, कुकी-रहित डिज़ाइन कभी शामिल नहीं होता। इसलिए Sec-GPC का पता लगाना एक डिफ़ेंस-इन-डेप्थ उपाय और इस बात का ऑडिट-योग्य रिकॉर्ड बन जाता है कि प्राथमिकता का पालन हुआ — यह कोई स्विच नहीं जो बदले कि ब्राउज़र से कौन-सा डेटा बाहर जाता है।

यह कानूनी रूप से क्यों मायने रखता है, संक्षेप में

GPC की प्रवर्तनीयता सैद्धांतिक नहीं है। कैलिफ़ोर्निया के अटॉर्नी जनरल का Sephora के साथ 2022 का समझौता स्पष्ट कर चुका है कि CCPA व्यवसायों से अपेक्षा करता है कि वे GPC को बिक्री से एक वैध ऑप्ट-आउट मानें, और California Privacy Rights Act के नियम ऑप्ट-आउट प्राथमिकता संकेतों का सम्मान अनिवार्य करते हैं। कोलोराडो तथा अन्य अमेरिकी राज्य व्यवस्थाओं ने भी सार्वभौमिक ऑप्ट-आउट तंत्र की तुलनीय अपेक्षाएँ अपनाई हैं। हेडर को सर्वर-साइड पढ़ना आपको एक निश्चित, लॉग किया गया बिंदु देता है जहाँ अनुपालन घटित होता है — यह किसी टैग मैनेजर पर नियम फ़ायर करने के भरोसे रहने से कहीं अधिक मज़बूत है।

well-known संसाधन प्रकाशित करना

अगर आप GPC का सम्मान करते हैं, तो इसे घोषित कीजिए। /.well-known/gpc.json को एक छोटे दस्तावेज़ के साथ सर्व कीजिए:

{ "gpc": true, "lastUpdate": "2026-07-19" }

यह एक स्थिर फ़ाइल है जिसे आप Content-Type: application/json के साथ किसी एज रूट से लौटा सकते हैं। यह ब्राउज़रों, एक्सटेंशनों और ऑडिटरों को संकेत देती है कि प्राथमिकता का सम्मान होता है, और इसके रखरखाव पर कुछ भी खर्च नहीं होता।

एनालिटिक्स पाइपलाइनों के लिए व्यावहारिक मार्गदर्शन

  • हेडर मापन से पहले जाँचें, बाद में नहीं। एज पर कार्रवाई का अर्थ है कि निर्णय किसी भी डाउनस्ट्रीम प्रोसेसिंग से पहले हो जाता है।
  • अनुपस्थिति को सहमति न मानें। Sec-GPC हेडर न होने का अर्थ केवल यह है कि कोई प्राथमिकता नहीं है; इसे अपने मौजूदा वैध आधार के साथ मिलाकर देखें।
  • न्यूनतम ऑडिट ट्रेल रखें। यह लॉग करना कि किसी रिक्वेस्ट में Sec-GPC: 1 था — किसी पहचानकर्ता से जोड़े बिना — सद्भाव दर्शाता है और कोई प्रोफ़ाइल नहीं बनाता।
  • गेटिंग के लिए JS API से बेहतर हेडर है। navigator.globalPrivacyControl प्रॉपर्टी क्लाइंट UI के लिए उपयोगी है, लेकिन हेडर आपको कोड चलने से पहले निर्णय लेने देता है।

व्यापक सबक यह है कि गोपनीयता संकेत बढ़ते हुए ट्रांसपोर्ट-लेयर तथ्य बन रहे हैं, न कि एप्लिकेशन की विचित्रताएँ। Sec-GPC, DNT (अप्रचलित), Permissions-Policy हेडर और Referrer-Policy के साथ खड़ा है — ऐसी चीज़ें जिन्हें एनालिटिक्स सिस्टम को नज़रअंदाज़ करने के बजाय पढ़ना चाहिए। कुकी-रहित प्रोडक्ट में यह बदलाव छोटा है, ठीक इसलिए कि आर्किटेक्चर पहले से डेटा न्यूनतम रखता है — और शुरू से इसी तरह बनाने का मक़सद भी यही है।

Sources

Comments

Loading comments…