chrome.privacy

الوصف

استخدِم واجهة برمجة التطبيقات chrome.privacy للتحكّم في استخدام الميزات في Chrome التي يمكن أن تؤثر في خصوصية المستخدم. تعتمد واجهة برمجة التطبيقات هذه على النموذج الأولي ChromeSetting من واجهة برمجة التطبيقات من النوع API للحصول على إعدادات 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.
  }
);

أمثلة

لتجربة واجهة برمجة التطبيقات هذه، ثبِّت مثال واجهة برمجة التطبيقات privacy API من مستودع chrome-extension-samples.

الأنواع

AutofillBlockedType

الإصدار Chrome 151 والإصدارات الأحدث

فئات بيانات الملء التلقائي.

تعداد

"contact_info"

"payments"

"identity_docs"

"travel"

"all"

IPHandlingPolicy

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

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

تعداد

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

الخصائص

network

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

النوع

عنصر

الخصائص

  • networkPredictionEnabled

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

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

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

services

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

النوع

عنصر

الخصائص

  • alternateErrorPagesEnabled

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

  • autofillAddressEnabled
    الإصدار Chrome 70 والإصدارات الأحدث

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

  • autofillCreditCardEnabled
    الإصدار Chrome 70 والإصدارات الأحدث

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

  • autofillEnabled
    تم إيقاف هذه الميزة نهائيًا منذ الإصدار Chrome 70

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

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

  • passwordSavingEnabled

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

  • safeBrowsingEnabled

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

  • safeBrowsingExtendedReportingEnabled

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

  • searchSuggestEnabled

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

  • spellingServiceEnabled

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

  • translationServiceEnabled

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

websites

الإعدادات التي تحدّد المعلومات التي يتيحها Chrome للمواقع الإلكترونية.

النوع

عنصر

الخصائص

  • adMeasurementEnabled
    الإصدار Chrome 111 والإصدارات الأحدث

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

  • doNotTrackEnabled
    الإصدار Chrome 65 والإصدارات الأحدث

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

  • fledgeEnabled
    الإصدار Chrome 111 والإصدارات الأحدث

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

  • hyperlinkAuditingEnabled

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

  • protectedContentEnabled

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

  • referrersEnabled

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

  • relatedWebsiteSetsEnabled
    الإصدار Chrome 121 والإصدارات الأحدث

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

  • thirdPartyCookiesAllowed

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

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

  • topicsEnabled
    الإصدار Chrome 111 والإصدارات الأحدث

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