Iتحویل ماڈل
کچھ نہیں جاتا۔
کوئی اطلاع نہیں جاتی۔
SQAI وہیں چلتا ہے جہاں آپ کا ڈیٹا ہے۔ کوئری کے وقت کوئی نیٹ ورک کال نہیں جسے روکا جائے، کوئی سروس نہیں جو آپ کی قطاریں رکھے، کوئی ٹیلی میٹری نہیں۔ یہ شیٹ ہر اس بائٹ کا حساب دیتی ہے جو کبھی تار سے گزرتی ہے — بالکل دو حرکات ہیں، اور کوئی بھی آپ کا ڈیٹا نہیں۔
- آپ کی قطاریں
آپ کے پروسیس کے اندر پڑھی جاتی ہیں۔ کبھی کاپی نہیں، کبھی اپلوڈ نہیں، آپ کے سوا کسی کے پاس نہیں۔
کبھی نہیں - پلان اور نتائج
پروسیس کے اندر تصدیق اور عمل۔ نتائج ایک محدود لوکل اسٹور میں رہتے ہیں اور 15 منٹ بعد ختم ہو جاتے ہیں۔
کبھی نہیں - ٹیلی میٹری
کچھ موجود نہیں۔ کوئی اینالیٹکس کال نہیں، کوئی کریش رپورٹر نہیں، کوئی گھر نہیں جسے اطلاع دی جائے۔
کبھی نہیں - رن ٹائم بنڈل
انجن کوڈ، Cloudflare R2 سے ایک بار لیا گیا اور ایک فائل لکھے جانے سے پہلے تصدیق شدہ۔ کوڈ آتا ہے؛ قطاریں کبھی نہیں جاتیں۔
ایک بار · آنے والا · دستخط شدہ - ڈیوائس سائن اِن
اختیاری۔ آپ کی مشین اور اکاؤنٹ سروس کے درمیان ایک دستخط شدہ لائسنس ٹوکن منتقل کرتا ہے — آپ کا ڈیٹا کبھی نہیں۔
اختیاری · صرف ٹوکن
کوئری کے وقت کوئی نیٹ ورک نہیں۔ انسٹال کے بعد تار کاٹ دیں — ہر کوئری پھر بھی جواب دیتی ہے۔
ریڈ اونلی کوئی سیٹنگ نہیں۔
یہ ٹول کی ساخت ہے۔
4,574 دستیاب صلاحیتیں · ہر ایک ریڈ · کوئی رائٹ پاتھ نہیں جو غلط ترتیب دی جائے
IIIواحد ڈاؤن لوڈ
فائل آنے سے پہلے چھ جانچیں۔
Runtime bundle واحد چیز ہے جو SQAI کبھی لیتا ہے — Cloudflare R2 سے انجن کوڈ، جسے ثابت ہونے تک مشکوک سمجھا جاتا ہے۔ تصدیق نکالنے سے پہلے شروع ہوتی ہے، فائل بہ فائل جاری رہتی ہے، اور انسٹال ایٹامک ہے۔
- 01
ایک قبول شدہ key
ریلیزز کو ایک واحد RSA-4096 ریلیز کی کے ساتھ RS256 سے دستخط کیا جاتا ہے۔ ایک کی تصدیق کرتی ہے؛ کسی اور پر اعتماد نہیں۔
- 02
نکالنے سے پہلے تصدیق
کوئی بھی فائل کھولنے سے پہلے مینی فیسٹ پر دستخط کی جانچ ہوتی ہے۔ چھیڑ چھاڑ شدہ یا غیر دستخط شدہ بنڈل اس مرحلے تک پہنچتا ہی نہیں۔
- 03
اسکیما اور پاتھ کی حفاظت
مینی فیسٹ کو متوقع اسکیما کے مطابق پارس ہونا چاہیے، اور ہر درج شدہ پاتھ انسٹال روٹ کے اندر حل ہونا ضروری ہے۔
- 04
فی آرٹیفیکٹ sha256
ہر فائل کا ہیش لیا جاتا ہے اور دستخط شدہ مینی فیسٹ سے موازنہ کیا جاتا ہے۔ ایک بائٹ کا فرق پوری انسٹال کو ناکام کر دیتا ہے۔
- 05
غیر درج یا سمبولک لنک — مسترد
جو فائل مینی فیسٹ میں درج نہ ہو، یا کوئی بھی سمبولک لنک، بنڈل کو فوری مسترد کر دیتا ہے۔
- 06
ایٹامک انسٹال، محفوظ رول بیک
نکالنا ایک عارضی ڈائریکٹری میں ہوتا ہے اور ایک ایٹامک رینیم سے جگہ پر آتا ہے۔ قبول شدہ فلور سے نیچے کے ورژن rollback_protected کے طور پر مسترد کیے جاتے ہیں۔
runtime_bundle 0.1.0sha256 4d64142e4c1ff63d299cfc8b172fdf97cb59169b545e1e02978e678a632ce6e1MIN_ACCEPTED_RUNTIME_VERSION 0.1.0 · below → rollback_protectedIVکیز اور ایرر کی صفائی
چھوٹی سطحیں، چھوٹی رکھی گئیں۔
ڈیوائس کی
- مقام
- ~/.sqai — آپ کی ہوم ڈائریکٹری میں، سسٹم میں کہیں نہیں
- اجازتیں
- فائل موڈ 600 — صرف آپ پڑھ سکتے ہیں
- اجراء
- اختیاری ڈیوائس سائن ان (RFC 8628 ڈیوائس کوڈ)
- کیا منتقل ہوتا ہے
- ایک دستخط شدہ لائسنس ٹوکن — آپ کا ڈیٹا کبھی نہیں
ماڈل کیا دیکھتا ہے
ENOENT: no such file or directory — /Users/dana/finance/q3-actuals.csvENOENT: no such file or directorysanitizeMessage ہر ماڈل-نظر ایرر سے مطلق پاتھ ہٹا دیتا ہے۔ آپ کا فائل سسٹم لے آؤٹ ماڈل کے سیاق کا حصہ کبھی نہیں بنتا۔
Vرزلٹ اسٹور
ایک ہینڈل جو کچھ ثابت نہیں کرتا۔
بڑے نتائج ماڈل کے سیاق کو بھرنے کے بجائے ہینڈل کے پیچھے رہتے ہیں۔ ہینڈل کو اس طرح بنایا گیا ہے کہ جاری کرنے والے ٹیننٹ کے سوا کسی کے لیے بے کار ہو۔
- result_id
- 16 بے ترتیب بائٹس، base64url — اندازہ ناقابل، کسی کوئری یا ٹیننٹ سے غیر مربوط
- اجازت
- ٹیننٹ-اسکوپڈ — صرف جاری کرنے والا ٹیننٹ اسے استعمال کر سکتا ہے
- غلط ٹیننٹ
- result_not_found — ایسے ہینڈل سے ناقابلِ تمیز جو کبھی موجود نہ رہا ہو
- مدت
- 15 منٹ TTL · ≤256 نتائج · 64 MB کل · 16 MB فی ٹیننٹ
result_id = base64url(randomBytes(16))
→ ok→ result_not_foundممنوع نہیں — موجود نہیں۔ وجود کبھی ظاہر نہیں کیا جاتا۔
VIایئر گیپ رن بک
جہاں تار کٹا ہو، وہاں چلتا ہے۔
کوئری پلین ڈیزائن کے اعتبار سے آف لائن ہے؛ صرف کمپیوٹ رن ٹائم کبھی فیچ کیا جاتا ہے۔ مکمل منقطع چلانے کے لیے بنڈل خود حاصل کریں — تصدیق کنندہ کو پرواہ نہیں کہ بائٹس کہاں سے آئے۔
- 01
آٹو انسٹال بند کریں
SQAI رن ٹائم کو کبھی خود بخود فیچ نہیں کرے گا۔
$export SQAI_RUNTIME_AUTO_INSTALL=0 - 02
بنڈل منتقل کریں
دستخط شدہ بنڈل کنیکٹڈ مشین پر فیچ کریں اور اپنی ٹرانسفر پالیسی کے تحت منتقل کریں۔
- 03
فائل سے انسٹال کریں
تمام چھ جانچیں مقامی فائل پر چلتی ہیں — وہی دستخط، وہی مینی فیسٹ، وہی فی آرٹیفیکٹ ہیشز۔
$sqai runtime install --from-file <bundle> - 04
جگہ پر تصدیق کریں
انسٹال شدہ رن ٹائم کو واحد قبول شدہ ریلیز کی کے خلاف کسی بھی وقت دوبارہ جانچیں۔
$sqai runtime verify
انسٹال کے بعد: صفر نیٹ ورک۔ کوئریز، پالیسی جانچ، اور پروویننس ہیشز مقامی طور پر حساب کیے جاتے ہیں۔
VIIجائزہ کے سوالات
ہر سیکیورٹی جائزے میں پوچھے جاتے ہیں۔
میری مشین سے بالکل کیا باہر جاتا ہے؟
کوئری کے وقت، کچھ نہیں۔ انسٹال کی پوری مدت میں، دو چیزیں تار سے گزرتی ہیں: Cloudflare R2 سے ایک آنے والا دستخط شدہ رن ٹائم بنڈل (انجن کوڈ، ڈیٹا نہیں)، اور — صرف اگر آپ ڈیوائس سائن ان کا انتخاب کریں — ایک دستخط شدہ لائسنس ٹوکن۔ کوئی ٹیلی میٹری نہیں ہے۔
کیا read-only محض ایک flag ہے جسے کوئی پلٹ سکتا ہے؟
نہیں۔ ڈیٹابیس کنکشن پر read-only flag ایک وعدہ ہے؛ SQAI ایک غائب سطح ہے۔ تمام 4,574 بے نقاب صلاحیتیں reads ہیں — کوئی write، DDL، یا eval راستہ موجود ہی نہیں جس کی حفاظت کی جائے — اور escape hatch (getUnsafeRuntime) کسی ماڈل کی دسترس میں کبھی نہیں آتا۔
کیا ماڈل اپنی رسائی خود وسیع کر سکتا ہے؟
نہیں۔ Policy کوڈ میں createSQAI() کے وقت مقرر ہوتی ہے اور execution سے پہلے in-process جانچی جاتی ہے۔ ماڈل کا بھرا ہوا tool input کوئی allowed* فیلڈ نہیں رکھتا، اور allow-list سے باہر کسی صلاحیت کا نام لینے پر unsupported_operation throw ہوتا ہے۔
کیا SQAI air-gapped چل سکتا ہے؟
ہاں۔ SQAI_RUNTIME_AUTO_INSTALL=0 سیٹ کریں، signed bundle خود منتقل کریں، اور sqai runtime install --from-file سے install کریں۔ فائل کے خلاف وہی verification chain چلتی ہے، اور query plane مکمل طور پر offline رہتا ہے۔
کیا error message میرے file paths ماڈل تک پہنچا سکتا ہے؟
نہیں۔ sanitizeMessage ہر model-visible error سے absolute paths ہٹا دیتا ہے، اس لیے ماڈل کو آپ کے filesystem کی ساخت کبھی معلوم نہیں ہوتی۔
اگلا قدم
اپنا security review لے آئیں۔
ہمارے ساتھ سوالنامے سے گزریں — custody، signing، policy، air-gap — ہر جواب کوڈ تک قابلِ ردِّ تعقیب۔