سیکیورٹی

Parla آپ کے مائیکروفون کے ساتھ کام کرتا ہے، اس لیے اسے اس طرح بنایا گیا ہے کہ اس کا غلط استعمال مشکل ہو۔ آپ کی آواز کبھی آپ کے آلے سے باہر نہیں جاتی، ایکسٹینشن کم سے کم اجازتیں مانگتی ہے، اور ہم جو بھی کوڈ جاری کرتے ہیں اس کا ہر حصہ آپ تک پہنچنے سے پہلے مخصوص ورژن پر طے، اسکین اور ٹیسٹ کیا جاتا ہے۔

جب آپ Parla استعمال کرتے ہیں

  • آپ کی آواز آپ کے آلے پر، براؤزر کے اندر صاف ہوتی ہے۔ Parla کا کوئی سرور نہیں جو آڈیو وصول کرے، اور نہ کوئی اکاؤنٹ یا پاس ورڈ جو چوری ہو سکے۔
  • انجن ہمارا اپنا کوڈ ہے، جو کسی تھرڈ پارٹی لائبریری کے بغیر Rust میں لکھا گیا ہے، اور براؤزر کے سینڈ باکس میں WebAssembly کے طور پر چلتا ہے۔ AI ماڈلز ڈیٹا (اعداد) ہیں، پروگرام نہیں: ماڈلز بنانے والوں کا کوئی کوڈ آپ کے کمپیوٹر پر نہیں چلتا۔
  • ایکسٹینشن صرف وہی مانگتی ہے جو مائیکروفون صاف کرنے کے لیے ضروری ہے: اپنی سیٹنگز محفوظ رکھنا اور ان صفحات پر چلنا جہاں آپ اپنا مائیکروفون استعمال کرتے ہیں۔ اس کے اپنے صفحات صرف اپنی ہی اسکرپٹس چلاتے ہیں (سخت Content Security Policy)۔
  • ویب صفحات ایکسٹینشن تک صرف ایک تنگ راستے سے پہنچتے ہیں: انہیں انجن کی فائلیں ملتی ہیں اور کچھ نہیں، اور جو کچھ وہ بھیجتے ہیں اس کی جانچ ہوتی ہے اور اس کا سائز محدود ہوتا ہے۔
  • رپورٹیں تب تک بند رہتی ہیں جب تک آپ انہیں آن نہ کریں۔ وہ گمنام ہیں، اور ان کا ہر فیلڈ ہماری دستاویزات میں درج ہے۔

ہمارے کوڈ سے آپ کے براؤزر تک

  • بلڈ جو کچھ بھی استعمال کرتا ہے وہ ایک مخصوص ورژن پر طے ہے اور اس کے فنگر پرنٹ سے جانچا جاتا ہے: GitHub actions کو commit سے، کنٹینر امیجز کو digest سے، ڈاؤن لوڈز کو SHA-256 سے، npm اور Python پیکیجز کو lockfile سے۔
  • 3 دن سے نئی کوئی ریلیز شامل نہیں ہوتی۔ زیادہ تر نقصان دہ پیکیج ورژن چند دنوں میں پکڑے اور ہٹا دیے جاتے ہیں، اس لیے ہم پہلے انہیں پکڑے جانے دیتے ہیں۔ خودکار اپ ڈیٹس ایک ہفتہ انتظار کرتی ہیں، اور ہر ایک کو قبول کرنے سے پہلے بلڈ اور ٹیسٹ کیا جاتا ہے۔
  • پیکیجز کو کبھی انسٹال اسکرپٹس چلانے کی اجازت نہیں دی جاتی، اور ہر بلڈ میں npm رجسٹری کے دستخطوں کی تصدیق کی جاتی ہے۔
  • ریلیزز صرف ہماری خودکار پائپ لائن بناتی ہے، مین برانچ سے۔ اسٹورز اور npm کی اسناد ایک محفوظ ماحول میں رکھی جاتی ہیں جسے صرف ریلیز کا مرحلہ استعمال کر سکتا ہے، اور بلڈ ریپوزٹری کا ایکسیس ٹوکن اپنے پاس نہیں رکھتا۔

ہر تبدیلی پر جانچ

  • اسٹیٹک تجزیہ: CodeQL، TypeScript، Rust انجن اور بلڈ ورک فلوز کو پڑھتا ہے؛ zizmor ورک فلوز کا آڈٹ کرتا ہے۔
  • ہر تبدیلی پر اور ہر ہفتے ویب سائٹ کا ڈائنامک اسکین (OWASP ZAP)۔
  • کسی معلوم کمزوری والا پیکیج شامل کرنے والی تبدیلی روک دی جاتی ہے، اور Dependabot الرٹس ہر lockfile پر نظر رکھتے ہیں۔
  • push تحفظ کے ساتھ خفیہ معلومات کی اسکیننگ: GitHub ہر وہ commit مسترد کر دیتا ہے جس میں کوئی پاس ورڈ یا کلید ہو۔
  • سختی سے ٹائپ کیا گیا کوڈ (TypeScript اور Python) اور ہر ریلیز سے پہلے Chrome اور Firefox میں خودکار ٹیسٹ۔

کوئی مسئلہ ملا؟

براہ کرم ہمیں نجی طور پر بتائیں: GitHub پر کمزوری کی رپورٹ کریں۔ اس طرح اسے عام ہونے سے پہلے ٹھیک کیا جا سکتا ہے۔

اس صفحے پر موجود ہر چیز کی جانچ کی جا سکتی ہے: کوڈ، بلڈ پائپ لائن اور سیکیورٹی جانچیں سب اوپن سورس ہیں۔ ریلیزز کیسے بنائی اور جانچی جاتی ہیں