الجهات الخارجية

ما هي الجهة الخارجية؟

ومن النادر أن يكون موقع الويب مستقلاً بالكامل. يوضح "تقويم الويب HTTP" أنّ معظم المواقع الإلكترونية، حوالي 95%، تحتوي على محتوى تابع لجهة خارجية.

يحدّد التقويم المحتوى التابع لجهة خارجية على أنّه محتوى تتم استضافته على أصل مشترك وعام، ويتم استخدامه على نطاق واسع من خلال مجموعة متنوّعة من المواقع الإلكترونية ولا يتأثر بمالك موقع إلكتروني فردي. وقد تكون هذه البيانات عبارة عن صور أو وسائط أخرى مثل الفيديو أو الخطوط أو النصوص البرمجية. تمثّل الصور والنصوص البرمجية أكثر من أي شيء آخر تتم إضافته معًا. لا يُعدّ المحتوى التابع لجهة خارجية ضروريًا لتطوير موقع إلكتروني، ولكن قد يكون الأمر كذلك أيضًا، من المؤكّد أنك ستستخدم شيئًا يتم تحميله من خادم مشترك عام، سواء كانت خطوط ويب أو إطارات iframe مضمَّنة للفيديوهات أو الإعلانات أو مكتبات JavaScript. على سبيل المثال، قد تستخدم خطوط ويب يتم عرضها من Google Fonts أو تقيس إحصاءاتك باستخدام "إحصاءات Google"، أو ربما تكون قد أضفت أزرار "أعجبني" أو أزرار "تسجيل الدخول باستخدام" من شبكات التواصل الاجتماعي، أو أنّك تُضمِّن خرائط أو فيديوهات، أو تعالج عمليات شراء التسوّق من خلال خدمات تابعة لجهات خارجية، أو أنّك تتبَّع الأخطاء وتسجّل بيانات لفِرق التطوير الخاصة بك عبر أدوات مراقبة تابعة لجهات خارجية.

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

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

لماذا نستخدم موارد تابعة لجهات خارجية؟

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

يقدم تقويم الويب لأرشيف HTTP وصفًا لطيفًا:

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

ما الذي يمكن أن تفعله الموارد الخارجية؟

الوصول إلى بعض المعلومات

عند استخدام مورد تابع لجهة خارجية على موقعك الإلكتروني، بغض النظر عن هويته، يتم تمرير بعض المعلومات إلى ذلك المورد. على سبيل المثال، إذا ضمّنت صورة من موقع إلكتروني آخر، سيمرّ طلب HTTP الذي يقدّمه متصفّح المستخدم بعنوان "المُحيل" مع عنوان URL لصفحتك بالإضافة إلى عنوان IP الخاص بالمستخدم.

تتبُّع إجراءات المستخدم على المواقع الإلكترونية

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

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

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

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

رمز جهة خارجية من جهة الخادم

غير تعريفنا السابق لطرف ثالث منهجًا من جهة العميل عمدًا في "تقويم HTTP" (كما يتناسب مع تقريرهم) لتضمين حقوق التأليف التابعة لجهة خارجية، لأنه من منظور الخصوصية، الطرف الثالث هو أي شخص يعرف أي شيء عن المستخدمين غيرك.

ويشمل هذا الجهات الخارجية التي تقدم الخدمات التي تستخدمها على الخادم، وكذلك على العميل. من ناحية الخصوصية، من المهم أيضًا فهم مكتبة تابعة لجهة خارجية (مثل مكتبة من NPM أو Composer أو NuGet). هل تمرر تبعياتك البيانات خارج حدودك؟ إذا نقلت البيانات إلى خدمة تسجيل أو قاعدة بيانات تتم استضافتها عن بُعد، أو إذا ضمّنت أيضًا المكتبات "الهاتف الرئيسي" لمؤلفيها، قد تكون في وضع ينتهك خصوصية المستخدمين وبالتالي يحتاجون إلى الخضوع للتدقيق. عادةً ما يتعيّن عليك أن تُسلِّم لك الجهة الخارجية المستندة إلى الخادم بيانات المستخدم، ما يعني أنّ البيانات التي تتعرّض لها تكون تحت سيطرتك. وفي المقابل، يمكن لجهة خارجية تستند إلى عميل، وهي نص برمجي أو مورد HTTP مضمَّن في موقعك الإلكتروني ويتم جلبها من خلال متصفّح المستخدم، جمع بعض البيانات مباشرةً من المستخدِم بدون أن تتوسّط لتوسّط عملية الجمع هذه. سيهتم معظم هذه الوحدة بكيفية تحديد الأطراف الثالثة من جهة العميل التي اخترت ضمها وعرضها للمستخدمين، وذلك تحديدًا بسبب انخفاض فرص التوسّط المتاحة لك. وننصح بتأمين الرمز من جهة الخادم حتى تفهم الاتصالات الصادرة منه ويمكنك تسجيل أو حظر أي رسائل غير متوقعة. التفاصيل حول كيفية القيام بذلك بالضبط خارج نطاقنا هنا (وتعتمد بشكل كبير على إعداد الخادم لديك)، ولكن هذا جزء آخر من موقفك من الأمان والخصوصية.

لماذا عليك توخي الحذر مع الجهات الخارجية؟

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

عند الحديث عن موارد تابعة لجهات خارجية على الويب، من المفيد اعتبار مشكلات الأمان (من بين أمور أخرى) حيث يمكن لجهة خارجية سرقة البيانات من شركتك، وبعكس ذلك مع مشكلات الخصوصية، والتي (من بين أمور أخرى) التي تسرق فيها إحدى الجهات الخارجية أو تحصل على إمكانية الوصول إلى بيانات المستخدمين دون موافقتك (أو الحصول عليها).

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

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

