chrome.privacy

الوصف

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

الأذونات

privacy

يجب الإفصاح عن "الخصوصية" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات. بالنسبة مثال:

{
  "name": "My extension",
  ...
  "permissions": [
    "privacy"
  ],
  ...
}

المفاهيم والاستخدام

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

chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

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

يعني ذلك أنّه عليك استخدام طريقة get() لتحديد مستوى الوصول، وعندئذٍ فقط الاتصال بـ set() إذا كان بإمكان الإضافة التحكم في الإعداد (في الواقع إذا لم تتمكن الإضافة من التحكم في الإعداد، قد يكون من الجيد تعطيل الميزة بصريًا لتقليل عدد المستخدمين الالتباس):

chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
      if (chrome.runtime.lastError === undefined) {
        console.log("Hooray, it worked!");
      } else {
        console.log("Sadness!", chrome.runtime.lastError);
      }
    });
  }
});

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

chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
  function (details) {
    // The new value is stored in `details.value`, the new level of control
    // in `details.levelOfControl`, and `details.incognitoSpecific` will be
    // `true` if the value is specific to Incognito mode.
  }
);

أمثلة

لتجربة واجهة برمجة التطبيقات هذه، عليك تثبيت مثال على واجهة برمجة تطبيقات الخصوصية من chrome-extension-samples المستودع.

الأنواع

IPHandlingPolicy

الإصدار 48 من Chrome أو الإصدارات الأحدث

سياسة معالجة عنوان IP في WebRTC.

Enum

"التلقائية"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

أماكن إقامة

network

الإعدادات التي تؤثر في معالجة Chrome لاتصالات الشبكة بشكل عام.

النوع

كائن

أماكن إقامة

  • networkPredictionEnabled

    types.ChromeSetting<boolean>

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

  • webRTCIPHandlingPolicy
    الإصدار 48 من Chrome أو الإصدارات الأحدث

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

services

الإعدادات التي تفعّل أو توقِف الميزات التي تتطلب خدمات شبكة تابعة لجهات خارجية توفّرها Google ومزوّد البحث التلقائي.

النوع

كائن

أماكن إقامة

  • alternateErrorPagesEnabled

    types.ChromeSetting<boolean>

    في حال تفعيل هذا الإعداد، يستخدم Chrome خدمة ويب للمساعدة على حل أخطاء التنقّل. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على true.

  • autofillAddressEnabled

    types.ChromeSetting<boolean>

    الإصدار 70 من Chrome أو الإصدارات الأحدث

    في حال تفعيل هذا الإعداد، يعرض Chrome ملء العناوين وبيانات النموذج الأخرى تلقائيًا. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على true.

  • autofillCreditCardEnabled

    types.ChromeSetting<boolean>

    الإصدار 70 من Chrome أو الإصدارات الأحدث

    في حال تفعيل هذا الإعداد، يعرض Chrome ملء نماذج بطاقات الائتمان تلقائيًا. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على true.

  • autofillEnabled

    types.ChromeSetting<boolean>

    متوقّف منذ إصدار Chrome 70

    يُرجى استخدام privacy.services.autofillAddressEnabled وprivacy.services.autofillCreditCardEnabled. يبقى هذا الخيار متعلقًا بالتوافق مع الأنظمة القديمة في هذا الإصدار، وستتم إزالته في المستقبل.

    في حال تفعيل هذا الإعداد، يعرض Chrome ملء النماذج تلقائيًا. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على true.

  • passwordSavingEnabled

    types.ChromeSetting<boolean>

    في حال تفعيل هذه الميزة، سيسألك مدير كلمات المرور عمّا إذا كنت تريد حفظ كلمات المرور. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على true.

  • safeBrowsingEnabled

    types.ChromeSetting<boolean>

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

  • safeBrowsingExtendedReportingEnabled

    types.ChromeSetting<boolean>

    في حال تفعيل السياسة، سيرسل Chrome معلومات إضافية إلى Google عندما تحظر ميزة "التصفح الآمن" إحدى الصفحات، مثل محتوى الصفحة المحظورة. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على false.

  • searchSuggestEnabled

    types.ChromeSetting<boolean>

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

  • spellingServiceEnabled

    types.ChromeSetting<boolean>

    في حال تفعيل هذا الإعداد، يستخدم Chrome خدمة ويب للمساعدة في تصحيح الأخطاء الإملائية. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على false.

  • translationServiceEnabled

    types.ChromeSetting<boolean>

    في حال تفعيل هذا الإعداد، يعرض Chrome ترجمة الصفحات المكتوبة بلغة غير لغتك. قيمة هذا الإعداد المفضّل منطقية، ويتم ضبطها تلقائيًا على true.

