الأمن وحماية البيانات

الجوازات بيانات حساسة. وهذا، نقطةً نقطة، ما يحميها اليوم، وما هو مُخطَّط قبل الافتتاح، ومن المسؤول عن ماذا.

واجهة من الرخام الرمادي والأخضر للمسجد الحرام بمكة المكرمة، بنوافذ مقوّسة

الخلاصة

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

المبدأ: لكلٍّ مساحته

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

لا يفتح فريقنا ملفًا إلا للعمل الذي يتطلبه: مراجعة جواز، أو معالجة طلب. وتُخفى أرقام الجوازات فيه تلقائيًا؛ وإظهار الرقم كاملًا يتطلب كتابة سبب، ويُسجَّل.

مُخطَّط قبل الافتتاح حساب مخصّص لكل وكالة على بوابة التأشيرة الإلكترونية.

كلمات المرور

لا نحفظ كلمة المرور أبدًا بشكل مقروء، بل بصمة تُحسب بطريقة scrypt، وهي طريقة بطيئة عمدًا، مع قيمة عشوائية (ملح) مختلفة لكل كلمة مرور. ولا يستطيع أحد، ولا نحن، استرجاع كلمة مرورك من هذه البصمة.

تتكون كلمة المرور من 12 حرفًا على الأقل، منها حرف كبير ورمز خاص. وتُرفض كلمات المرور الأكثر شيوعًا، وتلك التي تحتوي على بريدك الإلكتروني.

نسيت كلمة المرور؟ نرسل رمزًا من 6 أرقام إلى بريدك الإلكتروني، صالحًا 10 دقائق ولمرة واحدة. وتُغلق كلمة المرور الجديدة كل جلساتك المفتوحة. وجوابنا واحد، سواء أكان الحساب موجودًا أم لا.

الدخول: رمز إضافي دائمًا

لا تكفي كلمة المرور الصحيحة: يُرسَل بعدها رمز من 6 أرقام بالبريد الإلكتروني، صالح 10 دقائق ولمرة واحدة، ولا نحفظ منه إلا بصمته. فيلزمك إذن كلمة مرورك والوصول إلى بريدك معًا (التحقق بخطوتين).

إذا دخلت بحساب Apple أو Google أو Microsoft، فتلك الخدمة هي التي تتحقق من هويتك، ولا نرسل رمزًا إضافيًا.

ويُطلب رمز جديد للخطوات الملزِمة: توقيع أمر المعالجة لطلب، وتنزيل ملف، وتغيير كلمة المرور، وتنزيل الفرد تأشيرته. وهذا الرمز صالح 5 دقائق، لهذه الخطوة وحدها.

ويدخل فريقنا بكلمة مرور ورمز من تطبيق مصادقة، في كل مرة.

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

أدوار فريقنا

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

الجوازات والملفات: تخزين خاص

يُشفَّر كل جواز وكل صورة وكل ملف وكل تأشيرة قبل حفظه (AES-256-GCM)، بمفتاح خاص به. وهذا المفتاح نفسه مشفّر بمفتاح رئيسي محفوظ خارج قاعدة البيانات. فلا يرى مستضيفنا إلا ملفات غير مقروءة، محفوظة برقم، دون اسم أي شخص.

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

وعند كل قراءة، نتحقق من أن الملف لم يُعدَّل؛ فإن عُدِّل رُفض.

تبادل مشفّر وأسرار مشفّرة

التبادل بين متصفحك والموقع والتطبيق مشفّر (HTTPS). وتتصل خوادمنا بقاعدة البيانات وبتخزين الملفات عبر اتصالات مشفّرة يُتحقق من شهادتها.

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

والوصول المباشر إلى قاعدة البيانات الذي يتيحه مستضيفنا مغلق: لا تتصل بها إلا خوادمنا.

الموافقة وتوقيع كل طلب

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

وقبل كل إرسال، توقّع الوكالة أمر المعالجة للطلب برمز يصلها بالبريد الإلكتروني. ونحتفظ بالتاريخ والشخص وإصدار النص الموقَّع وبصمة محتوى الطلب (SHA-256). ثم يُقفل الطلب: لا يمكن أن يُضاف إليه أي جواز.

سجل التدقيق

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

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

مُخطَّط قبل الافتتاح تسجيل كل عرض لصورة جواز أمام الفريق.

المحو التلقائي

تُمحى ملفات المسافر (الجواز والصورة والملف النهائي والتأشيرة) تلقائيًا بعد 30 يومًا من تاريخ العودة من الرحلة. والمحو حقيقي: يُحذف الملف من التخزين ويُتلف مفتاحه.

وتُمحى معلومات الهوية المحفوظة في قاعدة البيانات (الأسماء، ورقم الجواز، والمعلومات المقروءة والمُدخلة) في الموعد نفسه، أو بعد 30 يومًا من تسليم الملف النهائي إن كان لاحقًا. وإن لم يكن للرحلة تاريخ عودة، يحلّ الموعد بعد سنة من إضافة المسافر، ثم 30 يومًا.

