يُنشر هذا المستند بالإنجليزية وفي ثماني ترجمات. والنص الإنجليزي هو النص المُلزِم: فحيثما اختلفت الترجمة عن الإنجليزية، يسري النص الإنجليزي.
1. باختصار
لا يضع هذا الموقع أي ملفات تعريف ارتباط خاصة به، ولا يشغّل أي تتبّع من أي نوع. وهو يحفظ في متصفّحك قائمة قصيرة من الأشياء: السمة التي اخترتها، وعمليات البحث والمرشّحات ومواقف السيارات التي اطّلعت عليها أو حفظتها، وملاحظة عن الحجوزات التي أكّدها هذا التبويب أو قيّمها للتو، و— ما دامت عملية دفع بالبطاقة جارية فحسب — عنوان البريد الإلكتروني من حجزك. ولا يقيس أي من ذلك شيئاً، ولا يغادر أي منه متصفّحك أبداً. أما الصفحة الوحيدة التي تقبل بطاقة فتحمّل أيضاً النص البرمجي لمزوّد خدمات الدفع، وهو يضع ملفات تعريف ارتباط خاصة بـStripe لإبعاد الاحتيال؛ والقسم 2 يعدّد ذلك كله بنداً بنداً. ولا تزال لافتة الموافقة غير موجودة: فليس هنا قياس، ولا يُشارَك هنا شيء مع أحد، والقوائم في القسم 2 يمكن حذفها من الصفحة نفسها التي تظهر فيها. والقسم 3 يبسط التعليل كاملاً.
2. ما الذي يخزّنه هذا الموقع فعلياً
قائمة قصيرة من القيم، يكتبها كود هذا الموقع نفسه ولا يستطيع أي موقع آخر قراءتها. وبالتفصيل:
- السمة التي اخترتها. اضغط مفتاح التبديل بين الفاتح والداكن في الترويسة، فتُحفظ كلمة «light» أو «dark» في التخزين المحلي تحت الاسم «parkena-theme»، لتُفتح الصفحة التالية — والزيارة التالية — بالسمة التي اخترتها. وتبقى حتى تضغط المفتاح مرة أخرى أو تمسح بيانات هذا الموقع، وهي لا تحدّد هوية أحد، ولا تُرسل إلى أي مكان أبداً.
- وأثناء الدفع بالبطاقة: عنوان البريد الإلكتروني من نموذج حجزك، في تخزين الجلسة، تحت الاسم «parkena:book:pay-email:» متبوعاً بمرجع الحجز. فقد يمرّ بك الدفع عبر صفحة موافقة مصرفك ذهاباً وإياباً، ويجب ألّا تحمل رحلة العودة عنوان بريدك في عنوان الويب، حيث سيبقى في سجلّ تصفّحك وفي سجلات الوصول على الطريق. لذلك ينتظر العنوان في متصفّحك بدلاً من ذلك، ويُحذف متى اكتمل الدفع، ويموت مع علامة التبويب في كل الأحوال. وقبل ذلك، ومنذ أول ضغطة لك على «احجز»، يحتفظ التبويب نفسه برمز حجز عشوائي لكل إقامة تحجزها، في تخزين الجلسة، تحت الاسم «parkena:book:request-key:» متبوعاً بموقف السيارات والتواريخ. وهو ما يجعل الضغط على «احجز» مرة أخرى — بعد نقرة مزدوجة، أو انقطاع في الاتصال، أو تغيّر في السعر، أو إعادة تحميل — يعيد إليك الحجز نفسه لا حجزاً ثانياً، وهو ما يمنع أي شخص آخر يعرف بياناتك من أن يُسلَّم حجزك. ولا يحمل شيئاً عنك، ولا يُرسَل إلى أي مكان إلا مع طلب حجزك أنت، ولا يظهر أبداً في عنوان ويب، ويموت مع علامة التبويب.
- عمليات البحث والمرشّحات ومواقف السيارات التي اطّلعت عليها، ليعيدها لك الموقع في زيارتك القادمة. أربعة أسماء في التخزين المحلي: «parkena-recent-searches» يحفظ آخر خمس عمليات بحث بالمطار والتواريخ، و«parkena-viewed-lots» آخر خمسة مواقف فتحتها، و«parkena-saved-lots» حتى عشرين موقفاً حفظتها بنفسك، و«parkena-filters:» متبوعاً باسم مطار يحفظ المرشّحات التي وضعتها على نتائج ذلك المطار — المرافق، وتسليم المفاتيح، وأعلى إجمالي أردته — إلى أن تضغط «مسح التصفية». ولا يحمل أي منها إلا ما تعرضه عليك بطاقته أو صف مرشّحاته أصلاً: مطاراً، وتواريخك، واسم موقف ومشغّله، والإجمالي الذي عُرض عليك، ومرفقاً أشّرت عليه. ولا شيء فيها يعرّف بك، ولا يُرسَل أي من ذلك إلى أي مكان قط. ولكل بطاقة في القوائم الثلاث زرّ يحذفها، ويخرج المدخل من قائمته من تلقاء نفسه متى مضى تاريخ التسليم — التسليم لا الاستلام، فيخرج بينما الإقامة التي يتذكّرها ما زالت جارية. ويزيله الموقع عند القراءة التالية للقائمة.
- ملاحظتان قصيرتان يحتفظ بهما التبويب عن حجوزات تعاملت معها للتو، كلتاهما في تخزين الجلسة وكلتاهما تزولان لحظة إغلاق التبويب. فـ«parkena:reviewed» تُدرج ما يصل إلى عشرين مرجع حجز كتبتَ عنها تقييماً في هذا التبويب، حتى لا يُعرض عليك نموذج التقييم مرة أخرى عن إقامة سبق أن كتبتَ عنها. و«parkena:book:confirmed:» متبوعاً بمرجع حجز يُعلِّم شاشة تأكيد رآها هذا التبويب من قبل، حتى لا تؤدّي إعادة تحميلها إلى عدّ الحجز نفسه مرتين — وكما تقول هذه القائمة أدناه، ليس في هذا الموقع مكان يذهب إليه مثل هذا العدّ. وكلتاهما لا تحملان غير مراجع حجز، ولا تعرّف أي منهما بك، ولا تُرسَل أي منهما إلى أي مكان أبداً.
- وملاحظة مدتها عشر دقائق، في تخزين الجلسة تحت الاسم «parkena-coverage-v1»، عن عدد مواقف السيارات التي وُجدت عند كل مطار أثناء اطّلاعك — وعمّا إذا كان ذلك العدّ قد بلغ آخره — حتى لا يطرح الانتقال من صفحة إلى التالية السؤال نفسه مرة بعد مرة. وهي تحمل اسم كل مطار، ورقماً لكل منها، ووقت إجراء العدّ؛ وهي لا تحدّد هوية أحد، ولا تُرسل إلى أي مكان أبداً، وتموت مع علامة التبويب.
- وفيما عدا ذلك، لا شيء: لا ملفات تعريف ارتباط يضعها هذا الموقع — لا للتفضيلات، ولا للجلسات، ولا للقياس — ولا عامل خدمة (service worker)، ولا تحليلات، ولا مدير وسوم، ولا بكسل قياس، ولا أداة اختبار A/B، ولا خريطة حرارية، ولا تسجيل للجلسات.
- ولا معرِّفات إعلانية ولا معرِّفات إسناد، ولا أخذ بصمة للجهاز (fingerprinting).
- ولا خريطة مضمّنة، ولا فيديو، ولا خدمة خطوط، ولا أداة تواصل اجتماعي، ولا نظام تعليقات. وكل خط تحمّله الصفحات يأتي من هذا النطاق، وكذلك كل نص برمجي إلا واحداً — فصفحة الدفع تحمّل نص Stripe البرمجي، الموصوف أدناه. وكذلك كل صورة، باستثناء صور المواقف التي يرفعها المشغّلون، فهي تأتي من مضيف قاعدة البيانات الموصوف أدناه.
يتّصل الموقع بمضيفين اثنين آخرين. فحين تبحث عن موقف سيارات أو تُجري حجزاً، يسأل متصفّحك قاعدة البيانات عن الأسعار ويكتب الحجز؛ وهذه الطلبات لا تحمل أي ملف تعريف ارتباط ولا تضع أيّاً منها. وصور المواقف التي يرفعها المشغّلون تُجلب من المضيف نفسه. وعلى صفحة الحجز وحدها، نموذج البطاقة نموذج Stripe: فالصفحة تحمّل نص Stripe البرمجي، وبيانات بطاقتك تدخل في ذلك النموذج وتسافر إلى Stripe مباشرة، وStripe تضع ملفات تعريف الارتباط الخاصة بها ضمن تمييزها البطاقات الحقيقية من الاحتيال. وتلك الملفات ملفات Stripe، ولا توجد إلا ليتم الدفع الذي طلبته أنت، وهي سبب ظهور مزوّد خدمات دفع في هذه الصفحة أصلاً. وكل ما عدا ذلك ملف ساكن.
3. لماذا لا توجد لافتة لملفات تعريف الارتباط
تشترط القواعد الأوروبية أخذ إذنك قبل تخزين أي شيء ليس ضرورياً ضرورةً مطلقة على جهازك أو قراءته منه. فالسمة تفضيلٌ ضبطتَه أنت بنفسك، بضغط زرّ غايتُه كلها أن يُتذكَّر. وعنوان البريد الموضوع جانباً هو ما يتيح إتمام الدفع الذي بدأتَه، ورمز الحجز هو ما يجعل الضغطة الواحدة على «احجز» حجزاً واحداً. وملفات تعريف ارتباط Stripe هي ما يتيح قبول بطاقة أصلاً — فمنع الاحتيال ليس إضافةً على الدفع، بل شرطه. أما القوائم والمرشّحات في القسم 2 فهي وحدها ما يقع هنا في باب الراحة لا الضرورة، ولن تدّعي هذه الصفحة غير ذلك: يكتبها بحثك أنت وترشيحك أنت وحفظك أنت، ولا تُعرض على أحد سواك، ويمكن مسح كلٍّ منها حيث يظهر، ومسح بيانات هذا الموقع يزيلها جميعاً دفعةً واحدة.
ومع ذلك تبقى إضافة لافتة أمراً سهلاً، وإضافتها ستكون أسوأ من عديمة الفائدة. فطلب موافقة لا يطلب شيئاً يعلّم الناس أن يصرفوا طلبات الموافقة عنهم، بما فيها الطلبات التي يهمّ أمرها على مواقع أخرى. فلا لافتة إذن، وهذه الصفحة قائمة مقامها.
4. ما الذي يفعله الموقع ليبقى الأمر كذلك
تُقدَّم الصفحات مصحوبةً بمجموعة صغيرة من التعليمات إلى متصفّحك، وهي موجودة في مستودع الشيفرة كملف نصّي عادي، لا في لوحة إعدادات عند أحد:
- تحديد الموقع الجغرافي والميكروفون والكاميرا معطّلة في الموقع كلّه بموجب سياسة معلنة. ولا يستطيع الموقع أن يطلب موقعك حتى لو حاول ذلك نصّ برمجي يُضاف مستقبلاً.
- ويرفض الموقع أن يُعرض داخل إطار على موقع آخر.
- ومعلومات المُحيل المرسَلة إلى أصول أخرى تُختصر إلى الأصل وحده، ولا تُرسل البتّة عند الخروج من HTTPS.
- وتُبلَّغ المتصفّحات بألّا تصل إلى هذا الموقع إلا عبر HTTPS.
5. ما الذي قد تضعه الطبقة التي تحت الموقع
التطبيق نفسه لا يضع شيئاً؛ أمّا الشبكة التي أمامه فمسألة منفصلة لا يستطيع مستودع الشيفرة وحده أن يجيب عنها. فالموقع يُقدَّم عبر Cloudflare، وتستطيع Cloudflare أن تضع ملفات تعريف ارتباط أمنية ضرورية ضرورةً مطلقة — للحماية من الروبوتات وإساءة الاستخدام — بحسب طريقة ضبط الحساب. وذلك الضبط ليس جزءاً من الشيفرة، فلا تدّعي هذه الصفحة معرفة حاله.
[ يجب استكماله قبل الإطلاق — التأكّد من ملفات تعريف الارتباط التي تضعها طبقة الاستضافة في بيئة الإنتاج، إن كانت تضع شيئاً، ثم إمّا إدراجها هنا بالاسم والغرض وإمّا تعطيلها ]
ولست مضطراً إلى أخذ أي من هذا على محمل الثقة، ومن حسن العادة ألّا تفعل: افتح أدوات المطوّر في متصفّحك، وانظر في تبويب التخزين أو التطبيق، وطالع القائمة بنفسك. وعلى هذا الموقع ينبغي أن تُظهر ما يعدّده القسم 2 بالضبط — كلمة السمة، والقوائم والمرشّحات متى بحثتَ أو حفظتَ شيئاً، وبريد الدفع ما دام دفعٌ جارياً، ورمز حجز لكل إقامة ضغطتَ «احجز» من أجلها، والملاحظتين عن الحجوزات متى أكّد هذا التبويب حجزاً أو قيّمه، وملاحظة التغطية ذات العشر دقائق متى عدّت صفحةٌ ما هو مُدرَج عند مطار، وملفات تعريف ارتباط Stripe إن كنت قد بلغتَ خطوة الدفع في حجزٍ ما — ولا شيء غير ذلك، إلّا ما أضافته طبقة الاستضافة.
6. لوحة تحكم المشغّل مختلفة
يسجّل المشغّلون الدخول إلى تطبيق منفصل له عنوانه الخاص. وعليه أن يتذكّر أنك مسجَّل الدخول، فيحفظ رمز جلسة وآخر مشغّل عملت فيه داخل التخزين المحلي لمتصفّحك. وهذا ضروري ضرورةً مطلقة — إذ بدونه ستطلب منك كل صفحة تفتحها أن تسجّل الدخول من جديد — وهو ليس قياساً من أي نوع. وأثناء قبولك دعوةً للانضمام إلى مشغّل، يحتفظ التبويب الذي فتحت فيه رابط الدعوة أيضاً بتلك الدعوة — رمزها والعنوان الذي أُرسلت إليه — في تخزين الجلسة، تحت الاسم «parkena.pendingInvitation»، كي لا تضيع أثناء إنشاء حسابك أو تسجيل دخولك. وتُحذف فور استخدام الدعوة أو تبيّن أنها لم تعد صالحة، وتزول مع التبويب على أي حال. وحين يعيدك Stripe إلى لوحة التحكم لأن رابط إعداد المدفوعات قد انتهت صلاحيته، يسجّل التبويب اللحظة التي فتح فيها رابطاً جديداً، تحت الاسم «parkena:stripe-link-renewed-at» في تخزين الجلسة، كي لا يفتح رابطاً جديداً من تلقاء نفسه إلا مرة واحدة بدلاً من أن يتنقّل بك بين الموقعين؛ ولا يحفظ سوى ذلك الوقت، ويزول هو أيضاً مع التبويب. وحين تنتقل من معالج الإعداد إلى Stripe لإعداد المدفوعات، يسجّل التبويب أيضاً موقف السيارات الذي كنت تُعدّه — معرّفه، أو أنه موقف جديد — تحت الاسم «parkena:stripe-return-lot» في تخزين الجلسة، كي يعيد الرجوع من Stripe فتح ذلك الموقف لا غيره؛ ولا يحفظ سوى ذلك، ويُحذف فور أن يقرأه المعالج في طريق عودتك، ويزول مع التبويب على أي حال.
وتسجيل الخروج يحذف رمز الجلسة والمشغّل، ومسح بيانات الموقع في متصفّحك يحذفها كلّها. وتزول إدخالات تخزين الجلسة أيضاً عند إغلاق التبويب — والدعوة قبل ذلك، فور استخدامها أو تبيّن أنها لم تعد صالحة.
7. ما الذي قد يغيّر هذا
القائمة أدناه هي ما قد يغيّر هذه الصفحة. وهي هنا كي يجد من يتّخذ أحد هذه القرارات الجملةَ التي هو على وشك أن يجعلها غير صحيحة:
- إضافة تحليلات من أي نوع، بما في ذلك تحليلات مستضافة ذاتياً تخزّن أي شيء على الجهاز.
- تضمين خريطة أو مُشغّل فيديو أو أداة تقييمات من شركة أخرى.
- مزوّد خدمات دفع ثانٍ إلى جانب Stripe، أو أن تصير Stripe تخزّن أكثر من ملفات تعريف ارتباط فحص الاحتيال الموصوفة أعلاه.
- منح المسافرين حسابات، وهو ما يستلزم جلسة.
- تذكّر أي شيء بين زيارة وأخرى زيادةً على ما يعدّده القسم 2: لغة، أو عملة، أو إشعار صرفته عنك.
- أي إعلان أو إعادة استهداف أو قياس إسناد.
وإن أُطلق أحدها، فهذه الصفحة تُحدَّث قبل إطلاقه، وكل ما ليس ضرورياً ضرورةً مطلقة يأتي مصحوباً بطلب موافقة حقيقي — طلبٍ يكون الرفض فيه سهلاً تماماً كالقبول، ولا يُخزَّن فيه شيء قبل أن تختار.
8. ذات صلة
يغطّي إشعار الخصوصية البيانات التي تكتبها في الحجز — ما الذي يُجمع، ومن يتلقّاه، وكم يبقى محفوظاً. أمّا هذه الصفحة فعن جهازك وحده.