websites

الإعدادات التي تحدد المعلومات التي يوفرها Chrome لمواقع الويب.

النوع

كائن

أماكن إقامة

  • adMeasurementEnabled

    types.ChromeSetting<boolean>

    الإصدار 111 من Chrome أو الإصدارات الأحدث

    في حال إيقاف السياسة، يتم إيقاف Attribution Reporting API وPrivacy Aggregation API. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي true. ويمكن للإضافات إيقاف واجهات برمجة التطبيقات هذه فقط من خلال ضبط القيمة على false. إذا حاولت ضبط واجهات برمجة التطبيقات هذه على true، سيؤدي ذلك إلى حدوث خطأ.

  • doNotTrackEnabled

    types.ChromeSetting<boolean>

    الإصدار 65 من Chrome أو الإصدارات الأحدث

    في حال تفعيل هذا الإعداد، يرسل Chrome ميزة "عدم التعقب" (DNT: 1) مع طلباتك. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي false.

  • fledgeEnabled

    types.ChromeSetting<boolean>

    الإصدار 111 من Chrome أو الإصدارات الأحدث

    وفي حال إيقافها، يتم إيقاف Fledge API. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي true. ويمكن للإضافات إيقاف واجهة برمجة التطبيقات هذه فقط من خلال ضبط القيمة على false. إذا حاولت ضبط واجهة برمجة التطبيقات هذه على true، سيؤدي ذلك إلى حدوث خطأ.

  • hyperlinkAuditingEnabled

    types.ChromeSetting<boolean>

    في حال تفعيل هذا الإعداد، يُرسِل Chrome إشعارات تدقيق عندما يطلبها أحد المواقع الإلكترونية (<a ping>). تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي true.

  • protectedContentEnabled

    types.ChromeSetting&lt;boolean&gt;

    متوفّرة على نظامَي التشغيل Windows وChromeOS فقط: عند تفعيل هذا الإعداد، يوفّر Chrome معرّفًا فريدًا للمكوّنات الإضافية لتشغيل المحتوى المحمي. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي true.

  • referrersEnabled

    types.ChromeSetting&lt;boolean&gt;

    في حال تفعيل هذا الإعداد، يرسِل Chrome referer عنوان مع طلباتك. نعم، لا يتطابق اسم هذا الخيار المفضّل مع العنوان الذي يحتوي على خطأ إملائي. لا، لن نغيرها. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي true.

  • relatedWebsiteSetsEnabled

    types.ChromeSetting&lt;boolean&gt;

    الإصدار 121 من Chrome أو الإصدارات الأحدث

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

  • thirdPartyCookiesAllowed

    types.ChromeSetting&lt;boolean&gt;

    وفي حال إيقاف السياسة، سيحظر Chrome المواقع الإلكترونية التابعة لجهات خارجية من ضبط ملفات تعريف الارتباط. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي true.

  • topicsEnabled

    types.ChromeSetting&lt;boolean&gt;

    الإصدار 111 من Chrome أو الإصدارات الأحدث

    وفي حال إيقافها، يتم إيقاف Topics API. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي true. ويمكن للإضافات إيقاف واجهة برمجة التطبيقات هذه فقط من خلال ضبط القيمة على false. إذا حاولت ضبط واجهة برمجة التطبيقات هذه على true، سيؤدي ذلك إلى حدوث خطأ.