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

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

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

Kavramlar ve kullanım

Chrome ayarının geçerli değerini okumak kolaydır. Öncelikle ilgilendiğiniz özelliği bulmanız, ardından bu özelliğin geçerli 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 kredi kartı otomatik doldurma özelliğinin etkin olup olmadığını belirlemek için şunu yazarsınız:

chrome.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. Bunun nedeni, öncelikle uzantınızın ayarı kontrol edebildiğini doğrulamanız gerekmesidir. Uzantınız, kurumsal politikalar tarafından belirli bir değer için kilitlenmiş bir ayarı (levelOfControl "not_controllable" olarak ayarlanır) veya başka bir uzantının değeri kontrol ettiği bir ayarı (levelOfControl "controlled_by_other_extensions" olarak ayarlanır) değiştiriyorsa 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 pratik olarak uygulanmadığında kullanıcıyı uyarmak iyi bir fikirdir.

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

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

Bir ayarın değerindeki değişikliklerle ilgileniyorsanız ayarın onChange etkinliğine bir dinleyici ekleyin. Bu özellik, diğer kullanımlarının yanı sıra, 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ı uyarmak için de kullanılabilir. Örneğin, kredi kartı otomatik doldurma durumundaki değişiklikleri dinlemek için aşağıdaki kod yeterli olacaktır:

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

Örnekler

Bu API'yi denemek için chrome-extension-samples deposundan privacy API example'ı yükleyin.

Türler

IPHandlingPolicy

Chrome 48 veya daha yeni bir sürüm

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 çözümleyerek 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. Bu durum, 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 bir sürüm

    Kullanıcıların, WebRTC trafiğinin nasıl yönlendirileceğini ve ne kadar yerel adres bilgisinin açığa çıkarılacağını etkileyen medya performansı/gizlilik ödünleşimlerini belirtmesine 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 sağlayıcınız tarafından sunulan üçü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ı olmak için bir web hizmeti kullanır. Bu tercihin değeri, varsayılan olarak true olan bir Boole değeridir.

  • 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, varsayılan olarak true olan bir Boole değeridir.

  • 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, varsayılan olarak true olan bir Boole değeridir.

  • 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ılacaktır.

    Etkinleştirilirse Chrome, formları otomatik olarak doldurmayı teklif eder. Bu tercihin değeri, varsayılan olarak true olan bir Boole değeridir.

  • passwordSavingEnabled

    Bu ayar etkinleştirilirse şifre yöneticisi, şifreleri kaydetmek isteyip istemediğinizi sorar. Bu tercihin değeri, varsayılan olarak true olan bir Boole değeridir.

  • 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, varsayılan olarak true olan bir Boole değeridir.

  • 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, varsayılan olarak false olan bir Boole değeridir.

  • 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 muhtemel tamamlanmış halleri olan web siteleri ve aramalarla ilgili tahminler sunar. Bu tercihin değeri, varsayılan olarak true olan bir Boole değeridir.

  • spellingServiceEnabled

    Etkinleştirilirse Chrome, yazım hatalarını düzeltmek için bir web hizmeti kullanır. Bu tercihin değeri, varsayılan olarak false olan bir Boole değeridir.

  • translationServiceEnabled

    Bu ayar etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi teklif eder. Bu tercihin değeri, varsayılan olarak true olan bir Boole değeridir.

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ışı bırakılır. Bu tercihin değeri boole türündedir ve varsayılan değer true'dır. 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 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 boole 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 boole türündedir ve varsayılan değer true'dır. Uzantılar, yalnızca değeri false olarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yi true olarak ayarlamaya çalışırsanız hata alırsınız.

  • 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'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 boole 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ı, yanlış yazılmış başlıkla eşleşmiyor. Hayır, değiştirmeyeceğiz. Bu tercihin değeri boole 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 İlgili Web Sitesi Grupları devre dışı bırakılır. Bu tercihin değeri boole türündedir ve varsayılan değer true'dır. Uzantılar, yalnızca değeri false olarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yi true olarak ayarlamaya çalışırsanız hata alırsınız.

  • thirdPartyCookiesAllowed

    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'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 muafiyet sahibi olan veya bunun yerine Storage Access API'yi kullanan 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 boole türündedir ve varsayılan değer true'dır. Uzantılar, yalnızca değeri false olarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yi true olarak ayarlamaya çalışırsanız hata alırsınız.