इसे स्वयं सत्यापित करें

signed by Lollyverify-yourself.htmlHTMLAI generatedgenerated by Geminiखुद जाँचेंGet the signed filepixels, not shapes10 KB

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

अगर इस पेज पर कोई जाँच दिखाया गया परिणाम नहीं देती, तो वह या तो एक बग है या टूटा वादा। इसे रिपोर्ट करें किसी भी हाल में, और हम इसे उस गंभीरता से लेंगे जो एक टूटे वादे को चाहिए।

दस सेकंड में इसे काम करते देखें

प्रक्रियाओं से पहले, नतीजा। /verify खोलें और उस पर एक फ़ाइल छोड़ें - कोई अपलोड नहीं, कोई अकाउंट नहीं, किसी सर्वर के लिए इंतज़ार नहीं। यहाँ यह हमारे AI stance पेज से जेनरेट किए गए Queensland तूफ़ान की जाँच कर रहा है: एक Gemini इमेज जिसे Lolly ने खोला, रीसाइज़ किया और एक्सपोर्ट किया। नीचे हर बैज डिवाइस पर, फ़ाइल के अपने बाइट्स से गणना किया गया था।

फ़ोन-चौड़ाई स्क्रीन पर Verify - तूफ़ान की इमेज, एक हरा Made with Lolly निर्णय और नीचे स्टैक किए गए credential-intact और bytes-unchanged बैजsigned by Lollyvector SVGAI generatedखुद जाँचेंGet the signed file147 paths~9.4k nodes72 groups2 images254 KBफ़ोन-चौड़ाई स्क्रीन पर Verify - तूफ़ान की इमेज, एक हरा Made with Lolly निर्णय और नीचे स्टैक किए गए credential-intact और bytes-unchanged बैजsigned by Lollyvector SVGAI generatedखुद जाँचेंGet the signed file147 paths~9.4k nodes72 groups2 images254 KB

निर्णय एक बैज नहीं बल्कि इनका एक छोटा ढेर है, हर एक एक स्वतंत्र तथ्य:

और पूरा इतिहास फ़ाइल के साथ यात्रा करता है। यहाँ नौ चरण बचे हैं - पाँच जो Google ने इमेज जेनरेट और वॉटरमार्क करते समय दर्ज किए, फिर चार जो Lolly ने इस पेज पर कॉपी को खोलते, चिह्नित करते और कन्वर्ट करते समय दर्ज किए - सीधे बाइट्स से वापस पढ़े गए, आपके डिवाइस पर, और एक टाइमलाइन के रूप में रेंडर किए गए। यह वही इमेज है, उसी तरह सत्यापित, जैसे AI stance पेज पर C2PA टाइमलाइन।

वह परिवर्तन इतिहास जो Verify तूफ़ान की इमेज से वापस पढ़ता है - Google द्वारा दर्ज किए गए पाँच चरण, फिर Lolly द्वारा चार, इस पेज पर WebP पर समाप्त होते हुएsigned by Lollyvector SVGखुद जाँचेंGet the signed file71 paths~8.9k nodes78 groups111 KBवह परिवर्तन इतिहास जो Verify तूफ़ान की इमेज से वापस पढ़ता है - Google द्वारा दर्ज किए गए पाँच चरण, फिर Lolly द्वारा चार, इस पेज पर WebP पर समाप्त होते हुएsigned by Lollyvector SVGखुद जाँचेंGet the signed file71 paths~8.9k nodes78 groups111 KB

हालांकि इनमें से कोई भी भरोसे का दावा नहीं है - यह तो बस डेमो है। इस पेज का बाकी हिस्सा भरोसे का दावा है: ऊपर हर बैज पुनरुत्पादनीय है, और इसके नीचे की गारंटियों को आप कैसे स्वयं पुनरुत्पादित कर सकते हैं, यह यहां बताया गया है।

आपके ब्राउज़र में, बिना किसी टूल के

1. नेटवर्क देखें। lolly.tools खोलें, अपने ब्राउज़र का DevTools (F12) खोलें, Network टैब पर जाएं और कोई टूल इस्तेमाल करें - QR Code में एक URL टाइप करें, रंग बदलें, PNG एक्सपोर्ट करें। हर रिक्वेस्ट lolly.tools पर ही रहती है: ऐप शेल, टूल की अपनी फ़ाइलें, कैटलॉग एसेट्स। कोई एनालिटिक्स होस्ट नहीं, कोई CDN बीकन नहीं, कोई फ़ॉन्ट सेवा नहीं, कोई "error reporting" एंडपॉइंट नहीं। आप किसी टूल में जो टाइप करते हैं वह किसी भी रिक्वेस्ट में नहीं दिखता - रेंडरिंग लोकल है।

