بنيتك التحتية. بياناتك. مفاتيحك.
بُني Cronable ليعمل كجزء موثوق من بنيتك التقنية. إليك بالضبط كيف يبقي أتمتتك وأسرارك وتاريخك تحت سيطرتك.
محلي بحكم التصميم
يُثبَّت Cronable على جهازك الخاص — تطبيق مكتبي لنظام Mac أو Windows، أو خادم يعمل تحت systemd/launchd. لا توجد فئة SaaS ولا اعتماد على السحابة. اتصالاته الصادرة الروتينية هي تحقّق دوري من الترخيص — يؤكّد اشتراكك ويُبلّغ عن أعداد بسيطة للمهام والمستخدمين — وفحص للإصدارات الموقّعة الجديدة؛ إضافةً إلى ذلك، وفقط إذا فعّلتها، اتصال صادر إلى relay المستضاف من Cronable لاستقبال webhooks الواردة أو التحكّم عن بُعد. يبقى عبء عملك — تعريفات المهام والأسرار وعمليات التشغيل والمخرجات — على الجهاز ولا يُرسَل إلينا أبدًا. الاستثناء الوحيد هو جلسة تحكّم عن بُعد نشطة: تُمرَّر حركة وحدة تحكّمها عبر حافة شبكتنا (بالثقة نفسها التي تمنحها لأي وسيط مستضاف)، مع كون التشفير من الطرف إلى الطرف حتى جهازك الخاص خيار Enterprise مخطّطًا له.
أسرار وبيانات اعتماد مشفّرة أثناء التخزين
تُشفَّر قيم الأسرار بـ AES-256-GCM بمفتاح مشتقّ من مفتاح التشفير الخاص بك (scrypt بملح عشوائي لكل تثبيت). وتعيش بيانات الاعتماد المُصنَّفة — مفاتيح API، والرموز الحاملة، والمصادقة الأساسية، والترويسات المخصّصة، وسلاسل اتصال Postgres — في المخزن المشفّر نفسه ويُشار إليها بالاسم، دون لصقها في ملفات المهام. لا يُكتب شيء في git، ولا يغادر شيء جهازك. تنسخ المفتاح احتياطيًا على حدة — فقدانه يعني أن الأسرار غير قابلة للاسترجاع بحكم التصميم.
مُخفاة في كل سجل وتدفّق
تُحجَب قيم الأسرار وبيانات الاعتماد المُحلَّلة إلى «***» عبر ملفات السجل وناتج المهام وتدفّق السجل المباشر — حتى حين تنقسم قيمة عبر أجزاء متدفّقة. ما يعمل على جهازك يبقى على جهازك.
مُصادَق عليه وبأقل الامتيازات
تتطلّب وحدة تحكّم الويب تسجيلات دخول لكل مستخدم مع تجزئة كلمات المرور بـ argon2id وقفل ضد القوة الغاشمة. يرتبط المحرّك بـ localhost افتراضيًا ويُقصَد تشغيله كمستخدم مخصّص منخفض الامتيازات. يستخدم المستدعون من خادم إلى خادم رمزًا حاملًا خاصًا؛ وتستخدم المتصفحات كوكي جلسة قصيرة الأمد — وتسجيل الخروج، أو انتهاء الجلسة، يُغلق حتى تدفّقات السجل المباشرة المفتوحة خلال ثوانٍ. كما يجب أن تجتاز كلمات المرور فحصًا للقوة — حد أدنى للطول بالإضافة إلى اختبار لقابلية التخمين — بحيث تُرفض الكلمات الضعيفة أو السهلة التخمين. تضيف المصادقة الثنائية (TOTP) الاختيارية رمزًا لمرة واحدة من تطبيق مصادقة مثل Google Authenticator، مع رموز استرداد في حال فقدان الجهاز؛ وهي مطلوبة لاستخدام الوصول عن بُعد، لذا لا يمكن فتح جهاز على لوحة التحكم المُستضافة إلا من قِبل شخص قام بتفعيلها.
وصول الفريق حسب الأدوار
وحدة تحكّم الويب متعدّدة المستخدمين، بأربعة أدوار مرتّبة — مُشاهِد (للقراءة فقط)، ومُحرِّر (إنشاء المهام والأسرار وعمليات التشغيل)، ومسؤول (إدارة المستخدمين والأدوار والإعدادات)، ومالك، وهو أول حساب في التثبيت. يضيف المسؤولون المستخدمين ويزيلونهم، ويحدّدون دور كل شخص، ويعيدون تعيين كلمة مرور أو جهاز مصادقة ثنائية، ويلغون الوصول ضمن الإعدادات ← المستخدمون — فيفقد الزميل المغادر وصوله فورًا ولا يتشارك أحد تسجيل دخول. ويمكن للتثبيتات المشدّدة تفعيل المزيد: يقيّد تصنيف صلاحيات التنفيذ مَن يمكنه إنشاء مهام تُشغّل أوامر، وتضيف موافقة التغييرات مراجعةً من شخصين، بحيث يجب أن يوافق مسؤول ثانٍ على تغيير مُجهَّز في مهمة أو سرّ قبل أن يصبح ساري المفعول.
دخول موحّد عبر OIDC
استخدم مزوّد الهوية لديك — Okta، أو Entra ID، أو Google، أو Keycloak — عبر تدفّق رمز التفويض OIDC مع PKCE والتحقّق الكامل من رمز الهوية. يجب أن تُطابِق عمليات الدخول الموحّد حسابًا محليًا موجودًا: لا شيء يُنشَأ تلقائيًا، وتظهر أخطاء المزوّد كرسائل ثابتة وودودة بدل عمليات إعادة توجيه خام.
سجل تدقيق يمكنك قراءته فعلًا
تُسجَّل عمليات الدخول والمحاولات الفاشلة، وتغييرات الأسرار وبيانات الاعتماد، وتعديلات المهام، وتحديثات الإعدادات، وعمليات تزامن git في سجل تدقيق للإلحاق فقط — الأسماء والبيانات الوصفية فقط، لا القيم أبدًا — قابل للعرض والتصفية مباشرة في وحدة التحكم ضمن الإعدادات ← التدقيق.
webhooks واردة مُقوّاة
تصل webhooks الواردة إلى daemon الخاص بك عبر مُرحِّلنا المحكوم بالترخيص فوق اتصال يفتحه خادمك صادرًا، فلا تكشف منفذًا أبدًا — إلا إذا اخترت ذلك عن قصد. وكل خطاف مربوط بترخيصك — لا يستطيع أي عميل آخر المطالبة به أو استقبال أحداثه، حتى مع معرفته لعنوانه — ومحميّ برمز لكل خطاف يُخزَّن فقط كتجزئة SHA-256 ويُفحَص في زمن ثابت. يحتاج العنوان إلى 32 محرفًا غير قابلة للتخمين على الأقل إضافة إلى ذلك الرمز؛ والخاطئ أو المفقود أو المعطّل أو المجهول كلها تُعيد الاستجابة العامة نفسها 401، وتُحظَر عمليات الاستطلاع المتكرّرة من عنوان IP مؤقتًا — فلا شيء لتعداده ولا شيء لتخمينه بالقوة. تُكشَف الرموز مرة واحدة عند الإنشاء وقابلة للتدوير بنقرة واحدة. وإذا كنت تفضّل ألا تمرّ الحمولات الواردة عبر خوادمنا إطلاقًا، يمكنك تجاوز المُرحِّل وتقديم نقطة نهاية HTTPS خاصة بك — وهي الحالة الوحيدة التي تفتح فيها منفذًا فعلًا، وعندها تصل webhooks مباشرة إلى جهازك.
تاريخ مُدقَّق بـ git وقابل للتراجع
كل تعريف مهمة ملف في مستودع git تملكه. وكل تغيير التزام — قابل للمقارنة والنسب والتراجع بالكامل. تاريخ مهامك قابل للتدقيق بالأدوات التي يستخدمها فريقك أصلًا. عند ربط مستودع للمزامنة ثنائية الاتجاه، يقبل Cronable المستودعات الخاصة فقط — فهو يرفض المستودع العام ويوقف المزامنة إذا أصبح مستودع مرتبط عامًا لاحقًا — بحيث لا يمكن أبدًا أن تصبح تعريفات مهامك قابلة للقراءة علنًا.
صادقون بشأن حدود الثقة
مهمة Cronable تشغيل الأوامر ووكلاء الذكاء الاصطناعي وHTTP نيابة عنك، فعامله كصدفة على الجهاز. تعمل التعابير في بيئة معزولة تحمي من الأخطاء الفادحة، لا في حدود مُقوّاة — فلا تُغذِّه أبدًا بمدخلات غير موثوقة. نساعدك على نشره بأقل الامتيازات وعزل شبكي معقول.
شغّله خلف جدارك الناري.
لديك متطلبات أمنية عليك تلبيتها؟ أخبرنا ببيئتك وسنمرّ معًا على النشر والتقوية وضوابط الوصول.
Cronable، ولا يغادر جهازك أبدًا.