ما هي بعض الأمثلة على الجهات الخارجية؟

نحن نناقش "الأطراف الثالثة" بوجهٍ عام، ولكن هناك في الواقع أنواع مختلفة من هذه الأطراف، ويتمتعون بإمكانية الوصول إلى كميات مختلفة من بيانات المستخدمين. على سبيل المثال، عند إضافة عنصر <img> إلى ترميز HTML، يتم تحميله من خادم مختلف، يمنح هذا الخادم معلومات عن المستخدمين تختلف عن تلك التي تقدّمها إضافة <iframe> أو <script>. وهذه أمثلة ليست قائمة شاملة، ولكن من المفيد معرفة الفروق بين الأنواع المختلفة لعناصر الجهات الخارجية التي يمكن أن يستخدمها موقعك الإلكتروني.

طلب مورد بين المواقع الإلكترونية

مورد مواقع إلكترونية متعددة هو أي شيء على موقعك الإلكتروني يتم تحميله من موقع مختلف وليس <iframe> أو <script>. وتشمل الأمثلة <img> و<audio> و<video> وخطوط الويب التي تم تحميلها بواسطة CSS وتصاميم WebGL. يتم تحميل كل هذه الطلبات من خلال طلب HTTP. وكما هو موضّح سابقًا، ستتضمّن طلبات HTTP أي ملفات تعريف ارتباط تم ضبطها سابقًا في الموقع الإلكتروني الآخر، وعنوان IP للمستخدم الذي قدّم الطلب، وعنوان URL للصفحة الحالية كمُحيل. تضمّنت جميع طلبات الجهات الخارجية هذه البيانات تلقائيًا، على الرغم من الجهود المبذولة لتقليل أو عزل البيانات التي يتم تمريرها إلى جهات خارجية من خلال متصفّحات مختلفة، كما هو موضّح في قسم "فهم إجراءات حماية المتصفّحات التابعة لجهات خارجية" بشكل أكبر.

تضمين إطار iframe عبر المواقع

إذا كان لديك مستند كامل مضمَّن في صفحاتك من خلال <iframe> يمكن أن يطلب إذنًا إضافيًا للوصول إلى واجهات برمجة تطبيقات المتصفّح، بالإضافة إلى مجموعة كاملة من ملفات تعريف الارتباط وعنوان IP والمُحيل. يتم تحديد واجهات برمجة التطبيقات المتاحة لصفحات <iframe>d بالضبط وكيفية طلبها للوصول إلى كل متصفّح، ويتم إجراء تغييرات حاليًا عليها: يُرجى الاطّلاع على "سياسة الأذونات" أدناه لمعرفة الجهود الحالية التي تهدف إلى الحدّ من الوصول إلى واجهة برمجة التطبيقات أو مراقبتها في المستندات المضمَّنة.

تنفيذ JavaScript على عدة مواقع إلكترونية

يؤدي تضمين عنصر <script> إلى تحميل وتشغيل JavaScript في عدة مواقع إلكترونية في سياق المستوى الأعلى لصفحتك. يعني ذلك أنّ النص البرمجي الذي يتم تشغيله يتمتع بصلاحية كاملة للوصول إلى جميع العناصر التي تفعلها النصوص البرمجية للطرف الأول. ما زالت أذونات المتصفح تدير هذه البيانات، لذلك فإن طلب الموقع الجغرافي للمستخدم (على سبيل المثال) لا يزال يتطلب موافقة المستخدم. مع ذلك، فإنّ أي معلومات متوفّرة في الصفحة أو متوفّرة على شكل متغيّرات JavaScript يمكن استخدامها أيضًا، ولا يشمل ذلك فقط ملفات تعريف الارتباط التي يتم إرسالها إلى الجهة الخارجية كجزء من الطلب، بل يشمل أيضًا ملفات تعريف الارتباط المخصّصة لموقعك الإلكتروني وحده. وبالمثل، يمكن للنص البرمجي التابع لجهة خارجية الذي يتم تحميله على صفحتك إنشاء جميع طلبات HTTP نفسها التي تنفّذها الرموز البرمجية الخاصة بك، ما يعني أنّه قد يرسل طلبات fetch() إلى واجهات برمجة التطبيقات الخلفية للحصول على البيانات.

تضمين مكتبات تابعة لجهات خارجية في العناصر التابعة

كما هو موضح سابقًا، من المحتمل أن يتضمن الكود من جانب الخادم أيضًا على الأرجح تبعيات لجهات خارجية، ولا يمكن تمييزها عن التعليمات البرمجية الخاصة بك في قوتها؛ والرمز الذي تقوم بتضمينه من مستودع GitHub أو مكتبة لغة البرمجة (npm، وPyPI، وcomposer، وغيرها) يمكنه قراءة جميع البيانات نفسها التي يمكن للرمز البرمجي الآخر فيها.

التعرّف على الجهات الخارجية

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

إن كيفية الحصول على هذا الفهم هي عملية التدقيق.

التدقيق في الجهات الخارجية

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

إجراء تدقيق غير فني

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

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

إجراء تدقيق فني

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