वास्तविक अपवाद - हर एक opt-in है, यूज़र-इनिशिएटेड है और होने पर उसी Network टैब में दिखता है: ब्रांड एडिटर में Google Font जोड़ने पर Google से वह एक फ़ैमिली फ़ेच होती है, एक कंसेंट डायलॉग के बाद जो पहली फ़ेच से पहले, एक बार, आपको यह ठीक-ठीक बताता है; ICC press-profile preset पर क्लिक करने पर वह प्रोफ़ाइल color.org पर ICC की पब्लिक रजिस्ट्री से फ़ेच होती है; ऑप्शनल बिल्ट-इन radio चलाने पर स्टेशन से स्ट्रीम होता है; Meeting Planner में लोकेशन डालने पर उस जगह के निर्देशांक और टाइम ज़ोन के लिए open-meteo की geocoding सेवा पर एक बार, प्रति शहर, लुकअप होता है (जवाब आपकी डिवाइस पर सेव रहते हैं), और इनपुट में यह जानकारी वहीं दी गई है जहां आप टाइप करते हैं; और URL Screenshot आवश्यक रूप से वह URL लोड करता है जो आपने टाइप किया - यही इसका काम है, और आप इसे होते हुए देखते हैं। जो टूल network क्षमता घोषित करता है वह केवल उन होस्ट्स से फ़ेच कर सकता है जो उसके मैनिफ़ेस्ट में allowlist किए गए हैं, और यह तंत्र fail-closed है; फ़िलहाल भेजा गया कोई भी टूल इसे घोषित नहीं करता, इसलिए ब्राउज़र द्वारा लागू Content-Security-Policy ही वह सीमा है जो ऊपर दी गई सूची को उसके होस्ट्स तक सीमित रखती है। privacy policy में इन सबकी संपूर्ण तालिका है; इसका स्थायी नियम यह है कि जो नेटवर्क संपर्क उस तालिका में नहीं है, वह होता ही नहीं।

2. प्लग खींच दें। ऐप लोड करें और एक-दो टूल खोलें, फिर ऑफ़लाइन हो जाएं - एयरप्लेन मोड, या DevTools → Network → Offline। रीलोड करें। गैलरी और आपके खोले हुए हर टूल काम करते रहते हैं, जिनमें आपके इस्तेमाल किए फ़ॉर्मैट्स में रेंडरिंग और एक्सपोर्ट भी शामिल है - किसी टूल की फ़ाइलें और किसी फ़ॉर्मैट का एन्कोडर पहली बार इस्तेमाल पर ही कैश होते हैं, इसलिए ऑफ़लाइन टेस्ट करने से पहले एक बार टूल को ऑनलाइन इस्तेमाल कर लें। यह इस पेज की सबसे मज़बूत जांच है: जो सॉफ़्टवेयर घर फ़ोन करता है, वह अपनी डोरी कटने पर टिक नहीं पाता।

3. कुकीज़ गिनें। DevTools → Application (Firefox: Storage) → Cookies → https://lolly.tools। सूची खाली है - ऐप कोई कुकी सेट नहीं करता। या कंसोल में document.cookie पेस्ट करें: आपको "" मिलेगा। (पूरे सिस्टम में एकमात्र कुकी, lolly_ca_state, एक ऑप्शनल पहचान साइन-इन के दौरान अधिकतम दस मिनट रहती है - साइन-इन पूरा होते ही डिलीट हो जाती है - /api/ca तक सीमित और HttpOnly है: privacy policy इसे सटीक रूप से बताती है।)

4. अपना ही स्टोरेज पढ़ें। वही Application पैनल: Lolly जो कुछ भी रखता है वह आपके सामने देखने लायक है - लगभग दो दर्जन साधारण localStorage कीज़ (थीम, भाषा, साइडबार चौड़ाई, साउंड और व्यू सेटिंग्स, साथ ही पब्लिक टूल-कैटलॉग इंडेक्स की एक कैश्ड कॉपी), और IndexedDB में आपके अपने दस्तावेज़। हर वैल्यू एक पठनीय स्ट्रिंग या JSON है - कुछ भी अस्पष्ट नहीं किया गया, पढ़ने से रोकने के लिए कुछ भी एन्कोड नहीं किया गया। Profile → Clear all my data इसे मिटा देता है; ब्राउज़र में साइट डेटा साफ़ करने से भी यही होता है, क्योंकि इसकी कोई सर्वर-साइड कॉपी नहीं है जो बच सके।

5. जांचें कि डिस्क्लोज़र संपर्क मौजूद है। /.well-known/security.txt जवाब में एक HTML पेज नहीं, बल्कि RFC 9116 कॉन्टैक्ट ब्लॉक देता है।

टर्मिनल से

6. lolly.tools पर रेंडर एंडपॉइंट बंद है। एकमात्र सर्वर फ़ीचर जो यूज़र-टाइप किए इनपुट को URL में डाल सकता था - hot-link रेंडर - यहां तब तक अक्षम है जब तक यह सेवा संगठन-स्वामित्व वाली होस्टिंग पर नहीं चली जाती (privacy policy कारण बताती है):

curl -s -o /dev/null -w '%{http_code}\n' 'https://lolly.tools/tool/qr-code.svg?url=test'
# 404

