Skip to content

الأمان

ما الذي يحمي السجل

مهامك وعناوين عملائك وأموالك موجودة هنا. تخبرك هذه الصفحة بما بنيناه لحمايتها، وما الذي يعمل الآن فعليًا، وأين تتوقف الحماية.

الفصل

لا يرى أي نشاط تجاري بيانات نشاط آخر أبدًا

وكل ما عداه يقوم على هذا الأساس، لذا نفعله مرتين ويتحقق منه حاسوب نيابة عنا.

  • جداران بين الأنشطة التجارية، لا جدار واحد

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

  • حاسوب يفحص الجدار، لا ذاكرة شخص

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

  • نختبر نشاطًا تجاريًا مقابل آخر قبل الإصدار

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

السلامة

لا يمكن إعادة كتابة السجل بهدوء

عندما تسوء مهمة ما، يكون السجل هو الدليل. وهو مبني بحيث لا يستطيع أحد، بمن فيهم نحن، تغييره من وراء ظهرك.

  • لا يمكن إلا الإضافة إلى السجل، وكل سطر يُقفل ما قبله

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

  • لا تُعدَّل المدفوعات مطلقًا

    لتصحيح خطأ ما، نضيف سطرًا جديدًا يلغي السطر القديم. لا نغيّر السطر القديم أبدًا. ما سُجِّل ومتى سُجِّل يبقى قابلًا للقراءة، وهذا هو الهدف من سجل المدفوعات.

  • روابط التوقيع ينشئها خادمنا

    يعمل رابط توقيع المستند مرة واحدة فقط، ولا يمكن تخمينه، ويتوقف عن العمل بعد مدة محددة. خادمنا هو من ينشئه. التطبيق على الهاتف لا يُنشئ رابطًا كهذا أبدًا.

أثناء انتقالها، وأثناء تخزينها

إلى أين تذهب البيانات

تقف Cloudflare بين الإنترنت والخادم الذي يتحدث إليه التطبيق. وهي تحمل قواعد الحظر الخاصة بنا، وتُبطئ أي جهة ترسل طلبات أكثر مما ينبغي وأسرع مما ينبغي. ويطبّق خادمنا نفسه الحدود ذاتها مجددًا خلفها.

  • مُشفَّر أثناء انتقاله، في كل مكان

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

  • تبقى الملفات في منطقة واحدة

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

  • لا نحتفظ بكلمة مرورك مطلقًا

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

على الهاتف

الهاتف جزء مما نحميه

يُترك الهاتف على مؤخرة شاحنة، ويُعار لمتدرب، ويُسلَّم عبر منضدة. وما بنيناه هنا مصمَّم لهذا الواقع، لا لمكتب في مبنى إداري.

  • قفل اختياري على التطبيق نفسه

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

  • تبقى مفاتيح تسجيل الدخول في التخزين المقفل الخاص بالهاتف

    يحتاج التطبيق إلى الاحتفاظ ببضعة عناصر خاصة على الهاتف، مثل التصريح الذي يبقيك مسجَّل الدخول. يضعها في مخزن مفاتيح Android، وهو التخزين المقفل الذي يحميه عتاد الهاتف نفسه، بدلًا من ملفات التطبيق العادية.

الاستمرارية

النسخ الاحتياطية، الحوادث، وإخراج بياناتك

  • نسخة مقفلة من قاعدة البيانات، محفوظة خارج الخادم

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

  • نعيد النسخ الاحتياطية إلى مكانها لنثبت أنها تعمل

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

  • خطة مكتوبة لحالة حدوث خطأ

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

  • تخرج بياناتك متى أردت

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

ما لا نزعمه

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

  • لا شهادات ولا مراجعات خارجية. لا نملك تقرير SOC 2، ولا شهادة ISO 27001، ولا موافقة PCI أو HIPAA، وهي شهادات الأمان التي يطلبها كبار المشترين. لم يُدفع لأي جهة خارج الشركة لمحاولة الاختراق. أي شخص يخبرك بغير ذلك عن Zeus مخطئ.

  • لا وعد بشأن وقت التشغيل أو الاستعادة. لا ننشر رقمًا لمقدار الوقت الذي يعمل فيه التطبيق، ولا هدفًا لسرعة إعادته للعمل، ولا هدفًا لمقدار العمل الحديث الذي قد يُفقد، لأننا لا نستطيع الوقوف وراء أي منها.

  • لا وعد بأمان مثالي. لا يوجد نظام آمن تمامًا، وأي صفحة تخبرك بغير ذلك هي إعلان، لا حقيقة.

  • العمل الذي تنجزه دون اتصال لا يُنسخ احتياطيًا حتى يصلنا. التغييرات التي تُجرى دون إشارة تبقى فقط على ذلك الهاتف حتى يصل التطبيق إلى الخادم. افتح التطبيق عندما تعود لديك إشارة، ليتمكن من الإرسال.

الإبلاغ عن ثغرة أمنية

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

يُرجى اتباع هذه القواعد

  • امنحنا وقتًا لإصلاح الأمر قبل إخبار أي شخص آخر.
  • بينما تبحث في الأمر، لا تفتح أي بيانات غير بياناتك أنت، ولا تغيّرها، ولا تحتفظ بها.
  • لا تُغرق الموقع الحي بحركة مرور لمعرفة مدى تحمّله، ولا توجّه إليه أدوات فحص تلقائية، ولا تحاول الاختراق، ما لم نكن قد وافقنا كتابةً أولًا.
  • أخبرنا بما فعلته، وما رأيته، وبتفاصيل كافية لنتمكن من تكرار ما حدث. ملاحظة تقريبية أفضل من لا شيء.

هذه هي القواعد ذاتها الواردة في سياسة الاستخدام المقبول.

حالة هذه الصفحة

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

الأسئلة حول أي من هذا تُرسَل إلى [email protected]، وكل شيء آخر تجده في صفحة التواصل.