البرهان
كل مواقع الأدوات على الويب تكتب أنها تحترم خصوصيتكم. ونحن نفضّل أن نريكم كيف تتحققون. هناك ثلاث طرق لذلك، من الأسرع إلى الأشمل، ولا واحدة منها تتطلب معرفة بالبرمجة.
الطريقة السريعة: فاحص الشبكة
المتصفح نفسه يعرض القائمة الكاملة لما يدخل وما يخرج. هذا هو أوضح برهان، ولا يستغرق أكثر من عشر ثوان.
- افتحوا أداة من هذا الموقع
عارض البيانات الوصفية مثلا. وانتظروا حتى تكتمل الصفحة. - افتحوا أداة الفحص
مفتاح F12 على ويندوز ولينكس. وعلى ماك، Cmd + Option + I. ويمكن المرور أيضا من قائمة المتصفح، عند مدخل «أدوات المطوّر» أو «فحص». - انتقلوا إلى تبويب «الشبكة»
اسمه «Network» إذا كان متصفحكم بالإنجليزية. ثم انقروا على أيقونة المنع أو على «مسح» لإفراغ القائمة: يجب أن تكون فارغة قبل التجربة. - أفلِتوا ملفا وشغّلوا المعالجة
هذه هي اللحظة الحاسمة. راقبوا القائمة بينما تشتغل الأداة، وبينما تنزّلون النتيجة. - لاحظوا
تبقى القائمة فارغة. لا يظهر أي سطر، لا أثناء قراءة الملف، ولا أثناء المعالجة، ولا عند التنزيل، لأن التنزيل يصنعه متصفحكم بنفسه من ذاكرة التبويب.
دقّة صادقة: عند أول تحميل للصفحة، يعرض الفاحص أسطرا فعلا. تلك ملفات الموقع نفسه، من صفحة وورقة أنماط وخطوط ونصوص برمجية، وكلها تُقدَّم من هذا النطاق نفسه. المهم أن تنظروا بعد ذلك التحميل، أثناء المعالجة: هناك ترفع المواقع الأخرى، وهناك يجب أن تبقى القائمة فارغة.
الطريقة القاطعة: اقطعوا الاتصال
الموقع الذي يحتاج إلى خادم كي يعمل لا يستطيع العمل بلا شبكة. أما هذا فيستطيع.
- زوروا الأداة مرة أولى، والاتصال قائم
عندها يستقر الموقع في ذاكرة متصفحكم، تماما مثل تطبيق. - اقطعوا الشبكة
وضع الطيران، أو انزعوا الكابل، أو حوّلوا تبويب الشبكة في الفاحص إلى وضع «دون اتصال». - أعيدوا تحميل الصفحة واستعملوا الأداة
كل شيء يعمل: الصفحة تُعرض، والملف يُفلَت، والمعالجة تجري، والنتيجة تُنزَّل. الموقع الذي يرفع لا يستطيع فعل هذا.
الطريقة الشاملة: اقرأوا الشيفرة
هي الأبطأ والأمتن. ولا تتطلب أي حساب ولا أي أداة خاصة.
- اعرضوا الشيفرة المصدرية للصفحة
Ctrl + U، أو نقرة يمنى ثم «عرض مصدر الصفحة». لا شيفرة مضغوطة ولا مشوّشة في هذا الموقع، وهذا اختيار: الشيفرة غير المقروءة لا يمكن التحقق منها. - افتحوا ملف الأداة
كل أداة هي ملف جافاسكريبت واحد، مسمّى باسمها، يُحمَّل من هذا النطاق. ستجدون فيه قراءة الملف، والمعالجة، وصناعة النتيجة. - ابحثوا عمّا يمكن أن يرسل شيئا
في المتصفح، لا توجد إلا عائلة صغيرة من طرق إرسال البيانات: الكلمات التي تُبحث هي fetch وXMLHttpRequest وsendBeacon وWebSocket وEventSource، ووسوم الصور أو النصوص البرمجية المصنوعة في أثناء التشغيل. لن تجدوا واحدة منها في شيفرة أي أداة.
وبرهان ندين لكم به، وهو برهان الآلة
الطرق الثلاث أعلاه ملك لكم: تتيح لكم التحقق من دوننا. أما الرابعة فهي تُلزمنا نحن.
قبل كل نشر للموقع، يشغّل برنامج متصفحا حقيقيا، ويفتح كل صفحة أداة، ويُفلت فيها ملف اختبار حقيقيا، ويشغّل المعالجة، ويراقب الشبكة على مستوى المتصفح نفسه، لا على مستوى شيفرة الصفحة. فإذا رأى طلبا واحدا يخرج إلى خادم آخر أثناء المعالجة، رُفض النشر. لا يُنبَّه عليه: يُرفض.
هذا هو القفل الوحيد في المشروع الذي لا يُلتف عليه بتغيير نص. يعيش في مجلد المشروع باسم «validate-localite»، ويعمل في كل مرة.