اشترك للحصول على حساب جديد على موقعك الإلكتروني إذا قدّمت حسابات مستخدمين. سينسق فريق التصميم لديك عملية اكتساب المستخدم الجديدة هذه من منظور تجربة المستخدم، ولكن يمكن أن تكون توضيحية للتعامل معها من منظور الخصوصية. لا تنقر ببساطة على "قبول" في البنود والشروط أو على تحذير بشأن ملفات تعريف الارتباط أو سياسة الخصوصية، بل اضبط لنفسك مهمة استخدام خدمتك الخاصة بدون الكشف عن أي معلومات شخصية أو الاحتفاظ بأي ملفات تعريف ارتباط للتتبع، ومعرفة ما إذا كان بإمكانك تنفيذ ذلك، ومعرفة مدى صعوبة تنفيذه. قد يكون من المفيد أيضًا مراجعة أدوات المطوّرين في المتصفّح لمعرفة المواقع الإلكترونية التي يتم الوصول إليها والبيانات التي يتم نقلها إلى تلك المواقع الإلكترونية. توفّر أدوات المطوّرين قائمة بطلبات HTTP منفصلة (عادةً ما تكون في قسم يسمى "الشبكة")، ويمكنك أن ترى من هنا الطلبات المجمَّعة حسب النوع (HTML وCSS والصور والخطوط وJavaScript والطلبات التي بدأت من خلال JavaScript). من الممكن أيضًا إضافة عمود جديد لإظهار نطاق كل طلب، والذي سيوضح عدد الأماكن المختلفة التي يتم الاتصال بها، وقد يكون هناك مربع اختيار "طلبات الجهات الخارجية" لعرض الجهات الخارجية فقط. (قد يكون من المفيد أيضًا استخدام إعداد تقارير Content-Security-Policy لإجراء تدقيق متواصل، والذي يمكنك الاطلاع على مزيد من المعلومات حوله).

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

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

بعد تضييق نطاق قائمة الطلبات الموجَّهة إلى الجهات الخارجية التي تريد أن تكون جزءًا من عملية التدقيق، سيؤدي النقر على طلب فردي إلى عرض كل تفاصيله، وعلى وجه الخصوص، البيانات التي تم تمريرها إلى هذا الطلب. ومن الشائع جدًا أيضًا أن يستمر طلب الجهة الخارجية الذي يبدأ الرمز الخاص بك في تقديم العديد من طلبات الجهات الخارجية الأخرى. ويتم أيضًا "استيراد" هذه الجهات الخارجية الإضافية إلى سياسة الخصوصية التابعة لك. هذه المهمة شاقة ولكنها ذات قيمة، وغالبًا ما يمكن إدراجها في التحليلات الحالية. وينبغي أن يتولى فريق تطوير الواجهة الأمامية تدقيق الطلبات لأسباب تتعلق بالأداء (ربما بمساعدة الأدوات الحالية مثل WebPageTest أو Lighthouse)، ودمج البيانات وتدقيق الخصوصية في هذه العملية يمكن أن يسهِّل الأمر.

ربط طلب web.dev.
طلب خريطة (مبسّط للغاية) لـ web.dev يعرض مواقع إلكترونية تابعة لجهات خارجية تطلب مواقع إلكترونية أخرى تابعة لجهات خارجية، وما إلى ذلك

الإجراءات التي يُنصح بها

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

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

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

ملفات HAR والتقاطها

ملف HAR هو تنسيق JSON موحّد لجميع طلبات الشبكة التي ترسلها الصفحة. للحصول على ملف HAR لصفحة معينة، في:

Chrome

افتح أدوات مطوري البرامج في المتصفّح (القائمة > المزيد من الأدوات > أدوات المطوّرين)، وانتقل إلى لوحة الشبكة، وحمِّل (أو أعِد تحميل) الصفحة، واختَر رمز الحفظ الذي يظهر على شكل سهم متّجه للأسفل في أعلى يسار الشاشة بالقرب من القائمة المنسدلة "بدون تقييد".

لوحة شبكة Chrome DevTools مع تمييز رمز &quot;تنزيل HAR&quot;
Firefox

افتح أدوات المطوّرين في المتصفّح (القائمة > المزيد من الأدوات > أدوات مطوّري البرامج على الويب)، وانتقِل إلى لوحة الشبكة، حمِّل الصفحة (أو أعِد تحميل) الصفحة، ثم اختَر رمز الترس في أعلى يسار الشاشة بجانب القائمة المنسدلة للتقييد. من القائمة، اختَر حفظ الكل باسم HAR**.

لوحة شبكة أدوات المطوّرين في Firefox مع تمييز الخيار Save All As Har (حفظ الكل باسم Har).
برنامج المتصفح Safari

افتح أدوات مطوّري برامج المتصفِّح (القائمة > تطوير > إظهار عارض الويب، إذا لم تكن لديك قائمة تطوير، ثم فعِّلها من القائمة > Safari > الإعدادات المُفضَّلة > إظهار قائمة التطوير في شريط القوائم)، ثم انتقِل إلى لوحة الشبكة، وحمِّل (أو أعِد تحميل) الصفحة، واختر تصدير في أعلى يسار الشاشة (على يسار الاحتفاظ بالسجلّ، وقد تحتاج إلى تكبير النافذة).

لوحة شبكة Safari Web Inspector Network (شبكة فحص الويب في Safari) مع تمييز خيار تصدير HAR

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

أفضل الممارسات عند دمج الجهات الخارجية

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

عند إضافة زر مشاركة على وسائل التواصل الاجتماعي