यह स्विच प्रति-डिप्लॉयमेंट है (LOLLY_DISABLE_RENDER_GET=1): पब्लिक डेमो इंस्टेंस lolly.art पर hot-link रेंडर जान-बूझकर लाइव हैं, इसलिए वहां वही प्रोब एक इमेज लौटाता है - यह अंतर फ़्लैग के काम करने का प्रमाण है, कोई असंगति नहीं।

7. सर्वर सरफ़ेस गिनने योग्य है। Server Surface हर उस सर्वर-साइड रूट को सूचीबद्ध करता है जो मौजूद है, इस स्थायी नियम के साथ कि जो एंडपॉइंट उस पेज पर नहीं है वह Lolly का हिस्सा नहीं है। इन्हें curl करें; इसके अलावा कुछ और मिलेगा नहीं।

सोर्स में

अगर डिप्लॉय किया गया कोड पब्लिक कोड से अलग होता तो ऊपर लिखी हर बात महज़ दिखावा हो सकती थी। इसलिए कोड जांचें - डिप्लॉयमेंट पब्लिक रिपॉज़िटरी से बनता है:

git clone --recurse-submodules https://github.com/lolly-tools/lolly.git
cd lolly

8. कहीं भी कोई ट्रैकर नहीं, कोई एनालिटिक्स SDK नहीं। भेजे जाने वाले कोड में - इंजन, हर शेल (ब्राउज़र एक्सटेंशन, Tauri ब्रिज ओवरराइड्स और सर्विस वर्कर सहित), सर्वर फ़ंक्शंस और टूल पैक्स में - सामान्य संदिग्धों की तलाश करें:

grep -rn --include='*.ts' --include='*.js' --include='*.mjs' --include='*.html' \
  -e googletagmanager -e google-analytics -e posthog -e mixpanel -e hotjar \
  -e sentry.io -e segment.com -e '@vercel/analytics' \
  engine/src shells/*/src shells/chrome-extension shells/*/bridge-overrides \
  shells/web/public/sw.js services packages api community brands/*/tools
# (no output)

9. कोई थर्ड-पार्टी DNS रिज़ॉल्वर नहीं। Verify का SEAL चेक कभी भी लुकअप को किसी DNS-over-HTTPS प्रोवाइडर से नहीं भेजता - वेब ऐप के पास कोई रिज़ॉल्वर है ही नहीं:

grep -rn --include='*.ts' --include='*.js' --include='*.mjs' \
  -e cloudflare-dns.com -e dns.google -e /dns-query \
  engine/src shells/*/src shells/chrome-extension shells/*/bridge-overrides \
  shells/web/public/sw.js services packages api community brands/*/tools
# (no output: outside this page and its built copies, the only place those
#  hostnames appear in the repo is tests/no-trackers.test.ts, the test that
#  bans them)

10. सर्टिफ़िकेट सेवा कुछ भी नहीं रखती। पहचान CA के पास कोई इश्यूएंस लॉग नहीं है - न आपका ईमेल, न कोई टाइमस्टैंप, न कोई वेबहुक। इस अनुपस्थिति को grep से जांचा जा सकता है:

grep -rn logIssuance services/ca api/ca
# (no output)

टेस्ट द्वारा लागू, वादों से नहीं

ऊपर दी गई तीन सोर्स जांचें एक बार का ऑडिट नहीं हैं - वे टेस्ट सुइट में पिन की गई हैं, ताकि वे चुपचाप बिगड़ न सकें। tests/no-trackers.test.ts बिल्ड को फेल कर देता है अगर:

इन्हें क्लोन में खुद चलाएं (Node 22.18+; इस फ़ाइल के लिए npm install की ज़रूरत नहीं):

node --test tests/no-trackers.test.ts
# ✔ no analytics or tracking SDK appears anywhere in shipped source
# ✔ no third-party DNS-over-HTTPS resolver is contacted
# ✔ the certificate service logs no personal data
# ✔ privacy policy states a controller, a legal basis and a right to complain

पूरा सुइट (npm install && npm test) कुछ हज़ार और टेस्ट चलाता है, जिनमें Security & Verification में बताए गए adversarial क्रिप्टोग्राफ़ी टेस्ट भी शामिल हैं।

जो आप बाहर से सत्यापित नहीं कर सकते - साफ़ शब्दों में

ऐसा पेज भरोसा तभी कमाता है जब वह अपनी सीमाओं को खुद बताए:

अगर कोई जांच फेल हो जाए

इस पेज और देखे गए व्यवहार के बीच कोई भी अंतर एक सुरक्षा रिपोर्ट है, और हम इसे न सुनने के बजाय सुनना कहीं ज़्यादा पसंद करेंगे: fitzy+security@suse.com, किसी भी lolly-tools repository पर Report a vulnerability बटन, या /.well-known/security.txt में दिया गया संपर्क। समन्वित डिस्क्लोज़र और रिपोर्टर क्रेडिट स्थायी नीति है - विवरण SECURITY.md में हैं।