الأمان

الإذن قبل القدرة.

وكيل يستطيع قراءة ملفاتك وتشغيل أوامر على جهازك والكتابة في قواعد بياناتك والنشر على الإنترنت لا يكون آمنًا إلا إذا كنت أنت من يقرر ما يمسّه. كل أداة تنتمي إلى فئة إذن، والفئة — لا الأداة — هي ما يقرر ما يُطلب منك. وثلاثة أفعال لا يمكن الموافقة عليها مسبقًا في أي وضع.

8 فئاتإذن، لا ثقة
3 أفعالتُسأل في كل مرة، حتى مع الوصول الكامل
مفتاح توقيع واحديُحفظ خارج الواجهة العامة
ما يحدّ الوكيل

أربعة أشياء تفصل
بين الطلب وبياناتك.

ولا واحد منها هو حسن تقدير النموذج. نموذج يصيب تسعًا وتسعين مرة من مئة ليس نظام أذونات.

أربعة أوضاع

اسأل، وتلقائي، وخطة، وكامل. وضع الخطة للقراءة فقط ويرفض من البداية: يسلّمك الخطة ويقول لك بدّل الوضع إن أردت تنفيذها. الوضع سقف، لا اقتراح.

ثماني فئات

القراءة، والكتابة، وتشغيل أمر، وتغيير قاعدة بيانات أو حاوية تخزين، وكتابة سجل DNS، وإرسال رسالة، والنشر على الإنترنت، وإنفاق الأرصدة. القراءة لا تسأل أبدًا. وتغيير قاعدة البيانات أو الـ DNS يُسأل حتى في الوضع التلقائي.

ثلاثة لا تُجاز مسبقًا

إرسال رسالة إلى أحد، والنشر على الإنترنت العام، وإنفاق أرصدة في غير نداء نموذج. تُسأل في كل مرة، حتى مع الوصول الكامل — و«اسمح دائمًا» غير موجودة لأي منها، لأن أيًّا منها لا يُسترجع.

سقف لكل إجابة

كل تشغيل يحمل ميزانية بالأرصدة. ويتوقف عند بلوغها، بدل أن يدعك تكتشف التكلفة بعد فوات الأوان — وأي أداة تنفق تسأل أولًا، مهما كانت الميزانية لا تزال تسمح.

كيف بُني

تسع آليات،
وسبب كل واحدة.

مكتوبة من الشفرة التي تنفّذها. وحين يكون لإجراء حدٌّ، فالحدّ مذكور أسفل هذه الصفحة بدل أن يُسقط.