ننصحك بتضمين أزرار HTML مباشرةً: يحتوي الموقع https://sharingbuttons.io/ على بعض الأمثلة المُصمَّمة بعناية. أو يمكنك إضافة روابط HTML عادية. المقايضة هنا أنك تفقد إحصائية "عدد المشاركات" وقدرتك على تصنيف عملائك في إحصاءات Facebook. هذا مثال على المفاضلة بين الاستعانة بمقدّم خدمة خارجي وتلقّي بيانات أقل لتحليل البيانات.

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

على سبيل المثال، يمكنك إضافة روابط لـ Twitter وFacebook لمشاركة خدمتك على mysite.example.com كما يلي:

<a href="https://facebook.com/sharer/sharer.php?u=https%3A%2F%2Fmysite.example.com"
   rel="noopener" aria-label="Share on Facebook" target="_blank" >Share on Facebook</a>
<a href="https://twitter.com/intent/tweet/?text=My%20cool%20service!&amp;url=https%3A%2F%2Fmysite.example.com"
   rel="noopener" aria-label="Share on Twitter" target="_blank">Share on Twitter</a>

تجدر الإشارة إلى أنّ Facebook يسمح بتحديد عنوان URL لمشاركته، بينما يسمح Twitter بتحديد عنوان URL وبعض النصوص.

عند تضمين فيديو

