Lolly کے privacy اور security صفحات دعوے کرتے ہیں: کوئی analytics نہیں، کوئی tracking نہیں، فائلیں کبھی device سے باہر نہیں جاتیں، پورے سسٹم میں ایک cookie۔ یہ صفحہ مختلف ہے: یہ آپ سے ان میں سے کسی بات پر یقین کرنے کو نہیں کہتا۔ یہ طریقہ کار کی ایک فہرست ہے، ہر ایک کے ساتھ عین command یا click-path اور وہ نتیجہ جو آپ کو نظر آئے گا۔ یہاں ہر دعویٰ منٹوں میں جانچا جا سکتا ہے، اکثر بغیر کچھ انسٹال کیے۔
اگر اس صفحے پر کوئی چیک وہ نتیجہ نہیں دیتا جو دکھایا گیا ہے، تو یہ یا تو ایک bug ہے یا ٹوٹا ہوا وعدہ۔ اسے رپورٹ کریں دونوں صورتوں میں، اور ہم اسے اس شدت سے دیکھیں گے جو ایک ٹوٹے ہوئے وعدے کی مستحق ہے۔
اسے کام کرتے دیکھیں، دس سیکنڈ میں
طریقہ کار سے پہلے، نتیجہ۔ /verify کھولیں اور اس پر ایک فائل ڈالیں - نہ کوئی upload، نہ account، نہ کسی server کا انتظار۔ یہاں یہ ہمارے AI stance صفحے سے generated Queensland طوفان کو چیک کر رہا ہے: ایک Gemini تصویر جسے Lolly نے کھولا، watermark کیا اور export کیا۔ نیچے ہر badge device پر ہی، فائل کے اپنے bytes سے حساب کیا گیا۔
signed by Lollyvector SVG79 paths~6.4k nodes48 groups1 image157 KBخود جانچیںدستخط شدہ فائل حاصل کریں
signed by Lollyvector SVG79 paths~6.4k nodes48 groups1 image157 KBخود جانچیںدستخط شدہ فائل حاصل کریں
نتیجہ ایک badge نہیں بلکہ ان کا ایک چھوٹا ڈھیر ہے، ہر ایک ایک آزاد حقیقت:
- Made with Lolly - credential برقرار ہے اور ایک Lolly export ریکارڈ کرتا ہے۔
- Credential برقرار ہے - دستخط شدہ C2PA manifest parse ہوتا ہے اور اس کا اپنا claim signature تصدیق ہوتا ہے۔
- Bytes تبدیل نہیں ہوئے - فائل کا hash اب بھی اس سے میل کھاتا ہے جس پر دستخط ہوئے تھے۔ ایک pixel بدلیں اور یہ badge پلٹ جاتا ہے۔
- GEN AI - ایک مشین نے یہ pixels بنائے، اور فائل یہی کہتی ہے۔ Lolly اس دعوے کو چھپانے کے بجائے واپس پڑھ کر دکھاتا ہے۔
اور پوری تاریخ فائل کے ساتھ سفر کرتی ہے۔ یہاں نو مراحل موجود ہیں - پانچ جو Google نے تصویر بناتے اور watermark کرتے وقت ریکارڈ کیے، پھر چار جو Lolly نے اس صفحے پر کاپی کھولتے، نشان زد کرتے اور بدلتے وقت ریکارڈ کیے - سیدھے bytes سے، آپ کے device پر، واپس پڑھے اور ایک ٹائم لائن کے طور پر پیش کیے گئے۔ یہ وہی تصویر ہے، اسی طرح تصدیق شدہ، جیسے AI stance صفحے پر C2PA ٹائم لائن میں۔
signed by Lollyvector SVG255 paths~14k nodes162 groups287 KBخود جانچیںدستخط شدہ فائل حاصل کریں
signed by Lollyvector SVG255 paths~14k nodes162 groups287 KBخود جانچیںدستخط شدہ فائل حاصل کریں
تاہم ان میں سے کوئی بھی اعتماد کا دعویٰ نہیں ہے - یہ صرف ڈیمو ہے۔ اس صفحے کا باقی حصہ اعتماد کا دعویٰ ہے: اوپر دیا گیا ہر بیج قابلِ تکرار ہے، اور یہاں یہ ہے کہ آپ ان کے پیچھے موجود ضمانتوں کو کیسے دوبارہ ثابت کر سکتے ہیں۔
آپ کے براؤزر میں، کسی ٹول کی ضرورت نہیں
1. نیٹ ورک دیکھیں۔ lolly.tools کھولیں، اپنے براؤزر کا DevTools (F12) کھولیں، Network ٹیب پر جائیں اور کوئی ٹول استعمال کریں - QR Code میں کوئی URL ٹائپ کریں، رنگ تبدیل کریں، PNG ایکسپورٹ کریں۔ ہر درخواست lolly.tools پر ہی رہتی ہے: ایپ شیل، ٹول کی اپنی فائلیں، کیٹلاگ اثاثے۔ نہ کوئی اینالیٹکس ہوسٹ، نہ CDN بیکن، نہ فونٹ سروس، نہ "error reporting" اینڈ پوائنٹ۔ آپ ٹول میں جو کچھ ٹائپ کرتے ہیں وہ کسی بھی درخواست میں شامل نہیں ہوتا - رینڈرنگ مقامی طور پر ہوتی ہے۔
دیانت دار مستثنیات - ہر ایک اختیاری، صارف کی جانب سے شروع کردہ اور وقوع پذیر ہوتے وقت اسی Network ٹیب میں نظر آنے والی: برانڈ ایڈیٹر میں Google Font شامل کرنا اس ایک فیملی کو گوگل سے حاصل کرتا ہے، ایک رضامندی کے ڈائیلاگ کے بعد جو پہلی درخواست سے پہلے، ایک بار، بالکل یہی بتاتا ہے؛ ICC press-profile preset پر کلک کرنے سے وہ پروفائل color.org پر ICC کی عوامی رجسٹری سے حاصل کی جاتی ہے؛ اختیاری بلٹ اِن ریڈیو چلانے سے اسٹیشن سے سٹریمنگ ہوتی ہے؛ Meeting Planner میں کوئی مقام درج کرنے سے وہ جگہ open-meteo کی جیو کوڈنگ سروس سے اس کے احداثیات اور ٹائم زون کے لیے تلاش کی جاتی ہے، فی شہر ایک بار (جوابات آپ کے آلے پر محفوظ ہو جاتے ہیں)، اور یہ افشا انہی جگہ ظاہر ہوتا ہے جہاں آپ ٹائپ کرتے ہیں؛ اور URL Screenshot لازمی طور پر وہ URL لوڈ کرتا ہے جو آپ نے ٹائپ کیا - یہی اس کا کام ہے، اور آپ اسے ہوتے ہوئے دیکھتے ہیں۔ جو ٹول نیٹ ورک صلاحیت کا اعلان کرتا ہے وہ صرف انہی ہوسٹس سے ڈیٹا حاصل کر سکتا ہے جو اس کے مینی فیسٹ میں اجازت یافتہ ہوں، اور یہ میکانزم 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 ہے - کچھ بھی مبہم نہیں، کچھ بھی پڑھنے سے روکنے کے لیے انکوڈ نہیں کیا گیا۔ براؤزر میں سائٹ ڈیٹا صاف کرنے سے یہ سب ختم ہو جاتا ہے، اور Lolly کے پاس اس کی کوئی سرور کاپی نہیں ہوتی؛ سیٹنگز → اسٹوریج → میرا تمام ڈیٹا صاف کریں ایپ کے اندر سے بھی یہی کرتا ہے، اور آپ اس پینل میں stores اور caches کو خالی ہوتے دیکھ سکتے ہیں۔
5. تصدیق کریں کہ افشا رابطہ موجود ہے۔ /.well-known/security.txt ایک HTML صفحہ نہیں بلکہ RFC 9116 رابطہ بلاک کے ساتھ جواب دیتا ہے۔
ٹرمینل سے
6. رینڈر اینڈ پوائنٹ صرف پبلک ڈیٹا کے ساتھ جواب دیتا ہے۔ وہ واحد سرور فیچر جو صارف کے ٹائپ کردہ ان پٹس کو URL میں شامل کرتا ہے - ہاٹ لنک رینڈرز - یہاں لائیو ہے، اور privacy policy بتاتی ہے کہ کسی لنک میں شامل کردہ ان پٹس کے لیے اس کا کیا مطلب ہے:
curl -s -o /dev/null -w '%{http_code}\n' 'https://lolly.tools/tool/qr-code.svg?url=test'
# 200یہ سوئچ ہر ڈیپلائے منٹ کے لیے علیحدہ ہے (LOLLY_DISABLE_RENDER_GET=1): جس انسٹینس پر یہ سیٹ ہو، وہاں وہی پروب 404 واپس کرتا ہے - یہ فرق فلیگ کے کام کرنے کی علامت ہے، کسی خرابی کی نہیں۔
7. سرور کی سطح شمار کی جا سکتی ہے۔ Server Surface موجود ہر سرور سائیڈ روٹ کی فہرست دیتا ہے، اس مستقل اصول کے ساتھ کہ جو اینڈ پوائنٹ اس صفحے پر نہیں وہ Lolly کا حصہ نہیں۔ انہیں curl کریں؛ اس کے سوا کچھ اور ملنے کو نہیں۔
سورس کوڈ میں
اوپر بیان کردہ سب کچھ پھر بھی محض دکھاوا ہو سکتا ہے اگر تعینات کردہ کوڈ عوامی کوڈ سے مختلف ہو۔ تو کوڈ چیک کریں - تعیناتی عوامی ریپوزٹری سے بلڈ ہوتی ہے:
git clone https://github.com/lolly-tools/lolly.git
cd lolly8. کہیں بھی کوئی ٹریکر، کوئی اینالیٹکس SDK نہیں۔ شپ ہونے والے کوڈ کو تلاش کریں - انجن، ہر شیل (بشمول براؤزر ایکسٹینشن، Tauri bridge overrides اور سروس ورکر)، سرور فنکشنز اور ٹول پیکس - عام مشتبہ افراد کے لیے:
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 بلڈ کو ناکام کر دیتا ہے اگر:
- شپ شدہ سورس میں کہیں بھی، جسے یہ اسکین کرتا ہے، کوئی اینالیٹکس یا ٹریکنگ SDK ظاہر ہو - چاہے ایپ، انجن، سرور، ایکسٹینشن یا ٹول پیک کوڈ میں،
- اس سورس میں کوئی تھرڈ پارٹی DNS-over-HTTPS ریزولور ظاہر ہو،
- CA اجرائی لاگ واپس آ جائے - سورس میں یا جنریٹ شدہ سرور بنڈل میں،
- پرائیویسی پالیسی اپنے قانونی طور پر لازمی بیانات (نامزد کنٹرولر، قانونی بنیاد، شکایت کا حق) کھو دے۔
انہیں کلون میں خود چلائیں (Node 22.18+؛ اس فائل کے لیے pnpm 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مکمل سوٹ (pnpm install && pnpm test) مزید کئی ہزار ٹیسٹس چلاتا ہے، بشمول Security & Verification میں بیان کردہ ایڈورسیریل کرپٹوگرافی ٹیسٹس۔
جو آپ باہر سے تصدیق نہیں کر سکتے - صاف الفاظ میں
اس جیسا صفحہ اپنی حدود کو واضح طور پر بیان کر کے اعتماد کماتا ہے:
- ہوسٹنگ رسائی لاگز۔ کوئی بھی سرور جو کسی درخواست کا جواب دیتا ہے وہ اس درخواست کو لاگ کر سکتا ہے - IP، پاتھ، ٹائم اسٹیمپ۔ آپ یہ تصدیق نہیں کر سکتے کہ کوئی ہوسٹ کیا رکھتا یا نہیں رکھتا، اور نہ ہی ہم اپنے فراہم کنندہ کے دستاویزی رویے سے آگے یہ کر سکتے ہیں۔ یہی وجہ ہے کہ یہ فن تعمیر آپ کے مواد کو مکمل طور پر وائر سے دور رکھتا ہے: جو کبھی آپ کے آلے سے باہر نہیں جاتا اسے کوئی بھی لاگ نہیں کر سکتا۔
- کہ تعیناتی یہی کوڈ چلاتی ہے۔ آپ تصدیق کر سکتے ہیں کہ سورس صاف ہے اور تعینات کردہ رویہ اس سے میل کھاتا ہے (اوپر دی گئی جانچیں دونوں سِرے پورے کرتی ہیں)، لیکن ویب تعیناتی کی بائنری سطح کی تصدیق ویب پلیٹ فارم کی پیش کردہ کوئی چیز نہیں۔ تدارک عوامی ریپو، نافذ کردہ ٹیسٹس اور آف لائن جانچ ہیں - کوئی چھیڑی گئی تعیناتی جو گھر واپس رابطہ کرے وہ جانچ 1 اور 2 میں فوراً ناکام ہو جائے گی۔
- ٹول ہکس بطور ڈیفالٹ سینڈ باکس شدہ نہیں ہیں۔ ٹول کی اختیاری منطق جائزہ شدہ حالت میں، صفحے کے اپنے ہی realm میں چلتی ہے؛ lolly.tools پر ہر ٹول فرسٹ پارٹی ہے اور شپ ہونے سے پہلے اس کا جائزہ لیا جاتا ہے۔ Worker isolation اب فی ٹول اختیاری سہولت کے طور پر شپ ہوتی ہے - وہ ٹول جس کا مینی فیسٹ
isolate: trueسیٹ کرتا ہے اس کے بجائے اپنے ہکس آف تھریڈ چلاتا ہے - چنانچہ جو آپ باہر سے تصدیق نہیں کر سکتے وہ دائرہ تنگ ہو رہا ہے، مگر ڈیفالٹ راستہ اب بھی اِن ریلم ہے اور جائزہ ہی اب بھی کنٹرول ہے۔ یہ بات بیان کی گئی ہے، چھپائی نہیں گئی - دیکھیں design boundaries سیکشن، جو ہمیشہ سے یہی کہتا آیا ہے۔
اگر کوئی جانچ ناکام ہو جائے
اس صفحے اور مشاہدہ کردہ رویے کے درمیان کوئی تضاد ایک سیکیورٹی رپورٹ ہے، اور ہم واقعی چاہتے ہیں کہ آپ اسے نہ سنانے کے بجائے سنائیں: fitzy+security@suse.com، کسی بھی lolly-tools repository پر موجود Report a vulnerability بٹن، یا /.well-known/security.txt میں دیا گیا رابطہ۔ ہم آہنگ افشا (coordinated disclosure) اور رپورٹر کریڈٹ مستقل پالیسی ہے - تفصیلات SECURITY.md میں موجود ہیں۔