browser.privacy

Açıklama

Chrome'da kullanıcının gizliliğini etkileyebilecek özelliklerin kullanımını kontrol etmek için chrome.privacy API'yi kullanın. Bu API, Chrome'un yapılandırmasını almak ve ayarlamak için tür API'sinin ChromeSetting prototipini kullanır.

İzinler

privacy

API'yi kullanmak için uzantınızın manifest dosyasında "privacy" iznini belirtmeniz gerekir. Örneğin:

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

Kavramlar ve kullanım

Bir Chrome ayarının mevcut değerini okumak kolaydır. Öncelikle ilgilendiğiniz özelliği bulmanız, ardından mevcut değerini ve uzantınızın kontrol düzeyini almak için bu nesnede get() yöntemini çağırmanız gerekir. Örneğin, Chrome'un kredi kartı otomatik doldurma özelliğinin etkin olup olmadığını belirlemek için şunu yazarsınız:

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

Bir ayarın değerini değiştirmek biraz daha karmaşıktır. Çünkü öncelikle uzantınızın ayarı kontrol edebildiğini doğrulamanız gerekir. Uzantınız, kurumsal politikalar tarafından belirli bir değere kilitlenmiş bir ayarı açıp kapatırsa (levelOfControl, "not_controllable" olarak ayarlanır) veya değeri başka bir uzantı kontrol ediyorsa (levelOfControl, "controlled_by_other_extensions" olarak ayarlanır) kullanıcı, ayarlarında herhangi bir değişiklik görmez. set() çağrısı başarılı olur ancak ayar hemen geçersiz kılınır. Bu durum kafa karıştırıcı olabileceğinden, seçtikleri ayarların pratikte uygulanmadığı durumlarda kullanıcıyı uyarmanız önerilir.

Bu, erişim düzeyinizi belirlemek için get() yöntemini kullanmanız ve ardından yalnızca uzantınız ayarın kontrolünü ele geçirebiliyorsa set() yöntemini çağırmanız gerektiği anlamına gelir (aslında uzantınız ayarı kontrol edemiyorsa kullanıcıların kafasının karışmasını önlemek için özelliği görsel olarak devre dışı bırakmak iyi bir fikir olabilir):

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

Bir ayarın değerindeki değişikliklerle ilgileniyorsanız ayarın onChange etkinliğine bir dinleyici ekleyin. Bu sayede, daha yakın zamanda yüklenen bir uzantı bir ayarın kontrolünü ele geçirirse veya kurumsal politika kontrolünüzü geçersiz kılarsa kullanıcıyı uyarabilirsiniz. Kredi kartı otomatik doldurma durumundaki değişiklikleri dinlemek için aşağıdaki kod yeterli olacaktır:

browser.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.
  }
);

Örnekler

Bu API'yi denemek için chrome-extension-samples deposundan privacy API örneğini yükleyin.

Türler

AutofillBlockedType

Chrome 151+

Otomatik doldurma verisi kategorileri.

Enum

"contact_info"

"payments"

"identity_docs"

"seyahat"

"all"

IPHandlingPolicy

Chrome 48 ve sonraki sürümler Chrome 148'den itibaren browser.*

WebRTC'nin IP işleme politikası.

Enum

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Özellikler

network

Chrome'un ağ bağlantılarını genel olarak nasıl işleyeceğini etkileyen ayarlar.

Tür

nesne

Özellikler

  • networkPredictionEnabled

    Etkinleştirilirse Chrome, DNS girişlerini önceden çözümleyerek, sunuculara TCP ve SSL bağlantılarını önceden açarak ve sayfaları önceden yükleyerek web'de gezinme deneyiminizi hızlandırmaya çalışır. Bu tercihin devre dışı bırakılması, site sahiplerinin tahmine dayalı içerik yükleme (ör. Speculation Rules API aracılığıyla önceden getirme veya önceden işleme) özelliğini geçersiz kılar. Web sayfası tarafından başlatılan ön bağlantıları veya DNS önceden getirmelerini etkilemez. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • webRTCIPHandlingPolicy
    Chrome 48 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Kullanıcıların, WebRTC trafiğinin nasıl yönlendirileceğini ve ne kadar yerel adres bilgisinin gösterileceğini etkileyen medya performansı/gizlilik dengesini belirlemesine izin verin. Bu tercihin değeri IPHandlingPolicy türündedir ve varsayılan olarak default değerine ayarlanır.

services

Google ve varsayılan arama motorunuz tarafından sağlanan üçüncü taraf ağ hizmetlerini gerektiren özellikleri etkinleştiren veya devre dışı bırakan ayarlar.

Tür

nesne