عندما تحمّل فيديوهات من مواقع استضافة فيديو، ابحث عن خيارات الحفاظ على الخصوصية في رمز التضمين. على سبيل المثال، في YouTube، يمكنك استبدال youtube.com في عنوان URL المضمَّن بـ www.youtube-nocookie.com لتجنُّب تتبُّع ملفات تعريف الارتباط التي يتم وضعها للمستخدمين الذين يطّلعون على صفحة التضمين. ويمكنك أيضًا تحديد "تفعيل الوضع المحسّن للخصوصية" عند إنشاء رابط مشاركة/تضمين من YouTube نفسه. وهذا مثال جيد على استخدام وضع أكثر حماية للمستخدم الذي توفره الجهة الخارجية. (يقدّم https://support.google.com/youtube/answer/171780 وصفًا مفصَّلاً وخيارات التضمين الأخرى لمنصة YouTube تحديدًا).

في هذا الصدد، تتوفر خيارات أقل في مواقع فيديوهات أخرى: على سبيل المثال، لا يوفّر TikTok طريقة لتضمين الفيديو بدون تتبُّعه في وقت كتابة هذا التقرير. من الممكن استضافة الفيديوهات بنفسك (باستخدام بديل)، ولكن قد يتطلّب الأمر الكثير من العمل، لا سيّما التوافق مع العديد من الأجهزة.

كما هو الحال مع التطبيقات المصغّرة التفاعلية التي تمت مناقشتها سابقًا، يمكن في أغلب الأحيان استبدال فيديو مضمّن برابط إلى موقع الويب المقدّم. يعتبر هذا الخيار أقل تفاعلية لأنّه لا يمكن تشغيل الفيديو بشكل مضمّن، ولكنه يترك خيار المشاهدة مع المستخدم. ويمكن استخدام ذلك كمثال على "نمط الواجهة"، وهو اسم لاستبدال المحتوى التفاعلي ديناميكيًا بشيء يتطلب من المستخدم اتخاذ إجراء لتشغيله. يمكن استبدال فيديو على TikTok مضمّن برابط عادي ينقلك إلى صفحة الفيديو على TikTok، ولكن كلّما بذلت جهدًا إضافيًا، يمكنك استرداد صورة مصغّرة للفيديو وعرضها وإنشاء الرابط المؤدي إليها. حتى إذا لم يكن موفّر خدمة الفيديو الذي تم اختياره يوفّر طريقة سهلة لتضمين الفيديوهات بدون تتبُّع، يتيح العديد من مضيفي الفيديو استخدام oEmbed، وهي واجهة برمجة تطبيقات تعرض تفاصيل آلية عند توفّر رابط يؤدي إلى فيديو أو محتوى مضمّن، بما في ذلك الصورة المصغّرة والعنوان. يتيح TikTok استخدام oتضمين (راجِع https://developers.tiktok.com/doc/embed-videos) لمعرفة التفاصيل، وهذا يعني أنّه يمكنك (يدويًا أو آليًا) تحويل رابط يؤدي إلى فيديو على TikTok https://www.tiktok.com/@scout2015/video/6718335390845095173 إلى بيانات وصفية بتنسيق JSON لهذا الفيديو باستخدام https://www.tiktok.com/oembed?url=https://www.tiktok.com/@scout2015/video/6718335390845095173، وبالتالي استرداد صورة مصغّرة لعرضها. ويستخدم WordPress هذه المعلومات غالبًا لطلب معلومات oembed في المحتوى المضمَّن، على سبيل المثال. يمكنك استخدام هذه الواجهة آليًا لعرض "واجهة" تبدو تفاعلية وتتبدّل لتضمين فيديو تفاعلي أو إنشاء رابط إليه عندما يختار المستخدم النقر عليه.

عند تضمين نصوص برمجية خاصة بالإحصاءات

تم تصميم "إحصاءات Google" لجمع معلومات عن المستخدمين بحيث يمكن تحليلها: هذا هو الغرض منها. أنظمة "إحصاءات Google" هي في الأساس خدمات لجمع البيانات عن أذونات الوصول والمستخدمين وعرضها، ويتم إجراء ذلك على خادم تابع لجهة خارجية مثل "إحصاءات Google" لتسهيل عملية التنفيذ. تتوفّر أيضًا أنظمة تحليلات ذاتية الاستضافة، مثل https://matomo.org/، علمًا أنّ هذا الإجراء يتطلّب الكثير من الجهد بدلاً من استخدام حلّ تابع لجهة خارجية لإجراء ذلك. ومع ذلك، يساعدك تشغيل مثل هذا النظام على بنيتك الأساسية في الحد من جمع البيانات، لأنه لا يغادر المنظومة المتكاملة الخاصة بك. من ناحية أخرى، فإن إدارة تلك البيانات وإزالتها ووضع سياسات لها تصبح على عاتقك. إنّ الكثير من القلق بشأن التتبُّع بين المواقع الإلكترونية يحدث عندما يتم ذلك في سرّية وسريّة أو كآثار جانبية لاستخدام خدمة لا تتطلّب جمع بيانات على الإطلاق. تم تصميم برنامج Analytics بشكل صريح لجمع البيانات من أجل إعلام مالكي المواقع بمستخدميهم.

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

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

وكانت المفاضلة في التحليلات تُستخدم فقط لتحديد ما إذا كنت ستستخدمها أم لا: جمع كل البيانات وتعريض الخصوصية في مقابل الحصول على الإحصاءات والتخطيط، أو التخلي عن الإحصاءات تمامًا. ومع ذلك، لم يعد الأمر كذلك، وغالبًا ما تتوفّر الآن نقطة وسط يمكن العثور عليها بين هذين الطرفين. تحقق من مزود التحليلات للتعرف على خيارات التهيئة للحدّ من البيانات التي يتم جمعها وتقليل مقدار ومدة التخزين. نظرًا لأن لديك السجلات من التدقيق الفني الموصوفة سابقًا، يمكنك إعادة تشغيل الأقسام ذات الصلة من عملية التدقيق هذه للتأكد من أن تغيير عمليات الضبط هذه يؤدي في الواقع إلى تقليل مقدار البيانات التي يتم جمعها. إذا كنت تجري هذا الانتقال على موقع حالي، فيمكن أن يمنحك ذلك بعض القياس القابل للقياس الذي يمكن كتابته للمستخدمين. على سبيل المثال، تحتوي "إحصاءات Google" على عدد من ميزات الخصوصية المفعَّلة (وبالتالي إيقاف هذه الميزات تلقائيًا)، قد يكون العديد منها مفيدًا للالتزام بالقوانين المحلية لحماية البيانات. وتشمل بعض الخيارات التي يجب وضعها في الاعتبار عند إعداد "إحصاءات Google" ضبط فترة الاحتفاظ بالبيانات التي يتم جمعها (المشرف > معلومات التتبّع > الاحتفاظ بالبيانات) على قيمة أقل من الخيارات التلقائية البالغة 26 شهرًا، وتفعيل بعض الحلول الأكثر تقنية مثل إخفاء هوية بروتوكول الإنترنت بشكل جزئي (راجع https://support.google.com/analytics/answer/9019185 للحصول على مزيد من التفاصيل).

استخدام جهات خارجية بطريقة تحافظ على الخصوصية

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

سياسة المُحيل

الإجراءات التي يُنصح بها

يمكنك ضبط سياسة strict-origin-when-cross-origin أو noreferrer لمنع المواقع الإلكترونية الأخرى من تلقّي عنوان المُحيل عند الربط بها أو عند تحميلها كموارد فرعية بواسطة الصفحة:

index.html:
<meta name="referrer" content="strict-origin-when-cross-origin" />

أو من جهة الخادم، على سبيل المثال في Express:

const helmet = require('helmet');
app.use(helmet.referrerPolicy({policy: 'strict-origin-when-cross-origin'}));

ويمكنك ضبط سياسة أكثر مرونة في ما يتعلّق بعناصر أو طلبات معيّنة، إذا لزم الأمر.

سبب حماية خصوصية المستخدم

بشكل تلقائي، يتم تمرير كل طلب HTTP يجريه المتصفّح على عنوان Referer الذي يحتوي على عنوان URL للصفحة التي تبدأ الطلب، سواء كان رابطًا أو صورة مضمّنة أو نصًا برمجيًا. قد تكون هذه مشكلة متعلقة بالخصوصية، لأنّه يمكن أن تحتوي عناوين URL على معلومات خاصة، وبالتالي تنقل عناوين URL المتاحة للجهات الخارجية هذه المعلومات الخاصة إلى تلك العناوين. يدرج Web.dev بعض الأمثلة على عناوين URL التي تحتوي على بيانات خاصة، مع العلم بأنّ المستخدم الذي انتقل إلى موقعك الإلكتروني من خلال https://social.example.com/user/me@example.com يُطلعك على هوية هذا المستخدم، ما يُعتبر تسرُّبًا نهائيًا. وفي المقابل، حتى عنوان URL الذي لا يكشف في حد ذاته عن معلومات خاصة يكشف عن أنّ هذا المستخدم تحديدًا (الذي قد تعرفه، في حال تسجيل الدخول) قد أتى إلى هنا من موقع إلكتروني آخر، ما يكشف أنّ هذا المستخدم قد زار الموقع الإلكتروني الآخر. وهذا في حد ذاته عرض للمعلومات التي ربما يجب عليك عدم معرفتها عن سجل تصفح المستخدم.

يتيح لك توفير عنوان Referrer-Policy (بتهجئة صحيحة) إمكانية تغيير هذا العنوان بحيث يتم تمرير جزء من عنوان URL للإحالة أو عدم تمريره مطلقًا. يسرد MDN تفاصيل كاملة، إلا أنّ معظم المتصفحات اعتمدت الآن قيمة مفترضة هي strict-origin-when-cross-origin تلقائيًا، ما يعني أنّه يتم الآن تمرير عنوان URL المُحيل إلى جهات خارجية فقط كمصدر فقط (https://web.dev بدلاً من https://web.dev/learn/privacy). وتشكّل هذه الطريقة حماية خصوصية مفيدة بدون الحاجة إلى اتّخاذ أي إجراء. يمكنك زيادة نطاق ذلك من خلال تحديد Referrer-Policy: same-origin لتجنّب تمرير أي معلومات عن المُحيل على الإطلاق إلى جهات خارجية (أو Referrer-Policy: no-referrer لتجنّب تمريرها إلى أي جهة، بما في ذلك المصدر الخاص بك). (هذا مثال رائع على التوازن بين الخصوصية والبرنامج، فالإعداد التلقائي الجديد يحافظ على الخصوصية بشكل أكبر من ذي قبل، ولكنه لا يزال يوفّر معلومات عالية المستوى للجهات الخارجية التي تختارها، مثل مقدّم خدمة التحليلات الذي تتعامل معه.)

ومن المفيد أيضًا تحديد هذا العنوان بشكلٍ صريح لأنك حين تعرف بالضبط ما هي السياسة، بدلاً من الاعتماد على الإعدادات التلقائية للمتصفِّح. إذا لم تتمكّن من ضبط العناوين، من الممكن ضبط سياسة المُحيل لصفحة HTML كاملة باستخدام عنصر وصفي في <head>: <meta name="referrer" content="same-origin">. وإذا كنت قلقًا بشأن جهات خارجية معيّنة، من الممكن أيضًا ضبط سمة referrerpolicy على عناصر فردية، مثل <script> أو <a> أو <iframe>: <script src="https://thirdparty.example.com/data.js" referrerpolicy="no-referrer">

سياسة أمان المحتوى

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

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

لحسن الحظ، تتوافق المتصفحات مع عنوان Content-Security-Policy-Report-Only ذي صلة. إذا تم توفير هذا العنوان، لن يتم حظر الطلبات التي تنتهك السياسة المقدَّمة، ولكن سيتم إرسال تقرير JSON إلى عنوان URL المقدَّم. قد يبدو هذا العنوان على النحو التالي: Content-Security-Policy-Report-Only: script-src 3p.example.com; report-uri https://example.com/report/، وإذا حمّل المتصفّح نصًا برمجيًا من أي مكان بخلاف 3p.example.com، سينجح هذا الطلب ولكن سيتم إرسال تقرير إلى report-uri المقدَّم. عادةً ما يتم استخدام ذلك لتجربة إحدى السياسات قبل تنفيذها، ولكن هناك فكرة مفيدة هنا وهي استخدام ذلك كطريقة لإجراء "تدقيق مستمر". بالإضافة إلى التدقيق المنتظم الذي تم توضيحه سابقًا، يمكنك تفعيل إعداد تقارير CSP لمعرفة ما إذا ظهرت أي نطاقات غير متوقعة، ما قد يعني أن موارد الجهات الخارجية تُحمِّل مواردها الخاصة، لذا عليك وضعها في الاعتبار وتقييمها. (قد تكون هذه إشارة أيضًا إلى أنّ بعض عمليات استغلال النصوص البرمجية على المواقع الإلكترونية قد تجاوزت حدود الأمان الخاصة بك، وهو أمر من المهم أيضًا معرفة ذلك).

Content-Security-Policy هي واجهة برمجة تطبيقات معقدة وموثوقة يمكن استخدامها. هذا معروف، ونعمل على تطوير "الجيل التالي" من سياسة أمان المحتوى (CSP) الذي سيحقق الأهداف نفسها ولكن ليس معقدًا إلى حد كبير للاستخدام. هذا غير جاهز بعد، ولكن إذا كنت ترغب في معرفة تفاصيله (أو للمشاركة والمساعدة في تصميمه.) يمكنك الانتقال إلى https://github.com/WICG/csp-next لمزيد من التفاصيل.

الإجراءات التي يُنصح بها

أضِف عنوان HTTP هذا إلى الصفحات المعروضة: Content-Security-Policy-Report-Only: default-src 'self'; report-uri https://a-url-you-control. وعند نشر ملف JSON على عنوان URL هذا، يمكنك تخزينه. راجِع البيانات المخزَّنة للحصول على مجموعة من النطاقات التابعة لجهات خارجية التي يطلبها موقعك الإلكتروني عند زيارة أشخاص آخرين. عدِّل عنوان Content-Security-Policy-Report-Only لإدراج النطاقات التي تتوقعها، لمعرفة وقت تغيير هذه القائمة:

Content-Security-Policy-Report-Only: default-src 'self' https://expected1.example.com https://expected2.example.com ; report-uri https://a-url-you-control

أهمية

ويشكّل ذلك جزءًا من تدقيقك الفني بشكل مستمر. سيمنحك التدقيق الفني الأولي الذي أجريته قائمة بالجهات الخارجية التي يشارك موقعك الإلكتروني بيانات المستخدمين أو يمرّرها إليها. سيتسبب هذا العنوان بعد ذلك في إبلاغ طلبات الصفحات بالجهات الخارجية التي يتم الاتصال بها، ويمكنك تتبع التغييرات بمرور الوقت. لا تنبهك هذه الميزة بالتغييرات التي تجريها الجهات الخارجية الحالية فحسب، بل تشير أيضًا إلى الجهات الخارجية التي تمت إضافتها مؤخرًا ولم تتم إضافتها إلى التدقيق الفني. من المهم تعديل العنوان لإيقاف الإبلاغ عن النطاقات التي تتوقعها، ولكن من المهم أيضًا تكرار التدقيق الفني اليدوي من حين لآخر (لأن أسلوب Content-Security-Policy لا يحدِّد أنواع البيانات التي تم تمريرها، بل يتم فقط تقديم طلب).

تجدر الإشارة إلى أنّه لا حاجة إلى إضافته إلى الصفحات التي يتمّ عرضها في كل مرّة أو كل صفحة. قم بتقليل عدد ردود الصفحة التي تتلقى العنوان حتى تتلقى عينة تمثيلية من التقارير ليست مرهقة بالكم.

سياسة الأذونات

يتشابه عنوان Permissions-Policy (الذي تم تقديمه تحت اسم Feature-Policy) في مفهوم Content-Security-Policy، ولكنه يحظر الوصول إلى الميزات الفعّالة في المتصفّح. على سبيل المثال، من الممكن حظر استخدام معدّات الجهاز، مثل مقياس التسارع أو الكاميرا أو أجهزة USB، أو حظر الميزات غير المتعلقة بالأجهزة مثل إذن الانتقال إلى وضع ملء الشاشة أو استخدام واجهة برمجة التطبيقات XMLHTTPRequest المتزامنة. ويمكن تطبيق هذه القيود على صفحة المستوى الأعلى (لتجنُّب محاولة النصوص البرمجية المُحمَّلة من محاولة استخدام هذه الميزات) أو على الصفحات ذات الإطار الفرعي والتي تم تحميلها عبر إطار iframe. لا يقتصر فرض هذا التقييد على استخدام واجهة برمجة التطبيقات على بصمة الإصبع في المتصفّح، بل يشمل منع الجهات الخارجية من تنفيذ إجراءات متداخلة (مثل استخدام واجهات برمجة تطبيقات فعّالة أو فتح نوافذ الأذونات المنبثقة، أو غير ذلك). ويُعرَّف ذلك من خلال نموذج "التهديدات المتعلّقة بالخصوصية المستهدفة" على أنّه "تسلّل".

يتم تحديد عنوان Permissions-Policy كقائمة من الأزواج (الميزة، المصادر المسموح بها)، وبالتالي:

Permissions-Policy: geolocation=(self "https://example.com"), camera=(), fullscreen=*

يسمح هذا المثال لهذه الصفحة ("ذاتها") و<iframe> من أصل example.com باستخدام واجهات برمجة تطبيقات navigator.geolocation من JavaScript، ويسمح لهذه الصفحة وكل الإطارات الفرعية باستخدام واجهة برمجة تطبيقات ملء الشاشة، ويمنع أي صفحة، بما فيها هذه الصفحة، من استخدام كاميرا لقراءة معلومات الفيديو. يمكنك الاطّلاع على المزيد من التفاصيل وقائمة بالأمثلة المحتملة هنا.

قائمة الميزات التي يعالجها عنوان "سياسة الأذونات" كبيرة وقد تكون متغيرة. في الوقت الحالي، يتم الاحتفاظ بالقائمة على الرابط https://github.com/w3c/webappsec-permissions-policy/blob/main/features.md.

الإجراءات التي يُنصح بها

المتصفِّحات التي تتيح Permissions-Policy لا تسمح بالميزات الفعّالة في الإطارات الفرعية تلقائيًا، وعليك اتّخاذ إجراء لتفعيلها. هذه الطريقة خاصة بشكلٍ تلقائي. إذا وجدت أن الإطارات الفرعية على موقعك تتطلب هذه الأذونات، فيمكنك إضافتها بشكل انتقائي. يُرجى العِلم بأنّه لا يتم تلقائيًا تطبيق سياسة أذونات على الصفحة الرئيسية، وبالتالي لا يتم حظر استخدام هذه الميزات على النصوص البرمجية (بما في ذلك النصوص البرمجية التابعة لجهات خارجية) التي تم تحميلها في الصفحة الرئيسية. ولهذا السبب، من المفيد تطبيق علامة Permissions-Policy مشروطة على كل الصفحات تلقائيًا، ثم إعادة إضافة الميزات التي تتطلّبها صفحاتك تدريجيًا.

تشمل أمثلة الميزات الفعّالة التي تؤثر في Permissions-Policy طلب معلومات عن الموقع الجغرافي للمستخدم وإمكانية الوصول إلى أجهزة الاستشعار (بما في ذلك مقياس التسارع والجيروسكوب ومقياس المغناطيسية) وإذن الانتقال إلى وضع ملء الشاشة وطلب الوصول إلى كاميرا المستخدم والميكروفون. تجدُر الإشارة إلى أنّ القائمة الكاملة (المتغيرة) للميزات مرتبطة أعلاه.

للأسف، يتطلب حظر جميع الميزات بشكل افتراضي ثم إعادة السماح بها بشكل انتقائي إدراج جميع الميزات في العنوان، وهو ما قد يبدو غير لائق إلى حد ما. ومع ذلك، ننصحك ببدء استخدام عنوان Permissions-Policy هذا. يتضمّن permissionspolicy.com/ أداة يمكن النقر عليها بسهولة لإنشاء عنوان مثل هذا العنوان: وذلك من خلال استخدامه لإنشاء عنوان يوقِف جميع الميزات ويؤدي إلى ما يلي:

Permissions-Policy: accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(),
display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(),
fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(),
payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=()

فهم ميزات الخصوصية المضمَّنة في متصفّحات الويب

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

وهي تشمل الحماية من التتبُّع الذكي في Safari (ومحرك WebKit الأساسي) والحماية المُحسَّنة من التتبُّع في Firefox (ومحركه Gecko). وكل ذلك يجعل من الصعب على الجهات الخارجية إنشاء ملفات شخصية تفصيلية للمستخدمين.

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

Chrome

  • نهدف إلى حظر ملفات تعريف الارتباط التابعة لجهات خارجية في المستقبل. بناءً على ذلك، لن يتم حظرها تلقائيًا (ولكن يمكن للمستخدم تفعيلها): https://support.google.com/chrome/answer/95647 تعرض التفاصيل.
  • يمكنك الاطّلاع على ميزات الخصوصية في Chrome، وخاصةً الميزات المتوفّرة في Chrome التي تتصل مع Google وخدمات الجهات الخارجية، على privacysandbox.com/.

Edge

  • لا يتم حظر ملفات تعريف الارتباط التابعة لجهات خارجية تلقائيًا (ولكن يمكن للمستخدم تفعيلها).
  • تعمل ميزة منع التتبع في Edge على حظر أجهزة التتبع من المواقع التي لم تتم زيارتها، ويتم تلقائيًا حظر أدوات التتبع الضارة المعروفة.

Firefox

  • لا يتم حظر ملفات تعريف الارتباط التابعة لجهات خارجية تلقائيًا (ولكن يمكن للمستخدم تفعيلها).
  • يتم حظر الحماية المُحسّنة من التتبُّع في Firefox بواسطة ملفات تعريف ارتباط التتبُّع التلقائية، والنصوص البرمجية ذات بصمات الأصابع، والنصوص البرمجية لبرامج المشفَّرة، وأدوات التتبُّع المعروفة. (https://support.mozilla.org/kb/trackers-and-scripts-firefox-blocks-enhanced-track يمكنك توفير بعض التفاصيل الإضافية).
  • تكون ملفات تعريف الارتباط التابعة لجهات خارجية مقيّدة بعدد من المواقع الإلكترونية، لذلك يحتوي كل موقع إلكتروني بشكل أساسي على حاوية منفصلة لملفات تعريف الارتباط ولا يمكن ربطه على مستوى المواقع الإلكترونية (تُطلق خدمة Mozilla على ذلك اسم "إجمالي الحماية لملفات تعريف الارتباط".

للحصول على بعض الإحصاءات حول ما قد يتم حظره وللمساعدة في تصحيح الأخطاء، انقر على رمز الدرع في شريط العناوين أو انتقِل إلى about:protections في متصفّح Firefox (على جهاز الكمبيوتر المكتبي).

برنامج المتصفح Safari

  • يتم تلقائيًا حظر ملفات تعريف الارتباط التابعة لجهات خارجية.
  • كجزء من ميزة منع التتبع الذكي، يقلل Safari المُحيل الذي يتم تمريره إلى الصفحات الأخرى ليكون موقعًا من المستوى الأعلى بدلاً من صفحة محددة: (https://something.example.com، بدلاً من https://something.example.com/this/specific/page).
  • يتم حذف بيانات localStorage الخاصة بالمتصفح بعد سبعة أيام.

(https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/ يلخّص هذه الميزات.)

للاطّلاع على بعض المعلومات حول ما قد يكون محظورًا وللمساعدة في تصحيح الأخطاء، يمكنك تفعيل وضع تصحيح الأخطاء "منع التتبع الذكي" في قائمة المطوّر في Safari (على الكمبيوتر المكتبي). (لمزيد من التفاصيل، يمكنك الاطّلاع على https://webkit.org/blog/9521/intelligent-tracking-prevention-2-3/).

عروض واجهات برمجة التطبيقات

لماذا نحتاج إلى واجهات برمجة تطبيقات جديدة؟

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

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

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

أمثلة على عروض واجهة برمجة التطبيقات

القائمة التالية ليست شاملة - إنها نكهة بعض ما تتم مناقشته.

أمثلة على اقتراحات واجهات برمجة التطبيقات لاستبدال التكنولوجيات المستندة إلى ملفات تعريف الارتباط التابعة لجهات خارجية:

أمثلة على اقتراحات واجهات برمجة التطبيقات لاستبدال التكنولوجيات القائمة على التتبُّع السلبي:

أمثلة على الاقتراحات الأخرى التي يمكن أن تعتمدها واجهات برمجة التطبيقات الأخرى في المستقبل بدون ملفات تعريف الارتباط التابعة لجهات خارجية:

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

Global-Privacy-Control عنوان يهدف إلى التواصل مع موقع إلكتروني لا يريد المستخدم مشاركة أي بيانات شخصية يتم جمعها مع مواقع إلكترونية أخرى. إنّ هدفها مشابه للخيار "عدم التعقب" الذي تم إيقافه نهائيًا.

حالة اقتراحات واجهة برمجة التطبيقات

لم يتم نشر معظم اقتراحات واجهات برمجة التطبيقات هذه إلى الآن، أو يتم نشرها فقط بعد العلامات أو في بيئات محدودة لإجراء التجارب.

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

أفضل مكان للاطّلاع على أحدث المعلومات المتعلّقة بواجهات برمجة التطبيقات الجديدة المقترَحة هو حاليًا قائمة الاقتراحات لمجموعة الخصوصية على جيت هب.

هل تحتاج إلى استخدام واجهات برمجة التطبيقات هذه؟

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