- Meta ने Android sandbox को बायपास करने वाला ट्रैकिंग तरीका (“localhost tracking”) विकसित किया, जो VPN, incognito mode या cookie delete करने के बाद भी उपयोगकर्ता की वास्तविक पहचान और web browsing गतिविधि को जोड़कर ट्रैक करता है
- इस तकनीक में Meta app (background) और browser के भीतर Meta Pixel script local network port के जरिए जानकारी का आदान-प्रदान करते हैं, और login न होने पर भी उपयोगकर्ता की _fbp cookie को account से जोड़ देते हैं
- इस तरीके से web browsing व्यवहार को वास्तविक Facebook/Instagram account से जोड़ा गया, जिससे उपयोगकर्ता की सहमति के बिना बड़े पैमाने पर व्यक्तिगत डेटा का एकीकरण हुआ
- GDPR, DSA, DMA जैसे यूरोप के प्रमुख privacy law का एक साथ उल्लंघन होने के कारण, cumulative penalty लागू हो सकती है और अधिकतम 32 अरब यूरो (लगभग 4%, 6%, 10% revenue अनुपात) तक जुर्माना संभव है
- 9 महीने से अधिक समय तक, और वास्तव में दुनिया की 22% प्रमुख वेबसाइटों (अमेरिका में 17,000 से अधिक सहित) पर उपयोगकर्ता की सहमति के बिना बड़े पैमाने पर tracking हुआ, और सैकड़ों मिलियन लोगों का व्यक्तिगत डेटा ‘स्पष्ट विवरण के बिना’ आपस में लिंक करके इकट्ठा किया गया
- बार-बार उल्लंघन, market dominance का दुरुपयोग, और तकनीकी बचाव उपायों को जानबूझकर दरकिनार करने की मंशा स्पष्ट होने के कारण, इतिहास में पहली बार cumulative maximum penalty लगाए जाने की संभावना तक चर्चा में है
- केवल iOS·PC·app install न करने वाले उपयोगकर्ता आदि का कुछ हिस्सा ही इसके प्रभाव से बचा
Meta की "localhost tracking" तकनीक
- Meta ने “localhost tracking” नाम की एक नई लेकिन विवादास्पद तकनीक के जरिए, Android sandbox system द्वारा जानबूझकर लगाए गए user resource identification protection को बायपास किया
- Facebook/Instagram app background में फ़ोन के भीतर विशिष्ट TCP/UDP port खोलकर उन्हें ‘listening’ स्थिति में बनाए रखती है (login अनिवार्य)
- जब उपयोगकर्ता उसी डिवाइस पर browser से किसी वेबसाइट (जैसे news, shopping mall) पर जाता है, और उस साइट पर Meta Pixel लगा हो, तो cookie और activity की जानकारी तुरंत इकट्ठा हो जाती है
- VPN, incognito mode, cookie delete जैसे privacy protection उपाय भी बेअसर रहते हैं
- browser की Meta Pixel script, WebRTC (मूल रूप से video/audio communication के लिए) और SDP Munging नाम की ट्रिक का उपयोग करके _fbp cookie को सीधे app तक भेजती है
- साथ ही वही जानकारी Meta server पर भी अलग से भेजी जाती है, जिससे online·offline दोनों दिशाओं में जुड़ा हुआ tracking संभव हो जाता है
- Facebook/Instagram app _fbp value प्राप्त करके, उसे account के unique identifier के साथ फिर से Meta GraphQL server पर भेजती है
- इसके परिणामस्वरूप web browser visit ID और वास्तविक Facebook/Instagram user account के बीच web visit activity और वास्तविक पहचान का 1:1 mapping बनता है और वे मजबूती से जुड़ जाते हैं
यह समस्या गंभीर क्यों है
- Android design में प्रतिबंधित local port listening / app-to-app hidden communication को तकनीकी जुगाड़ से बायपास किया गया
- उपयोगकर्ता app न खोले, web browser में login न करे, तब भी VPN·incognito mode·cookie delete जैसे बचाव उपाय बेकार हैं
- GDPR आदि privacy नियमों के अनुपालन के लिए आवश्यक स्पष्ट और पर्याप्त पूर्व सहमति के बिना डेटा संग्रह और उसका आपसी linking किया गया
- दुनिया की 22% Top साइटें इसके दायरे में रहीं, और 9 महीने (Meta) / 8 साल (Yandex) तक अरबों लोगों की बिना सहमति tracking हुई
- इकट्ठा और जोड़ी गई जानकारी: पूरी browsing history, cart·purchase history, website form भरने का डेटा, समय-आधारित behavior pattern, real-name account linking आदि
- केवल iOS और PC उपयोगकर्ता, app install न करने वाले, या सिर्फ Brave/DuckDuckGo browser उपयोग करने वाले ही अपवाद हैं
प्रमुख कानूनी उल्लंघन बिंदु
- GDPR: विज्ञापन उद्देश्य से personal data processing के लिए consent आवश्यक, data minimization / privacy by design दायित्व का उल्लंघन (revenue का अधिकतम 4%)
- DSA(अनुच्छेद 26): profile के आधार पर sensitive data (रुझान, राजनीतिक विचार, स्वास्थ्य आदि) से personalized advertising पर प्रतिबंध (revenue का अधिकतम 10%)
- DMA(अनुच्छेद 5.2): core platforms के बीच explicit consent के बिना personal data combination पर प्रतिबंध (अधिकतम 10%, दोहराव पर 20%)
- account linking के लिए कम से कम तीन तरह की सहमति (GDPR, ePrivacy, DMA) चाहिए, लेकिन केवल 1 ही मांगी गई (अनिवार्य "Pay or OK" विकल्प)
- अप्रैल 2025 में DMA उल्लंघन से संबंधित 20 करोड़ यूरो के जुर्माने का मामला पहले से मौजूद है
जुर्माना और प्रतिबंध की संभावना
- GDPR·DMA·DSA, तीनों के अलग-अलग कानूनी हित और दंड ढांचे हैं, इसलिए cumulative fine की गणना संभव है
- सैद्धांतिक अधिकतम जुर्माना 32 अरब यूरो है। Meta के बार-बार उल्लंघन, नियामकों के साथ अपर्याप्त सहयोग, market dominance और जानबूझकर बचने के संकेतों को देखते हुए, एक मिसाल बनने वाली कड़ी सजा की संभावना जताई जा रही है
निष्कर्ष
- Meta की “localhost tracking” तकनीक privacy protection के तकनीकी और कानूनी मानकों को दुर्भावनापूर्वक बायपास करने का एक प्रतिनिधि उदाहरण है, और इसका वैश्विक असर बेहद व्यापक और गंभीर है।
- GDPR/DSA/DMA के कई नियमों के उल्लंघन, market dominance और बार-बार उल्लंघन के रिकॉर्ड को देखते हुए, इतिहास के सबसे बड़े स्तर का cumulative जुर्माना वास्तव में लगाया जा सकता है
- अब दुनिया भर की नजर इस पर है कि क्या नियामक पहली बार GDPR·DSA·DMA के cumulative fine (अधिकतम 32 अरब यूरो) लगाएंगे
5 टिप्पणियां
जिन मैनेजर-लेवल लोगों ने इसे मंजूरी दी थी, उन्हें अंदरूनी तौर पर जवाबदेह कैसे ठहराया जाएगा, पता नहीं।
सोच रहा हूँ कि iOS सुरक्षित होगा या नहीं..
Q: क्या iOS/अन्य प्लेटफ़ॉर्म भी प्रभावित हैं?
A: अब तक यह केवल Android पर ही पुष्टि हुई है, तकनीकी रूप से iOS/desktop/smart TV आदि पर भी संभावित जोखिम हो सकता है
Android में Localhost का उपयोग करने वाली गुप्त web-app tracking तकनीक का खुलासा
Hacker News की राय
पहले चर्चा हुए संबंधित विषय के रूप में web-to-app tracking मुद्दे और Meta तथा Yandex की privacy समस्याओं को समेटने वाला एक link collection साझा किया गया। इसमें ऐसे विषयों का ज़िक्र है: Washington Post की privacy tips (Chrome का उपयोग बंद करना, Meta apps और Yandex हटाना), Meta द्वारा Android उपयोगकर्ताओं को Instagram और Facebook के ज़रिए गुप्त रूप से track करना, शोधकर्ताओं के विरोध के बाद Android पर mobile port tracking तकनीक बंद करना, Yandex और Meta द्वारा WebRTC के माध्यम से tracking data leak आदि
2014 की वह घटना याद की गई जब Android Twitter app ने मेरे device पर installed सभी apps की सूची Twitter server को भेजनी शुरू कर दी थी। उसके बाद से जो services browser में इस्तेमाल की जा सकती हैं, उनके लिए native app की बजाय web version पर ही अड़ा रहा। Facebook या Instagram का उपयोग नहीं करता, इसलिए हाल में वे कैसे काम करते हैं यह नहीं पता। उस समय Facebook Messenger को भी browser environment में जानबूझकर सीमित functionality के साथ चलाने का अनुभव रहा। पिछले 10 सालों में native apps ने अनगिनत permissions मांगीं, और users ने बिना ज़्यादा सोचे click करके सहमति दे दी। यह सवाल बना रहता है कि Facebook को मेरी Wi‑Fi या Bluetooth जानकारी देखने की ज़रूरत क्यों होनी चाहिए। offline stores में भी beacons के ज़रिए लोगों को track करने के उदाहरण हैं https://en.wikipedia.org/wiki/Facebook_Bluetooth_Beacon . दुख की बात यह है कि native apps web apps की तुलना में कहीं अधिक smooth और performant होते हैं
Facebook Messenger को browser में जानबूझकर असुविधाजनक बनाने का अनुभव साझा किया गया। Messenger Lite भी इस्तेमाल किया, लेकिन अंततः service बंद हो गई। events या contacts की वजह से Facebook इस्तेमाल करते रहना पड़ता है, लेकिन Messenger app कभी install नहीं करते, और आखिरकार desktop mode में जबरन इस्तेमाल करने की असुविधा झेलनी पड़ती है। feed में बस "आपके लिए सुझाया गया" जैसा बहुत कुछ आता है, इसलिए पहले जैसी लत नहीं लगती। समझ नहीं आता कि वे users को क्यों भगाना चाहते हैं, लेकिन वास्तव में ऐसा ही लगता है
हाल के वर्षों में web apps खुद ही बहुत बुरी तरह बाधित किए गए हैं। आधा समय "app install करें" popup परेशान करते हैं, और बाकी आधा समय वे बिल्कुल काम ही नहीं करते। इससे भी ज़्यादा निराशाजनक बात यह है कि आजकल कई native apps असल में webview ही हैं, और native UI भी इस्तेमाल नहीं करतीं। अगर व्यवहार में वह Safari से अलग नहीं है, तो फिर मुझे सीधा Safari ही इस्तेमाल करने दें
उस समय यह कुछ अतिशयोक्तिपूर्ण लगा था, लेकिन केवल browser version पर अड़े रहना एक ऐसा फैसला रहा जिस पर आज भी पछतावा नहीं है। notifications जैसी distractions से भी छुटकारा मिला। अगर Apple या Google privacy को लेकर सच में गंभीर होते, तो बात अलग होती। जो apps F-Droid पर नहीं हैं, उनके लिए बस इंतज़ार करता हूँ
इस तरह की app tracking अभी भी पूरी तरह क़ानूनी है। सभी apps “security purpose” के नाम पर अभी installed app list और हाल में चलाए गए apps को देख सकती हैं। contacts के साथ भी यही बात है। WhatsApp (Meta का इकलौता product जिसे मैं नियमित रूप से इस्तेमाल करता हूँ) बहुत छोटे interval पर contact जानकारी जांचता है, और बदलाव दिखने पर केवल उसका diff server पर upload करता है। इस विवाद का मुख्य बिंदु यह है कि Meta ने Google को “cookie matching” की लागत चुकाए बिना web पर user matching को bypass कर लिया
इस system के लिए Meta के engineers द्वारा किए गए code commits और product managers द्वारा tickets के ज़रिए अनुरोध निपटाने के रिकॉर्ड मौजूद हैं। यह तर्क दिया गया कि जैसे Facebook पर revenue के प्रतिशत के हिसाब से fine लगता है, वैसे ही इसमें शामिल लोगों पर भी उनके वेतन के किसी प्रतिशत के आधार पर व्यक्तिगत जवाबदेही तय होनी चाहिए
इस बात पर ज़ोर दिया गया कि असली ज़िम्मेदारी उन managers की है जिन्होंने ऐसे system को अनुमति दी
विचार से सहमति है, लेकिन यह सही नहीं होगा कि सिर्फ नीचे के कर्मचारी ज़िम्मेदार ठहराए जाएँ और ऊपर के लोग बच जाएँ। जवाबदेही ऊपर तक जानी चाहिए
यह चर्चा CS Lewis के मशहूर उद्धरण की याद दिलाती है। “सबसे बुरा अत्याचार साफ-सुथरे, शांत दफ़्तरों में सूट पहने लोगों द्वारा योजनाबद्ध किया जाता है” — Meta जैसी बड़ी कंपनियों को उसका आधुनिक उदाहरण बताया गया
यह नैतिक रूप से स्पष्ट रूप से गलत काम है, लेकिन कुछ engineers वेतन मिले तो कुछ भी बना देते हैं। अगर वे नहीं करेंगे तो कोई और कर देगा, और कभी-कभी यह तकनीकी रूप से चुनौतीपूर्ण होने की वजह से दिलचस्प भी लगता है। अंततः ज़िम्मेदारी managers या पैसा लगाने वाले ऊपरी स्तर के लोगों, यानी Zuck जैसे उन लोगों पर डालनी चाहिए जो पैसा और लाभ लेते हैं; पैसे के प्रवाह का पीछा करना चाहिए
यह सवाल उठाया गया कि क्या EU, अमेरिका में रहने वाले अमेरिकी engineer पर fine लगा सकता है
Meta के बारे में यह सब सुनकर हैरानी नहीं होती। 2010 के शुरुआती दशक में उसने iOS App Store के HTTPS traffic की निगरानी करके popular apps का पहले से पता लगाया था, और उसी आधार पर WhatsApp या Instagram जैसे अधिग्रहण तय कर सका। मौजूदा स्थिति में Zuckerberg की बड़ी बाज़ी शायद यह है कि अगला platform (AR, VR) आने तक Meta किसी तरह जीवित रहे। अगर Meta नया platform क़ब्ज़े में कर लेता है, तो उसे तर्कसंगत नियमों की परवाह कम करनी पड़ेगी और वह अपने ad machine के internet tentacles और फैला सकेगा। यह वांछनीय नहीं है, लेकिन व्यवहारिक रूप से उनके सफल होने की संभावना काफ़ी लगती है
कंपनियाँ बहुत चाहती हैं कि AR/VR अगला platform बने, लेकिन कुछ game enthusiasts को छोड़ दें तो क्या आम लोग सच में यह चाहते हैं, इस पर संदेह है। इसे movie 3D glasses जैसी सीमित उम्र वाला ट्रेंड माना गया
पहले iOS app monitoring के समय users को enterprise certificate से वितरित VPN ख़ुद install करना पड़ता था, और वह App Store पर उपलब्ध तरीका नहीं था। users को iOS की डरावनी warnings कई बार पार करनी पड़ती थीं, लेकिन मामूली gift card देने पर भी काफ़ी लोग शामिल हो गए थे
Meta बार-बार ऐसा इसलिए कर सका क्योंकि अतीत से ही उचित सज़ा repeat offenders को रोक नहीं पाई
Meta का VR platform Quest कुल मिलाकर लगभग 20 million units बिका है, जो Facebook जैसे बड़े user base पर निर्भर कंपनी के लिए अभी भी बहुत कम है। Quest 2 (14 million units) जैसे अपेक्षाकृत सफल product को भी बंद हुए 9 महीने हो चुके हैं। यह explosive growth से काफ़ी दूर दिखता है
यह भी कहा गया कि ऐसा system बनाने वाला engineer शायद Hacker News पर मौजूद हममें से ही कोई हो सकता है। अनुमान यह है कि Zuck ने इसे ख़ुद नहीं लिखा होगा
यहाँ (Hacker News) जब engineers से कहा जाता है कि उन्हें अपने काम पर नैतिक विचार करना चाहिए, तो अक्सर जवाब मिलता है: “मैं तो बस cool tech बनाना चाहता हूँ, कंपनी उसका क्या करती है यह मेरी समस्या नहीं।” “मैं तो सिर्फ code monkey हूँ; manager अगर Torment Nexus बनाने को कहे, तो बना दूँगा” जैसी निंदक सोच भी मौजूद है
मज़ाक में कहा गया कि Meta को ऐसी चीज़ें लागू करने के लिए AI की ज़रूरत इसलिए है, क्योंकि AI मना नहीं करता
यहाँ दो समस्याएँ दिखती हैं। पहली, Android apps अलग permission के बिना ports खोल सकती हैं। और apps आपस में भी अलग permission के बिना communicate कर सकती हैं। दूसरी, browser किसी भी domain को localhost service तक पहुँचने देता है। पहले भी localhost पर चल रही developer services तक पहुँचने से जुड़े security issues रहे हैं। लगता है कि इसमें कुछ सुधार की ज़रूरत है
इसे और सटीक रूप से बाँटें तो पहली समस्या यह है कि कोई भी app अलग permission के बिना port listen कर सकती है, और दूसरी यह कि कोई भी app अलग permission के बिना local ports तक पहुँच सकती है। मैंने व्यक्तिगत रूप से इसी वजह से desktop पर browser को network namespace में isolate करके प्रयोग किया है। मेरा मानना है कि websites को मेरे localhost services तक मनमाने ढंग से पहुँच नहीं होनी चाहिए
यह माना गया कि तकनीकी मुद्दे दोनों सही हैं, लेकिन फिर भी Facebook को ऐसा नहीं करना चाहिए
Android app को port खोलने के लिए
android.permission.INTERNETpermission चाहिए। यह permission आम तौर पर install के समय अपने-आप दे दी जाती है, हालांकि GrapheneOS जैसे versions में इसे अलग से block किया जा सकता है। अभी तक “केवल internal communication की अनुमति” जैसे सूक्ष्म नियंत्रण उपलब्ध नहीं हैं, ऐसा समझा जाता हैएक प्रस्ताव यह भी है कि sites को बिना विशेष अनुमति user के local network तक पहुँचने से रोका जाए https://github.com/explainers-by-googlers/local-network-access
अगर Facebook या Instagram app Android phone पर installed है, account में login है, और tracking pixel जैसी चीज़ों को block करने की अलग setting नहीं की गई है, तो इस मामले से प्रभावित होने की संभावना है। VPN या incognito mode को bypass करने वाला हिस्सा विशेष रूप से गंभीर लगता है। बहुत से लोग मान लेते हैं कि ऐसे mode से पूरी privacy मिल जाती है, जबकि असल में इसका असर अक्सर सिर्फ इतना होता है कि आप नए session या अलग location से आए हुए दिखते हैं
आम user के नज़रिए से VPN और private browsing का उपयोग करते समय यह मान लेना स्वाभाविक है कि इतना काफ़ी है। browser का मेरे phone के apps से चुपचाप communicate करके मेरी सारी गतिविधि को मेरे account से जोड़ देना हद से ज़्यादा है
जब Facebook या Instagram app वास्तव में background में चल रही हो, तब tracking और बदतर हो सकती है। कुछ users को apps का background में चलना बेहद नापसंद है, इसलिए वे काम ख़त्म होते ही उन्हें force close कर देते हैं
असली समस्या WebRTC में बताई गई। WebRTC को default रूप से disabled होना चाहिए, या कम से कम permission dialog के पीछे छिपा होना चाहिए। बेशक Facebook chat जैसी कुछ functionality का बहाना बनाकर WebRTC सक्षम कराने की मांग करेगा, और अंत में 99% users सहमत हो जाएँगे
समझ से बाहर है कि Meta को इतना आगे जाने की ज़रूरत ही क्यों पड़ी। उसके पास पहले से fingerprinting जैसी tracking तकनीकें हैं, इसलिए इतना जोखिम लेने की क्या ज़रूरत थी। शायद यह तकनीक इस बात का test set रही हो कि दूसरी tracking techniques कितनी अच्छी तरह काम करती हैं, या फिर कई tracking methods में से एक बैकअप के रूप में रखी गई हो ताकि कोई तरीका पकड़ में आए या patch हो जाए तो तुरंत दूसरे पर स्विच किया जा सके। फिर भी इतनी आसानी से पकड़े जाने वाले तरीके का इस्तेमाल करते रहना बेहद मूर्खतापूर्ण लगता है
यह उल्लेख किया गया कि “Meta Pixel script
_fbpcookie को WebRTC(STUN) SDP Munging के माध्यम से Instagram या Facebook native app को भेजती है” — यह सचमुच अविश्वसनीय स्तर की hacking है