Descripción
Usa la API de chrome.privacy
para controlar el uso de las funciones de Chrome que pueden afectar la privacidad del usuario. Esta API se basa en el prototipo de ChromeSetting del tipo de API para obtener y establecer la configuración de Chrome.
Permisos
privacy
Manifiesto
Debes declarar la "privacidad". permiso en el manifiesto de tu extensión para usar la API. Por ejemplo:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Uso
Leer el valor actual de una configuración de Chrome es sencillo. Primero deberás encontrar el
que te interesa, deberás llamar a get()
en ese objeto para recuperar su
actual y el nivel de control de tu extensión. Por ejemplo, para determinar si la función Autocompletar de Chrome
de que la función esté habilitada, deberías escribir lo siguiente:
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Cambiar el valor de un parámetro de configuración es un poco más complejo, solo porque primero debes verificarlo
que tu extensión puede controlar el parámetro de configuración. El usuario no verá ningún cambio en la configuración si tu
activa o desactiva un parámetro de configuración que las políticas empresariales bloquearon a un valor específico
(levelOfControl
se establecerá como "not_controllable"), o bien si otra extensión controla
valor (levelOfControl
se establecerá como "controlled_by_other_extensions"). La llamada a set()
hará lo siguiente
correctamente, pero la configuración se anulará de inmediato. Como esto puede ser confuso, se recomienda
para advertir al usuario cuando la configuración que eligió no se aplica de forma práctica.
Esto significa que debes usar el método get()
para determinar tu nivel de acceso y, luego, solo
llama a set()
si tu extensión puede tomar el control de la configuración (de hecho, si tu extensión no puede
controlar la configuración, tal vez sea buena idea
inhabilitar visualmente la funcionalidad para reducir
confusión):
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);
}
});
}
});
Si quieres realizar cambios en el valor de un parámetro de configuración, agrega un objeto de escucha a su evento onChange
. Entre
otros usos, esto te permitirá advertir al usuario si una extensión instalada más recientemente
el control de una configuración o si la política empresarial anula tu control. Para escuchar los cambios en
El estado de Autocompletar, por ejemplo, sería suficiente con el siguiente código:
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.
}
);
Ejemplos
Para probar esta API, instala el ejemplo de la API de privacidad desde chrome-extension-samples en un repositorio de confianza.
Tipos
IPHandlingPolicy
La política de control de IP de WebRTC.
Enum
“predeterminado”
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Propiedades
network
La configuración que influye en el manejo de Chrome de las conexiones de red en general.
Tipo
objeto
Propiedades
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Si se habilita esta opción, Chrome intenta acelerar su experiencia de navegación web resolviendo con anticipación las entradas de DNS y abriendo de manera preventiva las conexiones TCP y SSL a los servidores. Esta preferencia solo afecta las acciones que realiza el servicio de predicción interno de Chrome. No afecta a las prefectchas ni las preconexiones iniciadas por páginas web. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
webRTCIPHandlingPolicyChrome 48 y versiones posteriores
Permite que los usuarios especifiquen las compensaciones de rendimiento/privacidad del contenido multimedia, lo que afecta la forma en que se enrutará el tráfico de WebRTC y cuánta información de la dirección local se expone. El valor de esta preferencia es del tipo IPHandlingPolicy, con el valor predeterminado
default
.
services
Configuración que habilita o inhabilita funciones que requieren servicios de red de terceros proporcionados por Google y tu proveedor de búsqueda predeterminado.
Tipo
objeto
Propiedades
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
Si se habilita, Chrome usa un servicio web para ayudar a resolver los errores de navegación. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 y versiones posterioresSi la opción está habilitada, Chrome ofrece completar automáticamente las direcciones y otros datos de formularios. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 y versiones posterioresSi está habilitada, Chrome ofrece completar automáticamente los formularios de tarjeta de crédito. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
autofillEnabled
types.ChromeSetting<boolean>
Obsoleto desde Chrome 70Utiliza privacy.services.autofillAddressEnabled y privacy.services.autofillCreditCardEnabled. Esto se mantiene para fines de retrocompatibilidad en esta versión y se quitará en el futuro.
Si está habilitada, Chrome ofrece completar formularios automáticamente. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Si se habilita esta opción, el administrador de contraseñas te preguntará si quieres guardar contraseñas. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Si se habilita esta opción, Chrome hace todo lo posible para protegerte de la suplantación de identidad (phishing) y el software malicioso. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Si se habilita esta opción, Chrome enviará información adicional a Google cuando Navegación segura bloquee una página, como el contenido de la página bloqueada. El valor de esta preferencia es booleano y su valor predeterminado es
false
. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Si está habilitada, Chrome envía el texto que escribes en el cuadro multifunción a tu motor de búsqueda predeterminado, que proporciona predicciones de sitios web y búsquedas que probablemente completen lo que escribiste hasta el momento. El valor de esta preferencia es booleano y su valor predeterminado es
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Si está habilitada, Chrome usa un servicio web para ayudar a corregir los errores de ortografía. El valor de esta preferencia es booleano y su valor predeterminado es
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
Si la opción está habilitada, Chrome te ofrece traducir las páginas que no están en un idioma que puedes leer. El valor de esta preferencia es booleano y su valor predeterminado es
true
.
websites
Configuración que determina la información que Chrome pone a disposición de los sitios web.
Tipo
objeto
Propiedades
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 y versiones posterioresSi se inhabilita, se desactivarán la API de Attribution Reporting y la API de Private Aggregation. El valor de esta preferencia es de tipo booleano y el valor predeterminado es
true
. Las extensiones solo pueden inhabilitar estas APIs si se establece el valor enfalse
. Si intentas configurar estas APIs entrue
, se arrojará un error. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 y versiones posterioresSi está habilitado, Chrome envía "Do Not Track" (
DNT: 1
) con tus solicitudes. El valor de esta preferencia es de tipo booleano y el valor predeterminado esfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 y versiones posterioresSi se inhabilita, se desactiva la API de Fledge. El valor de esta preferencia es de tipo booleano y el valor predeterminado es
true
. Las extensiones solo pueden inhabilitar esta API si se establece el valor enfalse
. Si intentas configurar esta API comotrue
, se arrojará un error. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Si se habilita esta opción, Chrome enviará pings de auditoría cuando un sitio web (
<a ping>
) los solicite. El valor de esta preferencia es de tipo booleano y el valor predeterminado estrue
. -
protectedContentEnabled
types.ChromeSetting<boolean>
Disponible solo en Windows y ChromeOS: Si se habilita esta opción, Chrome proporciona un ID único a los complementos para ejecutar contenido protegido. El valor de esta preferencia es de tipo booleano y el valor predeterminado es
true
. -
referrersEnabled
types.ChromeSetting<boolean>
Si se habilita, Chrome enviará encabezados
referer
con tus solicitudes. Sí, el nombre de esta preferencia no coincide con el encabezado que está mal escrito. No, no lo cambiaremos. El valor de esta preferencia es de tipo booleano y el valor predeterminado estrue
. -
types.ChromeSetting<boolean>
Chrome 121 y versiones posterioresSi se inhabilita, se desactivan los Conjuntos de sitios web relacionados. El valor de esta preferencia es de tipo booleano y el valor predeterminado es
true
. Las extensiones solo pueden inhabilitar esta API si se establece el valor enfalse
. Si intentas configurar esta API comotrue
, se arrojará un error. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Si la inhabilitas, Chrome no permitirá que los sitios de terceros configuren cookies. El valor de esta preferencia es de tipo booleano y el valor predeterminado es
true
. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 y versiones posterioresSi se inhabilita, se desactiva la API de Topics. El valor de esta preferencia es de tipo booleano y el valor predeterminado es
true
. Las extensiones solo pueden inhabilitar esta API si se establece el valor enfalse
. Si intentas configurar esta API comotrue
, se arrojará un error.