ولا يبقى إلا إثبات للمعالجة، دون محتوى: التواريخ والحالة والجنسية وبصمة كل ملف.

مُخطَّط قبل الافتتاح المحو المبكر بطلب منك، من حسابك.

ضمانات التحديثات

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

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

ويتطلب تحديث قاعدة الإنتاج تأكيدًا صريحًا.

القراءة الآلية للجوازات

لقراءة نص الجواز، نرسل صورة الصفحة إلى Google Cloud Vision، وهي خدمة من Google لا تعيد إلا نصًّا. ثم تستخرج قواعدنا الخاصة المعلومات، ويراجع أحد أعضاء فريقنا كل جواز.

ولقصّ الصورة بمقاس البوابة، لا تحدد الخدمة نفسها إلا موضع الوجه؛ والقصّ يتم لدينا. ولا تُجرى أي مقارنة للوجوه.

ولا نستعمل الجوازات أبدًا لتدريب أي برنامج. ونسخنا من الصور تخضع لقاعدة المحو أعلاه.

الاستضافة

تستضيف Supabase بيانات التطبيق وملفاته في أيرلندا (منطقة eu-west-1)، داخل الاتحاد الأوروبي. وتعمل خوادم التطبيق لدى Vercel، في منطقتها بدبلن. ويستضيف الموقعَ العام Vercel Inc. (الولايات المتحدة).

ثم تُرسَل بيانات الطلب إلى البوابة السعودية الرسمية: وهذا من طبيعة طلب التأشيرة.

وقائمة المعالِجين من الباطن ودور كل منهم في صفحة الخصوصية وحماية البيانات.

الحماية من الهجمات الشائعة

  • إجراء يُطلَق من موقع آخر (CSRF): لا يُرسَل ملف تعريف ارتباط الجلسة مع نموذج يُرسَل من موقع آخر (خاصية SameSite).
  • الحقن في قاعدة البيانات (حقن SQL): يمرّر كل استعلام قيمه منفصلة، ولا تُلصق أبدًا في نصه (استعلامات ذات معاملات).
  • شيفرة مدسوسة في نص مُدخل (XSS): تعرض الصفحات ما أُدخل نصًّا، لا شيفرةً أبدًا (التهريب التلقائي في React).
  • الوصول إلى ملف شخص آخر: يُتحقق من كل طلب أو ملف أو صورة مقابل حساب الجلسة؛ وإلا فالجواب «غير موجود»، كما لو أن الملف لا وجود له.
  • تجربة كلمات المرور تباعًا (القوة الغاشمة): بعد 5 محاولات فاشلة في 15 دقيقة، يُقفل الحساب 15 دقيقة؛ ويتوقف الرمز بعد 5 محاولات، ولا يُرسَل أكثر من 5 رموز في الساعة. ولفريقنا، تتضاعف مدة القفل مع كل سلسلة، حتى 24 ساعة.
  • الملفات المفخّخة: يُقرأ نوع الملف من محتواه، لا من اسمه أبدًا؛ ولا يُقبل إلا JPEG وPNG وPDF وZIP، بحجم أقصى. ولأرشيف ZIP حدود في عدد الملفات والحجم ونسبة الضغط؛ وتُرفض الأرشيفات وملفات PDF المحمية بكلمة مرور.

من المسؤول عن ماذا

في حالة الوكالة، تكون الوكالة هي المسؤولة عن معالجة بيانات معتمريها، ونعمل نحن معالِجًا لحسابها وبتعليماتها فقط.

في حالة الفرد الذي يودِع لدينا جوازه وجوازات أهله، نكون نحن المسؤولين عن المعالجة.

وحقوقك وطريقة ممارستها مبيّنة في صفحة الخصوصية وحماية البيانات.

مُخطَّط قبل الافتتاح نموذج لإشعار المعلومات والموافقة والإذن الأبوي، يُقدَّم لكل وكالة من أجل معتمريها.

وإن وقع حادث رغم كل ذلك

تظن أنك اكتشفت ثغرة أو وصولًا غير عادي؟ راسلنا من صفحة التواصل.

إذا مسّ خرقٌ بيانات أودعتها لدينا وكالة، نُعلمها دون تأخير غير مبرَّر: وعليها، بصفتها المسؤولة عن المعالجة، إخطار الهيئة الفرنسية لحماية البيانات (CNIL) خلال 72 ساعة (اللائحة العامة لحماية البيانات، المادة 33). وإذا مسّ بيانات نحن المسؤولون عنها، نُخطر الهيئة بأنفسنا خلال 72 ساعة حين يفرض القانون ذلك، ونُعلم الأشخاص المعنيين إذا كان الخطر عليهم كبيرًا (المادة 34).

الأفراد

أنا ذاهب لأداء العمرة

نُعِدّ تأشيرتك وتأشيرات أهلك، ثم نسلّمها في مساحتك كمسافر.

الوكالات

أنا وكالة سفر

نتولّى تأشيرات مجموعاتك، من مراجعة الجوازات إلى الملف النهائي.