chrome.privacy

Açıklama

Kullanıcının gizliliğini etkileyebilecek Chrome özelliklerinin kullanımını kontrol etmek için chrome.privacy API'sini kullanın. Bu API, Chrome'un yapılandırmasını almak ve ayarlamak için API türünün ChromeSetting prototipine dayanır.

İzinler

privacy

Manifest

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

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

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() işlevini çağırmanız gerekir. Örneğin, Chrome'un otomatik doldurma özelliğinin etkin olup olmadığını belirlemek için şunu yazarsınız:

chrome.privacy.services.autofillEnabled.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, öncelikle uzantınızın ayarı kontrol edebildiğini doğrulamanız gerektiğinden biraz daha karmaşıktır. Uzantınız, kurumsal politikalar tarafından belirli bir değere kilitlenmiş bir ayarı (levelOfControl "not_controllable" olarak ayarlanır) veya başka bir uzantı tarafından kontrol edilen bir ayarı (levelOfControl "controlled_by_other_extensions" olarak ayarlanır) değiştirirse 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, kullanıcının seçtiği ayarların pratik olarak uygulanmadığı durumlarda kullanıcıyı uyarmak iyi bir fikirdir.

Bu nedenle, erişim düzeyinizi belirlemek için get() yöntemini kullanmanız ve yalnızca uzantınız ayar üzerinde kontrol sahibi olabiliyorsa set() yöntemini çağırmanız gerekir (aslında uzantınız ayarı kontrol edemiyorsa kullanıcıların kafasını karıştırmamak için işlevi görsel olarak devre dışı bırakmanız iyi bir fikir olabilir):

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

Bir ayarın değerindeki değişikliklerle ilgileniyorsanız bu ayarın onChange etkinliğine bir dinleyici ekleyin. Bu, diğer kullanımların yanı sıra, daha yakın zamanda yüklenen bir uzantı ayarın kontrolünü ele geçirirse veya kurumsal politika kontrolünüzü geçersiz kılarsa kullanıcıyı uyarmanıza olanak tanır. Örneğin, Otomatik Doldurma'nın durumundaki değişiklikleri dinlemek için aşağıdaki kod yeterli olacaktır:

chrome.privacy.services.autofillEnabled.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 example'ı yükleyin.

Türler

IPHandlingPolicy

Chrome 48 veya daha yeni sürümler

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 ele alma şeklini etkileyen ayarlar.

Tür

nesne

Özellikler

  • networkPredictionEnabled

    Etkinleştirilirse Chrome, DNS girişlerini önceden çözerek ve sunuculara TCP ve SSL bağlantılarını önceden açarak web'de gezinme deneyiminizi hızlandırmaya çalışır. Bu tercih yalnızca Chrome'un dahili tahmin hizmeti tarafından gerçekleştirilen işlemleri etkiler. Web sayfası tarafından başlatılan önceden getirme veya önceden bağlanma işlemlerini etkilemez. Bu tercihin değeri, varsayılan olarak true olan bir Boole değeridir.

  • webRTCIPHandlingPolicy
    Chrome 48 veya daha yeni sürümler

    Kullanıcıların, medya performansı/gizlilik ödünlerini belirtmesine olanak tanır. Bu, WebRTC trafiğinin nasıl yönlendirileceğini ve ne kadar yerel adres bilgisinin açığa çıkacağını etkiler. Bu tercihin değeri IPHandlingPolicy türündedir ve varsayılan olarak default'dır.

services

Google ve varsayılan arama sağlayıcınız tarafından sağlanan üçüncü taraf ağ hizmetleri 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'dur ve varsayılan olarak true'dır.

  • autofillAddressEnabled
    Chrome 70 veya daha yeni bir sürüm

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

  • autofillCreditCardEnabled
    Chrome 70 veya daha yeni bir sürüm

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

  • autofillEnabled
    Chrome 70'ten beri kullanımdan kaldırıldı

    Lütfen privacy.services.autofillAddressEnabled ve privacy.services.autofillCreditCardEnabled'ı kullanın. Bu özellik, bu sürümde geriye dönük uyumluluk için kalmaya devam edecek ve gelecekte kaldırılacak.

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

  • passwordSavingEnabled

    Etkinleştirilirse şifre yöneticisi, şifreleri kaydetmek isteyip istemediğinizi sorar. Bu tercihin değeri bir boole değeridir ve varsayılan olarak true'dı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'dur ve varsayılan olarak true değerine ayarlanır.

  • safeBrowsingExtendedReportingEnabled

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

  • searchSuggestEnabled

    Etkinleştirilirse Chrome, çok amaçlı adres çubuğuna yazdığınız metni varsayılan arama motorunuza gönderir. Bu arama motoru, yazdıklarınızın olası tamamlanma şekilleri olan web siteleri ve aramalarla ilgili tahminler sunar. Bu tercihin değeri boole'dur ve varsayılan olarak true'dı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 değeridir ve varsayılan olarak false'dır.

  • translationServiceEnabled

    Etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi teklif eder. Bu tercihin değeri boole'dur ve varsayılan olarak true'dır.

websites

Chrome'un web sitelerine hangi bilgileri sunduğunu belirleyen ayarlar.

Tür

nesne

Özellikler

  • adMeasurementEnabled
    Chrome 111 veya daha yeni bir sürüm

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

  • doNotTrackEnabled
    Chrome 65 veya daha yeni bir sürüm

    Etkinleştirilirse Chrome, isteklerinizle birlikte "İzlemeyi Engelle" (DNT: 1) başlığını gönderir. Bu tercihin değeri boolean türündedir ve varsayılan değer false'dır.

  • fledgeEnabled
    Chrome 111 veya daha yeni bir sürüm

    Devre dışı bırakılırsa Fledge API devre dışı kalır. Bu tercihin değeri boolean türündedir ve varsayılan değer true'dır. Uzantılar, değeri false olarak ayarlayarak bu API'yi 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 boolean türündedir ve varsayılan değer true'dir.

  • protectedContentEnabled

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

  • referrersEnabled

    Etkinleştirilirse Chrome, isteklerinizle birlikte referer başlıklarını gönderir. Evet, bu tercihin adı, yazım hatası içeren başlıkla eşleşmiyor. Hayır, değiştirmeyeceğiz. Bu tercihin değeri boolean türündedir ve varsayılan değer true'dır.

  • relatedWebsiteSetsEnabled
    Chrome 121 ve sonraki sürümler

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

  • thirdPartyCookiesAllowed

    Devre dışı bırakılırsa Chrome, üçüncü taraf sitelerin çerez ayarlamasını engeller. Bu tercihin değeri boolean türündedir ve varsayılan değer true'dır. 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 oluşur.

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

  • topicsEnabled
    Chrome 111 veya daha yeni bir sürüm

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