الجلسات
تُبدَّل مفتاح واجهتك البرمجية بجلسة قصيرة العمر موقّعة بمفتاح على منحنى إهليلجي. والواجهة العامة لا تحمل إلا النصف العام: تستطيع التحقق من جلسة، ولا تستطيع إنشاءها. ولو اختُرقت لما استطاعت أن تصنع لنفسها هوية.
بيانات اعتمادك
سلسلة اتصال أو مفتاح وصول تسلّمه إلينا يُشفَّر في مكانه بـ AES-256-GCM ولا يغادر الخادم أبدًا. ويُعرض على الوكيل مجموعات وجداول وبادئات — لا مفاتيحك. ومفتاح التشفير يُبدَّل عبر برنامج يعيد التشفير، لا بتعديل ملف إعدادات.
الطلبات الصادرة
كل عنوان يجلبه الخادم يُحلّ قبل الطلب ويُرفض إن وقع على عنوان خاص أو محلي أو من نطاق الوصلة المحلية أو محجوز — وقبل كل شيء نقطة بيانات السحابة الوصفية، التي تسلّم رموز هوية. وتُرفض البروتوكولات غير HTTP، وتُحجب منافذ البنية التحتية، وتُتابَع عمليات إعادة التوجيه يدويًا ثم يُعاد فحصها، لأن إعادة توجيه ستلتف حول الفحص لولا ذلك. وهذا يهم خصوصًا في الأداة الوحيدة التي تتبع عناوين وُجدت داخل نص الطلب.
الأخطاء
العطل غير المتوقع يجيب برسالة عامة ومرجع؛ والتفصيل الكامل يذهب إلى سجلّنا تحت المرجع نفسه. أما الرسائل التي تصلك فعلًا — تحويل أخفق، صفحة لم تُحمَّل — فتُنظَّف من عناوين قواعد البيانات وبيانات الاعتماد والمفاتيح المعروفة والعناوين الداخلية ومعرّفات مشاريع السحابة ومسارات الخادم.
الرفع
اسم ملف آتٍ من طلب لا يصير مسارًا أبدًا. يُختصر إلى مقطعه الأخير، وتُزال الرموز المحجوزة، ويجب أن يبقى المسار الناتج داخل مجلد الرفع وإلا رُفضت الكتابة. حزام وحمّالة، لأن النسخة الأولى من هذا الفحص لم تكن كافية.
حدود المعدل
تُحسب على عنوان الزائر نفسه، ولا يُصدَّق ترويسة التمرير إلا إن جاءت من مُرحِّل محلي — وضبط الخادم على تصديق أي عميل مرفوض عند الإقلاع. وقبل هذا الإصلاح كان كل الزوار يُحسبون عنوانًا واحدًا، فعشرون كلمة سرّ خاطئة من أي أحد كانت تقفل تسجيل الدخول على الجميع.
النشر
ملفات البيئة ومجلدات Git والاعتماديات لا تُرفع أبدًا، وما استُبعد يُعاد إليك مع سببه. ولا يستطيع مسار أن يخرج من الجذر. وشفرة خادم التطبيق تُسحب من الملفات العامة بدل أن تُقدَّم واحدة منها — ولو تُركت لنشرت شفرة التطبيق المصدرية على موقعه هو.
بريدك
مفتاح DKIM الخاص بنطاقك مشفَّر، ولا يغادر الخادم أبدًا، ويُحفظ بدل أن يُعاد توليده — فالمفتاح الجديد يُبطل توقيعات البريد الذي أرسلته سلفًا. والرسائل تُوقَّع بنطاقك، لا بنطاقنا. وHTML المرسِل لا يُعرض في القارئ أبدًا: يُختزل إلى نص، وإلا لاستطاع كل من يكاتبك تشغيل شفرة في جلستك.
الأسرار
ما من سرٍّ له قيمة احتياطية مكتوبة في الشفرة — والسر الناقص يوقف الإقلاع بدل أن يستعمل بصمت قيمة افتراضية واحدة في كل مكان. والواجهة العامة ترفض الإقلاع إن كانت تحمل مفتاحًا لا شأن لها به: هكذا يبقى مفتاح التوقيع حيث ينبغي.
ما لا ندّعيه

أربعة أشياء لا تقولها لك
هذه الصفحة.

صفحة أمان تعدّد مواطن القوة وحدها ليست إلا كتيّب دعاية. وهذه هي الحدود التي نعرفها.

لا نحمل أي شهادة اعتماد
لا SOC 2، ولا ISO 27001، ولا تقرير اختبار اختراق من طرف ثالث. نحن شركة صغيرة ولن نوحي بغير ذلك عبر شارة. وما نستطيع تقديمه بدلًا منها هو الآلية — ولهذا تصف هذه الصفحة كيف تعمل الأشياء بدل من دقّقها.
حارس العناوين يحلّ ولا يثبّت
يُفحص العنوان قبل الطلب، لا يُمسك طوال مدته، فالاسم الذي يجيب بغير ذلك بعد لحظة ليس مغلقًا دونه. وإغلاق هذا الباب يعني تثبيت العنوان المتحقق منه لحظة الاتصال، وهو ما لا يتيحه ببساطة عميل HTTP ولا محرك المتصفح اللذان نستعملهما. ونؤثر أن نسمّيه هنا على أن نترك الحارس يبدو مطلقًا.
الطرفية ليست صندوقًا معزولًا
على حاسوبك أنت يعمل الوكيل بصلاحياتك، وطلب الإذن هو الحماية — لا السجن. ولهذا بالضبط كان وضع الخطة للقراءة فقط، ولهذا تُحفظ الموافقة على أمر بوصفها ذلك الأمر لا أوسع منه، ولهذا نسخة هذا كله في السحابة مطفأة لا مشغّلة.
القبول ليس التسليم
مُرحِّلنا يسلّم الرسالة فور دخولها الطابور؛ وما يفعله مزوّد المستلم بها بعد ذلك لا يُبلَّغ إلينا أبدًا. ونقول لك من أي عنوان خرجت الرسالة فعلًا، ونرفض الإرسال بعنوان لم تخترَه — لكن لا أحد يستطيع أن يعدك بصندوق وارد.
الإبلاغ

