Descrição
Use a API chrome.privacy
para controlar o uso dos recursos do Chrome que podem afetar a privacidade de um usuário. Essa API depende do protótipo ChromeSetting do tipo API para receber e definir a configuração do Chrome.
Permissões
privacy
É necessário declarar a "privacidade" no manifesto da sua extensão para usar a API. Por exemplo:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Conceitos e uso
A leitura do valor atual de uma configuração do Chrome é simples. Primeiro, você precisa encontrar
propriedade em que você tem interesse, chame get()
nesse objeto para recuperar o
o valor atual e o nível de controle da sua extensão. Por exemplo, para determinar se o preenchimento automático de cartão de crédito do Chrome
estiver ativado, escreva:
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Alterar o valor de uma configuração é um pouco mais complexo, porque primeiro é preciso verificar
que sua extensão possa controlar a configuração. O usuário não verá nenhuma alteração nas configurações se as
alterna uma configuração que está bloqueada a um valor específico por políticas da empresa
(levelOfControl
será definido como "not_controllable") ou se outra extensão estiver controlando o
valor (levelOfControl
será definido como "control_by_other_extensions"). A chamada set()
vai
mas a configuração será substituída imediatamente. Como isso pode ser confuso, é aconselhável
para avisar o usuário quando as configurações escolhidas não forem aplicadas na prática.
Isso significa que você precisa usar o método get()
para determinar seu nível de acesso e somente
chame set()
se a extensão puder controlar a configuração (se ela não puder
controlar a configuração, é recomendável desativar visualmente o recurso para reduzir
confusão):
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);
}
});
}
});
Se você estiver interessado em mudanças no valor de uma configuração, adicione um listener ao evento onChange
. Entre
outros usos, isso permitirá que você avise o usuário se uma extensão instalada mais recentemente capturar
controle de uma configuração ou se uma política da empresa substitui seu controle. Para detectar alterações em
status de preenchimento automático de cartão de crédito. Por exemplo, o código a seguir seria suficiente:
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.
}
);
Exemplos
Para testar essa API, instale o exemplo da API de privacidade disponível em chrome-extension-samples repositório de dados.
Tipos
IPHandlingPolicy
A política de gerenciamento de IP do WebRTC.
Enumeração
"padrão"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Propriedades
network
Configurações que influenciam o processamento de conexões de rede pelo Chrome em geral.
Tipo
objeto
Propriedades
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Se essa opção estiver ativada, o Chrome tentará acelerar sua experiência de navegação na Web resolvendo previamente as entradas de DNS e abrindo preventivamente as conexões TCP e SSL para os servidores. Essa preferência afeta apenas as ações realizadas pelo serviço interno de previsões do Chrome. Isso não afeta áreas ou pré-conexões iniciadas em páginas da Web. O valor dessa preferência é um booleano, tendo como padrão
true
. -
webRTCIPHandlingPolicyChrome 48 ou superior
Permite que os usuários especifiquem as compensações de desempenho de mídia/privacidade que afetam como o tráfego WebRTC será roteado e a quantidade de informações de endereço local expostas. O valor dessa preferência é do tipo IPHandlingPolicy, que tem
default
como padrão.
services
Configurações que ativam ou desativam recursos que exigem serviços de rede de terceiros fornecidos pelo Google e seu provedor de pesquisa padrão.
Tipo
objeto
Propriedades
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
Se ativada, o Chrome usa um serviço da Web para ajudar a resolver erros de navegação. O valor dessa preferência é um booleano, tendo como padrão
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 ou superiorSe ativado, o Chrome se oferece para preencher automaticamente endereços e outros dados de formulário. O valor dessa preferência é um booleano, tendo como padrão
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 ou superiorSe ativado, o Chrome se oferece para preencher automaticamente formulários de cartão de crédito. O valor dessa preferência é um booleano, tendo como padrão
true
. -
autofillEnabled
types.ChromeSetting<boolean>
Descontinuado desde o Chrome 70Use privacy.services.autofillAddressEnabled e privacy.services.autofillCreditCardEnabled. Nesta versão, isso permanece para compatibilidade com versões anteriores e será removido no futuro.
Se ativado, o Chrome se oferece para preencher formulários automaticamente. O valor dessa preferência é um booleano, tendo como padrão
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Se ativado, o gerenciador de senhas perguntará se você quer salvar senhas. O valor dessa preferência é um booleano, tendo como padrão
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Se a política for ativada, o Chrome fará o possível para proteger você contra phishing e malware. O valor dessa preferência é um booleano, tendo como padrão
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Se ativado, o Chrome enviará informações adicionais ao Google quando o Safe Browsing bloquear uma página, como o conteúdo da página bloqueada. O valor dessa preferência é um booleano, tendo como padrão
false
. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Se ativado, o Chrome envia o texto que você digita na omnibox para seu mecanismo de pesquisa padrão, que fornece previsões de sites e pesquisas que provavelmente completam o que você digitou até agora. O valor dessa preferência é um booleano, tendo como padrão
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Se ativada, o Chrome usa um serviço da Web para ajudar a corrigir erros de ortografia. O valor dessa preferência é um booleano, tendo como padrão
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
Se essa opção estiver ativada, o Chrome se oferecerá para traduzir páginas que não estão em um idioma que você conheça. O valor dessa preferência é um booleano, tendo como padrão
true
.
websites
Configurações que determinam quais informações o Chrome disponibiliza para os sites.
Tipo
objeto
Propriedades
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 ou versões mais recentesSe desativada, a API Attribution Reporting e a API Private Aggregate serão desativadas. O valor dessa preferência é do tipo booleano, e o valor padrão é
true
. As extensões só podem desativar essas APIs definindo o valor comofalse
. Se você tentar definir essas APIs comotrue
, um erro será gerado. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 ou superiorSe ativado, o Chrome envia "Não rastrear" (
DNT: 1
) com suas solicitações. O valor dessa preferência é do tipo booleano, e o valor padrão éfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 ou versões mais recentesSe desativada, a API Fledge é desativada. O valor dessa preferência é do tipo booleano, e o valor padrão é
true
. As extensões só podem desativar essa API definindo o valor comofalse
. Se você tentar definir essa API comotrue
, um erro será gerado. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Se essa opção estiver ativada, o Chrome enviará pings de auditoria quando solicitado por um site (
<a ping>
). O valor dessa preferência é do tipo booleano, e o valor padrão étrue
. -
protectedContentEnabled
types.ChromeSetting<boolean>
Disponível apenas no Windows e no ChromeOS: se ativada, o Chrome fornece um ID exclusivo aos plug-ins para executar conteúdo protegido. O valor dessa preferência é do tipo booleano, e o valor padrão é
true
. -
referrersEnabled
types.ChromeSetting<boolean>
Se essa opção estiver ativada, o Chrome enviará cabeçalhos
referer
com suas solicitações. Sim, o nome dessa preferência não corresponde ao cabeçalho incorreto. Não, não vamos mudá-lo. O valor dessa preferência é do tipo booleano, e o valor padrão étrue
. -
types.ChromeSetting<boolean>
Chrome 121 ou versões mais recentesSe desativado, os Conjuntos de sites relacionados ficam desativados. O valor dessa preferência é do tipo booleano, e o valor padrão é
true
. As extensões só podem desativar essa API definindo o valor comofalse
. Se você tentar definir essa API comotrue
, um erro será gerado. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Se desativada, o Chrome impedirá que sites de terceiros definam cookies. O valor dessa preferência é do tipo booleano, e o valor padrão é
true
. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 ou versões mais recentesSe desativada, a API Topics vai ser desativada. O valor dessa preferência é do tipo booleano, e o valor padrão é
true
. As extensões só podem desativar essa API definindo o valor comofalse
. Se você tentar definir essa API comotrue
, um erro será gerado.