Özellikler

  • alternateErrorPagesEnabled

    Etkinleştirilirse Chrome, gezinme hatalarının çözülmesine yardımcı olması için bir web hizmeti kullanır. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • autofillAddressEnabled
    Chrome 70 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Etkinleştirilirse Chrome, adresleri ve diğer form verilerini otomatik olarak doldurmayı teklif eder. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • autofillCreditCardEnabled
    Chrome 70 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Etkinleştirilirse Chrome, kredi kartı formlarını otomatik olarak doldurmayı teklif eder. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • autofillEnabled
    Chrome 70'ten itibaren desteği sonlandırıldı

    Lütfen privacy.services.autofillAddressEnabled ve privacy.services.autofillCreditCardEnabled'ı kullanın. Bu politika, bu sürümde geriye dönük uyumluluk için kullanılmaya devam eder ve gelecekte kaldırılacaktır.

    Etkinleştirilirse Chrome, formları otomatik olarak doldurmayı teklif eder. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • passwordSavingEnabled

    Bu politika etkinleştirilirse şifre yöneticisi, şifreleri kaydetmek isteyip istemediğinizi sorar. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • safeBrowsingEnabled

    Etkinleştirilirse Chrome sizi kimlik avı ve kötü amaçlı yazılımlardan korumak için elinden geleni yapar. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • safeBrowsingExtendedReportingEnabled

    Etkinleştirilirse Güvenli Tarama bir sayfayı engellediğinde Chrome, engellenen sayfanın içeriği gibi ek bilgileri Google'a gönderir. Bu tercihin değeri Boole olup varsayılan olarak false değerine ayarlanır.

  • searchSuggestEnabled

    Bu ayar etkinleştirilirse Chrome, çok amaçlı adres çubuğuna yazdığınız metni varsayılan arama motorunuza gönderir. Arama motoru da o ana kadar yazdıklarınızın olası tamamlamaları olan web siteleri ve aramalarla ilgili tahminler sunar. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

  • spellingServiceEnabled

    Etkinleştirilirse Chrome, yazım hatalarını düzeltmeye yardımcı olması için bir web hizmeti kullanır. Bu tercihin değeri Boole olup varsayılan olarak false değerine ayarlanır.

  • translationServiceEnabled

    Etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi teklif eder. Bu tercihin değeri Boole olup varsayılan olarak true değerine ayarlanır.

websites

Chrome'un web sitelerine hangi bilgileri sunacağını belirleyen ayarlar.

Tür

nesne

Özellikler

  • adMeasurementEnabled
    Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Devre dışı bırakılırsa Attribution Reporting API ve Private Aggregation API devre dışı bırakılır. Bu tercihin değeri Boole türündedir ve varsayılan değer true şeklindedir. Uzantılar, yalnızca değeri false olarak ayarlayarak bu API'leri devre dışı bırakabilir. Bu API'leri true olarak ayarlamaya çalışırsanız hata mesajı alırsınız.

  • doNotTrackEnabled
    Chrome 65 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Etkinleştirilirse Chrome, isteklerinizle birlikte "Do Not Track" (DNT: 1) başlığını gönderir. Bu tercihin değeri Boole türündedir ve varsayılan değer false şeklindedir.

  • fledgeEnabled
    Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Devre dışı bırakılırsa Fledge API devre dışı bırakılır. Bu tercihin değeri Boole türündedir ve varsayılan değer true şeklindedir. Uzantılar, bu API'yi yalnızca değeri false olarak ayarlayarak devre dışı bırakabilir. Bu API'yi true olarak ayarlamaya çalışırsanız hata verir.

  • hyperlinkAuditingEnabled

    Etkinleştirilirse Chrome, bir web sitesi tarafından istendiğinde denetleme ping'leri gönderir (<a ping>). Bu tercihin değeri boole türündedir ve varsayılan değer true şeklindedir.

  • protectedContentEnabled

    Yalnızca Windows ve ChromeOS'te kullanılabilir: Etkinleştirilirse Chrome, korumalı içeriği çalıştırmak için eklentilere benzersiz bir kimlik sağlar. Bu tercihin değeri Boole türündedir ve varsayılan değer true şeklindedir.

  • referrersEnabled

    Etkinleştirilirse Chrome, isteklerinizle birlikte referer başlıkları gönderir. Evet, bu tercihin adı, yanlış yazılmış üstbilgiyle eşleşmiyor. Hayır, değiştirmeyeceğiz. Bu tercihin değeri Boole türündedir ve varsayılan değer true şeklindedir.

  • thirdPartyCookiesAllowed

    Politika devre dışı bırakılırsa Chrome, üçüncü taraf sitelerin çerez ayarlamasını engeller. Bu tercihin değeri Boole türündedir ve varsayılan değer true şeklindedir. Uzantılar, üçüncü taraf çerezlerinin engellendiği ve yalnızca site düzeyinde izin verilebileceği Gizli modda bu API'yi etkinleştiremez. Bu API'yi Gizli modda "true" olarak ayarlamaya çalışırsanız hata mesajı alırsınız.

    Not: Bu API false değerini döndürdüğünde, geçerli bir muafiyeti olan veya bunun yerine Storage Access API'yi kullanan siteler üçüncü taraf çerezlerine erişmeye devam edebilir.

  • topicsEnabled
    Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Devre dışı bırakılırsa Topics API devre dışı bırakılır. Bu tercihin değeri Boole türündedir ve varsayılan değer true şeklindedir. Uzantılar, bu API'yi yalnızca değeri false olarak ayarlayarak devre dışı bırakabilir. Bu API'yi true olarak ayarlamaya çalışırsanız hata verir.