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
privacyAPI'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
Otomatik doldurma verisi kategorileri.
Enum
"contact_info"
"payments"
"identity_docs"
"seyahat"
"all"
IPHandlingPolicy
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
types.ChromeSetting<boolean>
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
truedeğerine ayarlanır. -
webRTCIPHandlingPolicyChrome 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
defaultdeğ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
types.ChromeSetting<boolean>
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
truedeğerine ayarlanır. -
autofillAddressEnabled
types.ChromeSetting<boolean>
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
truedeğerine ayarlanır. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
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
truedeğerine ayarlanır. -
autofillEnabled
types.ChromeSetting<boolean>
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
truedeğerine ayarlanır. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Bu politika etkinleştirilirse şifre yöneticisi, şifreleri kaydetmek isteyip istemediğinizi sorar. Bu tercihin değeri Boole olup varsayılan olarak
truedeğerine ayarlanır. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
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
truedeğerine ayarlanır. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
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
falsedeğerine ayarlanır. -
searchSuggestEnabled
types.ChromeSetting<boolean>
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
truedeğerine ayarlanır. -
spellingServiceEnabled
types.ChromeSetting<boolean>
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
falsedeğerine ayarlanır. -
translationServiceEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi teklif eder. Bu tercihin değeri Boole olup varsayılan olarak
truedeğerine ayarlanır.
websites
Chrome'un web sitelerine hangi bilgileri sunacağını belirleyen ayarlar.
Tür
nesne
Özellikler
-
adMeasurementEnabled
types.ChromeSetting<boolean>
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ğerifalseolarak ayarlayarak bu API'leri devre dışı bırakabilir. Bu API'leritrueolarak ayarlamaya çalışırsanız hata mesajı alırsınız. -
doNotTrackEnabled
types.ChromeSetting<boolean>
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ğerfalseşeklindedir. -
fledgeEnabled
types.ChromeSetting<boolean>
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ğerifalseolarak ayarlayarak devre dışı bırakabilir. Bu API'yitrueolarak ayarlamaya çalışırsanız hata verir. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
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ğertrueşeklindedir. -
protectedContentEnabled
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, isteklerinizle birlikte
refererbaş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ğertrueşeklindedir. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
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
falsedeğ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
types.ChromeSetting<boolean>
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ğerifalseolarak ayarlayarak devre dışı bırakabilir. Bu API'yitrueolarak ayarlamaya çalışırsanız hata verir.