MushrifLoop

سياسة التوقيع الرقمي

كيف تُبنى الإصدارات وكيف توقَّع.

تشرح هذه الصفحة من يوقّع ملفات MushrifLoop لويندوز، وكيف ينتقل الإصدار من الشيفرة المنشورة إلى ملف موقَّع جاهز للتنزيل، ومن يحق له الموافقة على التوقيع، وما الذي يرسله البرنامج عبر الشبكة.

غير موقَّع بعد

يجري الآن إعداد التوقيع عبر SignPath Foundation. الإصدارات حتى 1.7.0، وهو منها، غير موقَّعة، ويعرضها ويندوز على أنها من ناشر غير معروف. أول إصدار موقَّع سيذكر ذلك في ملاحظاته، وتُحذف هذه الملاحظة.

التوقيع

من يوقّع الملفات.

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

أي: التوقيع الرقمي مجاني من SignPath.io، والشهادة من SignPath Foundation.

يعرض ويندوز ناشر الإصدار الموقَّع باسم SignPath Foundation. والتوقيع يشهد أن الملف بُني من الشيفرة المصدرية المنشورة لهذا المشروع، وأنه لم يتغيّر بعد ذلك. المفتاح الخاص للشهادة تحفظه SignPath في وحدة أمان عتادية، ولا يملكه المشروع أبداً.

البناء

يُبنى علناً، ويُوافَق عليه يدوياً.

  1. كل إصدار يبنيه GitHub Actions، على خوادم يستضيفها GitHub، من المستودع العام github.com/hqudsi/mushrifloop عند وسم (tag) الإصدار. أي ملف بُني في مكان آخر لا يوقَّع أبداً.
  2. يوقّع البناء برنامج التطبيق نفسه وكلا الملفين المعروضين للتنزيل: ملف التنصيب والنسخة المحمولة.
  3. كل طلب توقيع ينتظر صاحب دور الموافقة، الذي يتأكد أنه آتٍ من إصدار لهذا المستودع قبل أن يوافق عليه.
  4. كل إصدار يذكر بصمة SHA-256 لملفاته، ليمكن فحص أي ملف منزَّل بمقارنته بها.

الفريق

من يحق له تغيير الشيفرة والموافقة على التوقيع.

يعمل على MushrifLoop مطوّر واحد. أي تغيير من غيره يأتي طلبَ دمج (pull request)، ولا يُدمج شيء من خارج الفريق قبل فحصه. كل من يحمل أحد هذه الأدوار يستخدم التحقق متعدد العوامل في GitHub وفي SignPath.

  • الإضافة (Committers)يحق لهم إضافة التغييرات إلى المستودع: هاني قدسي.
  • الفحص (Reviewers)يفحصون كل تغيير يأتي من خارج الفريق قبل دمجه: هاني قدسي.
  • الموافقة (Approvers)يوافقون على كل طلب توقيع: هاني قدسي.

الخصوصية

ما يرسله البرنامج، ومتى.

ليس لـ MushrifLoop حساب ولا خادم ولا إحصاءات ولا تتبّع خاص به. مهامك وإعداداتك وسجلاتك تبقى في %APPDATA%\MushrifLoop على حاسوبك. ولا يرسل البرنامج شيئاً عبر الشبكة إلا في هذه الحالات.

  • إصدارات MushrifLoop الجديدة عند التشغيل ومرة كل يوم، ما دام خيار Check for new MushrifLoop versions مفعّلاً (Settings → General، وهو مفعّل افتراضياً)، يسأل البرنامج GitHub (api.github.com) عن آخر إصدار لهذا المستودع. يحمل الطلب اسم البرنامج وإصداره، ولا شيء غير ذلك. إن أوقفت الخيار فلا يُسأل شيء من تلقاء نفسه، وزر Check now لا يسأل إلا حين تضغطه.
  • إصدار أحدث من Claude Code فقط حين تضغط Check for a newer Claude Code في الإعدادات: يسأل البرنامج سجل npm (registry.npmjs.org) عن أحدث إصدار منشور من Claude Code. لا يُرسل شيء عنك ولا عن مهامك.
  • تحديث Claude Code فقط حين تضغط Update Claude Code: يشغّل البرنامج أمر التحديث الخاص بـ Claude Code نفسه، claude update.
  • Claude Code نفسه يشغّل البرنامج نسخة Claude Code المنصّبة على حاسوبك، المسجَّلة بحسابك أنت. حين تعمل مهمة، وحين يسأل البرنامج عن الحساب المسجَّل أو عن المتبقي من حدود الاستخدام، يتصل Claude Code بـ Anthropic كما يفعل حين تستخدمه مباشرة، وتسري سياسة الخصوصية لدى Anthropic. أما MushrifLoop فلا يتصل بواجهة Anthropic البرمجية بنفسه أبداً.
  • الروابط الرابط داخل البرنامج يُفتح في متصفحك، وفقط حين تضغطه.

يرى GitHub وnpm هذه الطلبات كما يرى أي موقع زيارةً له، مع عنوان IP الخاص بك، وتسري عليها سياستا الخصوصية لديهما (GitHub، npm).

الإزالة

إزالة البرنامج.

يضيف ملف التنصيب MushrifLoop إلى قائمة Installed apps في ويندوز، ويُزال من هناك كأي برنامج آخر. ويسأل برنامج الإزالة إن كنت تريد حذف مهامك وإعداداتك أيضاً. هذا الخيار غير محدَّد في البداية، فتبقى بياناتك ما لم تختر غير ذلك. أما النسخة المحمولة فلا تنصّب شيئاً: احذف الملف وينتهي الأمر.

الأسئلة عن هذه السياسة تُطرح في issues المشروع، ومشكلات الأمان تُبلَّغ كما تقول سياسة الأمان الخاصة به.