وجدت شيئًا؟
أخبرنا.

اكتب إلى contact@iagenify.com مع «Security» في مقدمة الموضوع. اذكر ما فعلت وما رأيت، والمرجع إن أعطتك المنصة واحدًا. وإن لمس إثبات المفهوم بيانات، فقل بيانات من — ولو كانت بياناتك أنت.

نقرؤه

إنسان، لا طابور. وإن كان حقيقيًا ستعرف ما نفعله بشأنه.

لا ندفع مكافآت

لا يوجد دفع ولن نتظاهر بغير ذلك. وقول هذا من البداية أنصف من تركك تكتشفه بعد العمل.

لا تمضِ أبعد مما يلزم

لا حجب خدمة، ولا بيانات طرف ثالث، ولا حساب ليس لك. ما يكفي لإثباته، ثم تتوقف.

أسئلة

الأمان، بالتفصيل.

ما الذي يفعله الوكيل دون أن يسألني؟

القراءة، والتفويض إلى وكيل فرعي، وكتابة ملاحظاته الخاصة. وكل ما عداه يتوقف على الفئة والوضع: كتابة ملف حرة في الوضع التلقائي، وتغيير قاعدة بيانات أو DNS يُسأل حتى هناك، والإرسال والنشر والإنفاق تُسأل في كل مرة مهما قال الوضع.

أين تعيش نتائج أدوات الوكيل؟

على الجهاز الذي عمل عليه الوكيل. وقاعدتنا تحفظ الخطوة — أي أداة، وهدفًا قصيرًا، وهل نجحت، وكم كلّفت، وكم استغرقت — ولا تحفظ محتوى النتيجة أبدًا. وهذا الفصل مقصود: سجلّ ما جرى مفيد لك، ومحتوى ملفاتك ليس ملكًا لنا لنحتفظ به.

هل يستطيع الوكيل بلوغ خدماتكم الداخلية؟

لا. فحص العناوين مفعّل افتراضيًا حتى في التطوير، والموضع الوحيد الذي كان يمكن توجيه مسار عمل منه إلى عنوان خاص مطفأ فيه هذا المخرج افتراضيًا — الواجهة عامة، وتسهيل تطويري هناك كان سيترك أي حساب يقرأ ردًّا من شبكتنا نحن.

ماذا لو تسرّب مفتاح واجهتي البرمجية؟

استبدله. المفاتيح تُخزَّن بصمةً لا مفتاحًا، فلا نستطيع أن نعيد عرض واحد عليك — بل إصدار جديد وإحالة القديم إلى التقاعد. والجلسة المشتقة من مفتاح قصيرة العمر ومربوطة بعائلة جلسات نستطيع إنهاءها.

هل لديكم مكافأة ثغرات؟

لا. راسلنا رغم ذلك، مع «Security» في مقدمة الموضوع. ونفضّل كثيرًا أن نعرف منك.

هل شيء من هذا مدقَّق؟

ليس من طرف ثالث. الفحوص فحوصنا: مجموعات اختبار وحدات بلا شبكة، وبرنامج يعيد قراءة كل حدٍّ للحاوية من داخل الحاوية، وآخر ينشئ حسابًا مؤقتًا وينشر موقعًا حقيقيًا ثم يحذف كل ما أنشأه، وآخر يجرّب مسار تسجيل الدخول من طرفه إلى طرفه. ونفضّل أن نقول لك لمن هذه الفحوص على أن ندع كلمة «مُتحقَّق منه» تؤدي العمل.