- यह पेज विज़िट के तुरंत बाद पहले मिलीसेकंड के दौरान ब्राउज़र द्वारा भेजे गए डेटा के आधार पर लोकेशन, डिवाइस, ब्राउज़र, भाषा, GPU, बैटरी, फ़ॉन्ट और यूज़र प्रेफ़रेंस दिखाता है, और इसमें exploit या hacking के बिना सिर्फ सार्वजनिक रूप से documented standard features का उपयोग किया गया है
- यह सभी request headers के IP address को ip-api.com · Free tier · CC-BY-SA पर भेजकर उसे शहर और इंटरनेट प्रोवाइडर के नाम में बदलता है, lookup को स्टोर नहीं करता, स्क्रीन पर केवल कुछ octets दिखाता है, लेकिन यह स्पष्ट करता है कि बाकी भी पता लगाए जा सकते हैं
- फ़ॉन्ट fingerprinting rendered text की चौड़ाई से installed fonts का पता लगाती है, और Electronic Frontier Foundation · Cover Your Tracks ब्राउज़र की uniqueness जाँचने का टूल देता है; 2014 के Princeton शोध में शीर्ष 100,000 वेबसाइटों में से 5% पर canvas fingerprinting पाया गया
- हालाँकि पेज इसे चलाता नहीं है, लेकिन एक single user gesture से अंतिम copied content पढ़ने का अनुरोध करने वाला Clipboard API, बैटरी स्तर और discharge time के आधार पर अधिकतम 30 मिनट तक tracking की संभावना दिखाने वाला “The Leaking Battery”, और favicon के ज़रिए logged-in साइट पहचानने की तकनीक मौजूद हैं
- सर्वर को सिर्फ arrival और complete के दो anonymous events भेजे गए, और
cookies, localStorage, sessionStorage, IndexedDB, service worker cache में कुछ भी स्टोर नहीं किया जाता; टैब बंद करते ही यह विज़िटर को भूल जाने की बात कहता है
ब्राउज़र के पहुँचते ही साझा की गई जानकारी
- taken. की सभी observations विज़िटर के ब्राउज़र से विज़िट के तुरंत बाद पहले मिलीसेकंड में प्राप्त डेटा पर आधारित हैं, और इनमें exploit, vulnerability या hacking के बिना केवल सार्वजनिक रूप से documented standard features का उपयोग किया गया है
-
लोकेशन
- हर request header में शामिल IP address को ip-api.com · Free tier · CC-BY-SA पर भेजकर शहर और इंटरनेट प्रोवाइडर के नाम में बदला जाता है
- lookup अस्थायी है और दोनों पक्ष इसे स्टोर नहीं करते; स्क्रीन पर IP का केवल पहला और आख़िरी octet दिखाया जाता है, लेकिन यह बताया गया है कि बाकी भी पता किए जा सकते हैं
- GDPR के तहत, tracking के लिए उपयोग होने पर IP address को personal data माना जा सकता है, और taken. tracking, retention या logging नहीं करता
-
ब्राउज़र API
- स्क्रीन, ब्राउज़र, भाषा, GPU, cores की संख्या, बैटरी, फ़ॉन्ट और यूज़र प्रेफ़रेंस जैसी डिवाइस observations MDN Web Docs · Mozilla · CC-BY-SA 2.5 में सार्वजनिक रूप से documented standard JavaScript APIs से ली जाती हैं
- यह ब्राउज़र के design के अनुसार संभव व्यवहार है, और निष्कर्ष यह निकलता है कि “समस्या design में है”
-
फ़ॉन्ट और canvas fingerprinting
- rendered text की चौड़ाई से installed fonts पहचानने वाली फ़ॉन्ट fingerprinting तकनीक 2010 से documented है, और Electronic Frontier Foundation · Cover Your Tracks यह जाँचने का टूल देती है कि ब्राउज़र कितना unique है
- ज़्यादातर ब्राउज़र cookies के बिना भी open web पर track किए जाने लायक पर्याप्त unique होते हैं, और font combinations सबसे मज़बूत signals में से एक हैं
- Princeton University · Web Transparency & Accountability Project के 2014 के शोध ने वास्तविक वेब पर पहली बार canvas fingerprinting को documented किया और यह शीर्ष 100,000 वेबसाइटों में से 5% पर पाया गया
- canvas fingerprinting में विज़िटर के ब्राउज़र से एक छिपी हुई image draw करवाई जाती है और फिर rendered pixels को identifier के रूप में वापस पढ़ा जाता है; taken. इस तकनीक को चलाता नहीं है, लेकिन ब्राउज़र इसका समर्थन करता है
-
क्लिपबोर्ड और बैटरी
- MDN · Clipboard API specification के अनुसार, click या tap जैसे single user gesture से पेज अंतिम copied content पढ़ने की अनुमति माँग सकता है
- अंतिम copied content password, address या draft message हो सकता है; taken. ने इसका अनुरोध नहीं किया, लेकिन यह feature आधुनिक ब्राउज़रों में मौजूद है
- Olejnik, Englehardt और Narayanan के 2015 के पेपर “The Leaking Battery” ने दिखाया कि केवल battery level और discharge time के संयोजन से cookies या account के बिना भी कई वेबसाइटों पर विज़िटर को अधिकतम 30 मिनट तक track किया जा सकता है
- Firefox ने 2016 में यह API हटा दिया था, लेकिन Chrome और Edge अभी भी इसे expose करते हैं
ऐसी तकनीकें जो चलाई नहीं गईं, और ऐसा डेटा जो छोड़ा नहीं गया
-
logged-in साइट की पहचान
- taken. इसे चलाता नहीं है, लेकिन ऐसी तकनीक documented, वैध और व्यापक रूप से उपलब्ध है जिसमें ब्राउज़र से किसी विशेष service का favicon URL load कराया जाता है और success या failure देखकर पता लगाया जाता है कि उपयोगकर्ता किन साइटों में logged in है
- यह logged-in और logged-out स्थिति में अलग image लौटने के अंतर का उपयोग करती है, और बिना अनुमति Facebook, Google, X, GitHub, Reddit, LinkedIn जैसी कई services में login स्थिति का पता लगा सकती है
-
ब्राउज़र के भीतर गणना किया गया barcode
- count के नीचे दिखाई देने वाली 16 lines की ऊँचाइयाँ GPU, फ़ॉन्ट, screen size, language, time zone, operating system, browser और color depth से निकाली जाती हैं
- वही डेटा वही barcode बनाता है, और अलग विज़िटर अलग barcode देखते हैं; यह गणना केवल ब्राउज़र के भीतर होती है और भेजी नहीं जाती
- अगर बिल्कुल वही fingerprint वाला कोई और व्यक्ति हो, तो वह वही bars देखेगा, लेकिन इसकी संभावना कम है
-
वाक्य कैसे बनाए जाते हैं
- सभी sentences Matt ने खुद लिखे हैं, और runtime पर कोई language model उन्हें लिखता या संपादित नहीं करता
- code ब्राउज़र द्वारा लौटाए गए values के आधार पर पहले से लिखे गए sentence templates में से एक चुनता है, और अगर कोई condition मानव-लिखित sentence से संभाली नहीं जा सकती तो कुछ नहीं कहता
-
सर्वर को क्या भेजा गया
- सर्वर को भेजे गए events केवल arrival और complete नाम के दो anonymous events हैं; कोई cookies, identifiers या retained IP नहीं हैं
- सर्वर हर request का body discard कर देता है और कुछ लौटाता नहीं; request होने का transport-layer record hosting provider की default retention अवधि, आमतौर पर कुछ दिनों तक, logs में रह सकता है
- अधिकांश साइटें advertisers, fingerprinters, session replay tools और tag managers को सैकड़ों अतिरिक्त beacons भेजती हैं, लेकिन taken. अपने सर्वर को केवल दो भेजता है और यह बात स्पष्ट रूप से बताता है
-
डिवाइस पर क्या स्टोर किया गया
cookies, localStorage, sessionStorage, IndexedDB, service worker cache में कुछ भी स्टोर नहीं किया जाता
- स्क्रीन पर दिखाया गया डेटा ब्राउज़र के भीतर calculate किया गया था, और IP geolocation lookup तथा दो anonymous events को छोड़कर डिवाइस से बाहर नहीं जाता
- टैब बंद करते ही taken. विज़िटर को भूल जाता है, और source open करने के साथ यह निष्कर्ष देता है कि “ज़्यादातर पेज ऐसा नहीं कह सकते”
-
सीरीज़ का संदर्भ और निर्माण
- Vol. I में विज़िटर के रुके रहने के दौरान दुनिया में क्या हुआ, Vol. II में छूटा हुआ आसमान, Vol. III में पैरों के नीचे पहले से मौजूद चीज़ें, और Vol. IV में धीरे-धीरे विज़िटर स्वयं तक सिमटती संरचना दिखाई गई है
- यह पेज Matt ने Rise Up Labs में बनाया, और आगे के editions X और Bluesky पर पोस्ट किए जाएँगे
1 टिप्पणियां
Hacker News की राय
मैं उस शहर में हूँ ही नहीं। मोटे तौर पर कहें तो बस Linux जैसी किसी चीज़ पर Chrome जैसा कुछ चला रहा हूँ, और मैं कब काम करता हूँ और कब सोता हूँ, यह कोई नहीं निकाल सकता। मुझे भी नहीं पता।
जिसे यह आधुनिक हाई-एंड डिस्प्ले बता रहा है, वह दरअसल 5 साल पहले सुपरमार्केट से खरीदे गए सस्ते टैबलेट की स्क्रीन है, और फिर भी browser fingerprinting बहुत झुंझलाने वाली है। अगर यह light mode पहचान सकता है, तो उस सेटिंग का सम्मान भी क्यों नहीं कर सकता?
यह “English · Chinese” दिखाकर कहता है कि browser primary language और अतिरिक्त भाषाएँ आपके बड़े होने की जगह, रहने की जगह, यहाँ तक कि साथ रहने वालों के बारे में भी बता सकती हैं, लेकिन अंग्रेज़ी और चीनी input language होने से ऐसा कुछ पता नहीं चलता। यह वैसा ही है जैसे कहना, “मोबाइल से इंटरनेट देखने का मतलब है कि आप मोबाइल से इंटरनेट एक्सेस कर सकने वाले इंसान हैं।” टेक्नोलॉजी एक-दूसरे से interact करती है, और टेक्नोलॉजी ऐसे ही काम करती है। यह Orwellian तो है, लेकिन क्या यह Russia/China/North Korea जैसे surveillance states से भी ज़्यादा Orwellian है, यह अलग बात है। location sharing से फ़ोन, कार और devices मिल सकते हैं, online activity से अपराधियों को पकड़ा जा सकता है, और अपराध या police accountability वाले मामलों का रिकॉर्ड भी रखा जा सकता है। टेक्नोलॉजी के अत्यधिक दखल को महाविनाश की तरह देखना एक cognitive choice है, लेकिन यह समझना अच्छा है कि हमारी टेक्नोलॉजी हमारे बारे में क्या “जानती” है
light mode वाली बात से मैं सच में सहमत हूँ। मैं mid-30s में हूँ, लेकिन ऐसी कुछ dark mode sites मुझे 80s का बना देती हैं। इस site पर तो सच में कुछ दिखता ही नहीं
काश privacy advocates कम-से-कम एक बार सामान्य ढंग से बात करें। browser का time zone तक एक्सेस करना कोई दुष्ट काम है, ऐसा पैकेज बनाकर आप किसी को नहीं मना पाएँगे
मुद्दा यह नहीं है कि जानकारी सही है या नहीं। मुद्दा यह है कि cookies के बिना भी यह मुझे पहचानने का साधन बन सकती है। बेहतर sites देखते हुए EFF वाला मुझे उपयोगी लगा।
मेरे browser fingerprint को पिछले 45 दिनों के visitors में unique बताया गया: https://coveryourtracks.eff.org/
अगर JavaScript के बिना जाएँ, तो यह कहता है: “JavaScript बंद होने पर पेज यह नहीं बता सकता कि browser ने क्या प्रकट किया। data अब भी मौजूद है। disclosure अब भी हो चुका है। रुकती सिर्फ़ बताने की क्रिया है।”
ऐसा बढ़ा-चढ़ाकर लिखा LLM स्टाइल बहुत चुभता है, लेकिन कम-से-कम इससे संकेत मिल जाता है कि इसे पूरी तरह नज़रअंदाज़ किया जा सकता है, तो उसके लिए धन्यवाद
पता नहीं मैं बूढ़ा हो गया हूँ, या लगभग 30 साल से internet software कर रहा हूँ, लेकिन इसमें कुछ भी मुझे चौंकाने वाला या चिंताजनक नहीं लगता।
कोई एक server खड़ा करता है जो connections स्वीकार करता है, और कोई उस server को connect होने का request भेजता है। कोई समझौता नहीं, कोई expectation नहीं, कोई rules तय नहीं। server पर हर connection request स्वीकार करना ज़रूरी नहीं, और किसी को उस server से connect होने का request भेजना भी ज़रूरी नहीं। server क्या लौटाएगा और client उसके साथ क्या करेगा, यह दोनों की मर्ज़ी है।
मुझे लगता है कि यह समझौता, या समझौते की अनुपस्थिति, दोनों तरफ़ लागू होती है। अगर कोई website connection request की जानकारी अपने मनमुताबिक इस्तेमाल करती है, तो user को गुस्सा नहीं होना चाहिए; लेकिन website को भी गुस्सा नहीं होना चाहिए अगर मैं प्राप्त data को अपने मनमुताबिक संभालूँ। यानी website चाहे तो मेरा IP address और request details जितना चाहे याद रख सकती है, और मैं response में जो मिला उसके साथ जो चाहूँ कर सकता हूँ। ads block कर सकता हूँ, site द्वारा बताए गए follow-up requests ठुकरा सकता हूँ, या response को अपनी पसंद के हिसाब से दिखा सकता हूँ। मैंने data माँगा था, और उधर से data भेजा गया।
अगर कोई जानकारी ऐसी है जो आप मेरे बारे में नहीं बताना चाहते, तो उसे request में डालकर भेजना ही नहीं चाहिए। अगर आप चाहते हैं कि मैं ads दिखाने की शर्त पर ही data दूँ, तो data भेजने से पहले मुझसे उस पर सहमति लेनी चाहिए। बेशक हक़ीक़त में ज़्यादातर लोगों को पता ही नहीं कि browser क्या कर रहा है, browser क्या भेज रहा है इस पर उनके पास कोई वास्तविक विकल्प भी नहीं होता, और internet अब जीवन में वैकल्पिक चीज़ नहीं रह गया। DDoS जैसी चीज़ों के कारण पूरी तरह “कुछ भी चलेगा” वाला ढाँचा भी अव्यावहारिक है। फिर भी मेरा सहज भाव यही है कि internet requests करते समय दोनों पक्षों को एक-दूसरे से बहुत ज़्यादा उम्मीद नहीं रखनी चाहिए
लेकिन हक़ीक़त में browser किसी और का एजेंट है। वह web developers के लिए काम करता है और उनकी ज़िंदगी आसान बनाने के लिए तरह-तरह की सुविधाएँ देता है। वह advertisers के लिए काम करता है और tracking clues व fingerprinting उपलब्ध कराता है। वह browser developers के लिए काम करता है और metrics, telemetry और न जाने क्या-क्या data इकट्ठा करता है। लेकिन वह अब सच में मेरे लिए काम नहीं करता। मैं बस गाड़ी में बैठा एक passenger हूँ।
मैं समझता हूँ कि IP address browser के नियंत्रण में नहीं होता, और website से connect होने के लिए उसे अनिवार्य रूप से उजागर करना पड़ता है। लेकिन default स्थिति में, बिना VPN के, एक IP address का देश, राज्य/प्रांत, और कभी-कभी शहर तक से स्थिर रूप से map हो जाना एक भयानक design flaw है। यह IP allocation के तरीके की बड़ी design समस्या है। बेहतर दुनिया में सिर्फ़ IP address से किसी की भौगोलिक location उजागर नहीं होनी चाहिए
client का language header या supported fonts की list भेजने का मतलब यह नहीं था कि server “इस data से जो मन करे करो।” जब हमने standards बनाए थे, तब हमारे पास वास्तविक कारण थे। website providers, या ज़्यादा सटीक कहें तो ad networks, ने इन्हें किसी और मक़सद के लिए इस्तेमाल करना चुना — यह उसी implicit agreement को तोड़ना है। बेशक हो सकता है कि मैं बहुत ज़्यादा उम्मीद कर रहा हूँ
इसने मेरे फ़ोन की battery level जान ली और device के बारे में अंदाज़े भी सही लगाए। gyroscope, touchscreen interaction को सही पढ़ा, और दिखाया कि इनका इस्तेमाल पहचान और inference के लिए कैसे हो सकता है। यह तक कि आप बैठे हैं, खड़े हैं या लेटे हैं, यह भी संभव है। शुरुआत धीमी है, लेकिन आगे चलकर दिलचस्प हो जाता है
“हम एक-दूसरे के किसी ऋणी नहीं” वाला मॉडल उस दौर में काफ़ी ठीक चलता था, जब ज़्यादातर लोग अच्छे इरादों वाले मान लिए जाते थे। लेकिन जैसे ही internet में पैसा और सत्ता वास्तविक ताकत बन गए, रिश्ता ज़्यादा शत्रुतापूर्ण हो गया। trust assumptions और accountability की कमी ने एक पक्ष के लिए दूसरे पक्ष की सद्भावना का फ़ायदा उठाना आसान बना दिया। वेब की server-client संरचना में मौजूद तकनीकी और शक्ति असंतुलन के कारण दुरुपयोग भी ज़्यादातर एक ही दिशा में बहता है
site सुंदर है और बढ़ा-चढ़ाकर लिखी गई कॉपी भी मज़ेदार है, लेकिन इससे बेहतर fingerprinting demo बहुत हैं।
यहाँ दिखाए गए data points कम हैं। जाँची जा सकने वाली चीज़ें इससे कहीं ज़्यादा हैं, और उनमें से कई यहाँ गलत लगती हैं। इसने साफ़ तौर पर सिर्फ़ एक चीज़ को “withheld” के रूप में पहचाना, लेकिन वास्तव में कुछ और चीज़ें भी छिपी हुई लगती हैं जिनसे output बिगड़ गया है। quality control की ज़रूरत है
यह EFF Cover Your Tracks का vibe-coded वर्ज़न लगता है। इसका front page पर पहुँचना, इसकी सामग्री से भी ज़्यादा डरावना है
यहाँ इससे कहीं ज़्यादा चीज़ें देखी जा सकती हैं। supercookies और fingerprinting पर पहले से बहुत काम हो चुका है।
https://coveryourtracks.eff.org/
https://amiunique.org/
वाह, लगता है ChatGPT इस्तेमाल करने वाले किसी व्यक्ति ने browser headers का कॉन्सेप्ट खोज लिया और फिर अजीब-सी पंक्तियाँ जोड़ दीं जैसे “हमने आपको न बताने का फ़ैसला किया।”
अगर सच में देखना है कि browser क्या भेज रहा है, तो यहाँ देखें:
https://browserleaks.com/
https://coveryourtracks.eff.org/
“हमने आपकी location नहीं माँगी। आपका address आपसे पहले पहुँच गया” बकवास है। इसने मेरी IP address को key की तरह इस्तेमाल करके किसी geolocation API/service से मेरी location lookup की, तो location माँगी ही गई।
और internet communication के काम करने के लिए IP लगभग अनिवार्य है। उसे छिपाने वाली services इस्तेमाल की जा सकती हैं, लेकिन फिर वह service मेरी जानकारी रखेगी
अगर आपके पास dictionary है, तो सामने वाले से पूछे बिना भी आप उसके बोले शब्द का अर्थ dictionary में देख सकते हैं। शब्द के कई अर्थ हो सकते हैं, या वह colloquial हो सकता है, इसलिए आपका inference गलत भी हो सकता है। उस अशुद्धि को सुधारने के लिए आपको conversation context जैसे दूसरे data points चाहिए हो सकते हैं, या फिर सामने वाले से सीधे पुष्टि माँगनी पड़ सकती है
और जाहिर है address पहले पहुँचता है। तभी तो requested data वापस भेजा जा सकता है