chrome.privacy

Beschrijving

Gebruik de chrome.privacy API om het gebruik te beheren van de functies in Chrome die de privacy van een gebruiker kunnen beïnvloeden. Deze API is gebaseerd op het ChromeSetting-prototype van het type API voor het ophalen en instellen van de Chrome-configuratie.

Toestemmingen

privacy

Manifest

Om de API te kunnen gebruiken, moet u de "privacy"-toestemming in het manifest van uw extensie declareren. Bijvoorbeeld:

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

Gebruik

Het uitlezen van de huidige waarde van een Chrome-instelling is eenvoudig. Je moet eerst de eigenschap vinden waarin je geïnteresseerd bent, en vervolgens roep je de get() -methode aan op dat object om de huidige waarde en het controleniveau van je extensie op te halen. Om bijvoorbeeld te bepalen of de Autofill-functie van Chrome is ingeschakeld, schrijf je het volgende:

chrome.privacy.services.autofillEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

Het wijzigen van een instelling is iets complexer, simpelweg omdat u eerst moet controleren of uw extensie de instelling mag beheren. De gebruiker ziet geen wijziging in de instellingen als uw extensie een instelling wijzigt die door bedrijfsbeleid is vergrendeld op een specifieke waarde ( levelOfControl wordt ingesteld op "not_controllable"), of als een andere extensie de waarde beheert ( levelOfControl wordt ingesteld op "controlled_by_other_extensions"). De set() -aanroep zal slagen, maar de instelling wordt direct overschreven. Omdat dit verwarrend kan zijn, is het raadzaam de gebruiker te waarschuwen wanneer de gekozen instellingen niet daadwerkelijk worden toegepast.

Dit betekent dat je de get() -methode moet gebruiken om je toegangsniveau te bepalen, en vervolgens alleen set() moet aanroepen als je extensie de instelling kan beheren (sterker nog, als je extensie de instelling niet kan beheren, is het waarschijnlijk een goed idee om de functionaliteit visueel uit te schakelen om verwarring bij de gebruiker te voorkomen):

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

Als u geïnteresseerd bent in wijzigingen in de waarde van een instelling, voeg dan een listener toe aan de onChange gebeurtenis. Dit stelt u onder andere in staat om de gebruiker te waarschuwen als een recent geïnstalleerde extensie de controle over een instelling overneemt, of als het bedrijfsbeleid uw controle overschrijft. Om bijvoorbeeld te luisteren naar wijzigingen in de status van Autofill, volstaat de volgende code:

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

Voorbeelden

Om deze API uit te proberen, installeer je het privacy-API-voorbeeld uit de chrome-extension-samples- repository.

Soorten

IPHandlingPolicy

Chrome 48+

Het IP-adresbeleid van WebRTC.

Enum

"standaard"

"standaard_openbare_en_privé_interfaces"

"standaard_openbare_interface_alleen"

"disable_non_proxied_udp"

Eigenschappen

network

Instellingen die van invloed zijn op hoe Chrome in het algemeen omgaat met netwerkverbindingen.

Type

voorwerp

Eigenschappen

  • netwerkvoorspelling ingeschakeld

    Indien ingeschakeld, probeert Chrome uw browse-ervaring te versnellen door DNS-records vooraf op te lossen en preventief TCP- en SSL-verbindingen met servers te openen. Deze voorkeur heeft alleen invloed op acties die worden uitgevoerd door de interne voorspellingsservice van Chrome. Het heeft geen invloed op prefecturen of preconnecties die door webpagina's worden geïnitieerd. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • webRTCIPHandlingPolicy
    Chrome 48+

    Hiermee kunnen gebruikers de afwegingen tussen mediaprestaties en privacy specificeren die van invloed zijn op hoe WebRTC-verkeer wordt gerouteerd en hoeveel lokale adresinformatie wordt blootgesteld. De waarde van deze voorkeur is van het type IPHandlingPolicy, met als default .

services

Instellingen waarmee u functies kunt in- of uitschakelen die gebruikmaken van netwerkdiensten van derden, geleverd door Google en uw standaardzoekprovider.

Type

voorwerp

Eigenschappen

  • alternateErrorPagesEnabled

    Indien ingeschakeld, gebruikt Chrome een webservice om navigatiefouten op te lossen. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • automatisch invullen van adres ingeschakeld
    Chrome 70+

    Indien ingeschakeld, biedt Chrome aan om adressen en andere formuliergegevens automatisch in te vullen. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • automatisch invullenCreditCardIngeschakeld
    Chrome 70+

    Indien ingeschakeld, biedt Chrome aan om creditcardformulieren automatisch in te vullen. De waarde van deze voorkeur is een boolean, met als standaardwaarde ' true .

  • automatisch invullen ingeschakeld
    Niet meer bruikbaar sinds Chrome 70.

    Gebruik alstublieft privacy.services.autofillAddressEnabled en privacy.services.autofillCreditCardEnabled. Deze instellingen zijn in deze release behouden voor achterwaartse compatibiliteit en zullen in de toekomst worden verwijderd.

    Indien ingeschakeld, biedt Chrome aan om formulieren automatisch in te vullen. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • autofillOtherDatatypesEnabled
    In behandeling

    Indien ingeschakeld, biedt Chrome aan om de overige gegevenstypen automatisch in te vullen. Dit omvat reis- en identiteitsdocumenten. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • wachtwoordopslag ingeschakeld

    Indien ingeschakeld, zal de wachtwoordmanager vragen of u wachtwoorden wilt opslaan. De waarde van deze voorkeur is een boolean, met als standaardwaarde ' true .

  • veilig browsen ingeschakeld

    Indien ingeschakeld, doet Chrome zijn best om u te beschermen tegen phishing en malware. De waarde van deze voorkeur is een boolean, met de standaardwaarde ' true .

  • safeBrowsingExtendedReportingEnabled

    Indien ingeschakeld, stuurt Chrome extra informatie naar Google wanneer SafeBrowsing een pagina blokkeert, zoals de inhoud van de geblokkeerde pagina. De waarde van deze voorkeur is een boolean, met een standaardwaarde van false .

  • zoeksuggestie ingeschakeld

    Indien ingeschakeld, stuurt Chrome de tekst die u in de Omnibox typt naar uw standaard zoekmachine. Deze zoekmachine geeft vervolgens suggesties voor websites en zoekopdrachten die waarschijnlijk een aanvulling zijn op wat u tot nu toe hebt getypt. De waarde van deze voorkeur is een boolean, met de standaardwaarde ' true .

  • spellingServiceEnabled

    Indien ingeschakeld, gebruikt Chrome een webservice om spelfouten te corrigeren. De waarde van deze voorkeur is een boolean, met als standaardwaarde false .

  • translationServiceEnabled

    Indien ingeschakeld, biedt Chrome aan om pagina's te vertalen die niet in een door u gelezen taal zijn. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

websites

Instellingen die bepalen welke informatie Chrome beschikbaar stelt aan websites.

Type

voorwerp

Eigenschappen

  • adMeasurementEnabled
    Chrome 111+

    Indien uitgeschakeld, worden de Attribution Reporting API en de Private Aggregation API gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API's alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API's op true in te stellen, wordt er een foutmelding gegenereerd.

  • doNotTrackEnabled
    Chrome 65+

    Indien ingeschakeld, stuurt Chrome de header 'Do Not Track' ( DNT: 1 ) mee met uw verzoeken. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is false .

  • fledgeEnabled
    Chrome 111+

    Als deze optie is uitgeschakeld, wordt de Fledge API gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API op true in te stellen, wordt er een foutmelding gegenereerd.

  • hyperlinkAuditingEnabled

    Indien ingeschakeld, verzendt Chrome controlepings wanneer een website daarom vraagt ​​( <a ping> ping>). De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true .

  • protectedContentEnabled

    Alleen beschikbaar op Windows en ChromeOS : Indien ingeschakeld, kent Chrome een unieke ID toe aan plug-ins om beveiligde inhoud te kunnen uitvoeren. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true .

  • verwijzers ingeschakeld

    Indien ingeschakeld, stuurt Chrome referer headers mee met uw verzoeken. Ja, de naam van deze voorkeur komt niet overeen met de verkeerd gespelde header. Nee, we gaan deze niet wijzigen. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true .

  • gerelateerdeWebsiteSetsIngeschakeld
    Chrome 121+

    Indien uitgeschakeld, wordt 'Gerelateerde websitesets' gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API op true in te stellen, wordt er een foutmelding gegenereerd.

  • Cookies van derden toegestaan

    Indien uitgeschakeld, voorkomt Chrome dat websites van derden cookies plaatsen. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API niet inschakelen in de incognitomodus, waar cookies van derden worden geblokkeerd en alleen op siteniveau kunnen worden toegestaan. Als u deze API in de incognitomodus op true probeert in te stellen, krijgt u een foutmelding.

    Let op: Individuele sites kunnen mogelijk nog steeds toegang krijgen tot cookies van derden, zelfs als deze API false retourneert, als ze een geldige uitzondering hebben of in plaats daarvan de Storage Access API gebruiken.

  • onderwerpenIngeschakeld
    Chrome 111+

    Als deze optie is uitgeschakeld, wordt de Topics API gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API op true in te stellen, wordt er een foutmelding gegenereerd.

,

Beschrijving

Gebruik de chrome.privacy API om het gebruik te beheren van de functies in Chrome die de privacy van een gebruiker kunnen beïnvloeden. Deze API is gebaseerd op het ChromeSetting-prototype van het type API voor het ophalen en instellen van de Chrome-configuratie.

Toestemmingen

privacy

Manifest

Om de API te kunnen gebruiken, moet u de "privacy"-toestemming in het manifest van uw extensie declareren. Bijvoorbeeld:

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

Gebruik

Het uitlezen van de huidige waarde van een Chrome-instelling is eenvoudig. Je moet eerst de eigenschap vinden waarin je geïnteresseerd bent, en vervolgens roep je de get() -methode aan op dat object om de huidige waarde en het controleniveau van je extensie op te halen. Om bijvoorbeeld te bepalen of de Autofill-functie van Chrome is ingeschakeld, schrijf je het volgende:

chrome.privacy.services.autofillEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

Het wijzigen van een instelling is iets complexer, simpelweg omdat u eerst moet controleren of uw extensie de instelling mag beheren. De gebruiker ziet geen wijziging in de instellingen als uw extensie een instelling wijzigt die door bedrijfsbeleid is vergrendeld op een specifieke waarde ( levelOfControl wordt ingesteld op "not_controllable"), of als een andere extensie de waarde beheert ( levelOfControl wordt ingesteld op "controlled_by_other_extensions"). De set() -aanroep zal slagen, maar de instelling wordt direct overschreven. Omdat dit verwarrend kan zijn, is het raadzaam de gebruiker te waarschuwen wanneer de gekozen instellingen niet daadwerkelijk worden toegepast.

Dit betekent dat je de get() -methode moet gebruiken om je toegangsniveau te bepalen, en vervolgens alleen set() moet aanroepen als je extensie de instelling kan beheren (sterker nog, als je extensie de instelling niet kan beheren, is het waarschijnlijk een goed idee om de functionaliteit visueel uit te schakelen om verwarring bij de gebruiker te voorkomen):

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

Als u geïnteresseerd bent in wijzigingen in de waarde van een instelling, voeg dan een listener toe aan de onChange gebeurtenis. Dit stelt u onder andere in staat om de gebruiker te waarschuwen als een recent geïnstalleerde extensie de controle over een instelling overneemt, of als het bedrijfsbeleid uw controle overschrijft. Om bijvoorbeeld te luisteren naar wijzigingen in de status van Autofill, volstaat de volgende code:

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

Voorbeelden

Om deze API uit te proberen, installeer je het privacy-API-voorbeeld uit de chrome-extension-samples- repository.

Soorten

IPHandlingPolicy

Chrome 48+

Het IP-adresbeleid van WebRTC.

Enum

"standaard"

"standaard_openbare_en_privé_interfaces"

"standaard_openbare_interface_alleen"

"disable_non_proxied_udp"

Eigenschappen

network

Instellingen die van invloed zijn op hoe Chrome in het algemeen omgaat met netwerkverbindingen.

Type

voorwerp

Eigenschappen

  • netwerkvoorspelling ingeschakeld

    Indien ingeschakeld, probeert Chrome uw browse-ervaring te versnellen door DNS-records vooraf op te lossen en preventief TCP- en SSL-verbindingen met servers te openen. Deze voorkeur heeft alleen invloed op acties die worden uitgevoerd door de interne voorspellingsservice van Chrome. Het heeft geen invloed op prefecturen of preconnecties die door webpagina's worden geïnitieerd. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • webRTCIPHandlingPolicy
    Chrome 48+

    Hiermee kunnen gebruikers de afwegingen tussen mediaprestaties en privacy specificeren die van invloed zijn op hoe WebRTC-verkeer wordt gerouteerd en hoeveel lokale adresinformatie wordt blootgesteld. De waarde van deze voorkeur is van het type IPHandlingPolicy, met als default .

services

Instellingen waarmee u functies kunt in- of uitschakelen die gebruikmaken van netwerkdiensten van derden, geleverd door Google en uw standaardzoekprovider.

Type

voorwerp

Eigenschappen

  • alternateErrorPagesEnabled

    Indien ingeschakeld, gebruikt Chrome een webservice om navigatiefouten op te lossen. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • automatisch invullen van adres ingeschakeld
    Chrome 70+

    Indien ingeschakeld, biedt Chrome aan om adressen en andere formuliergegevens automatisch in te vullen. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • automatisch invullenCreditCardIngeschakeld
    Chrome 70+

    Indien ingeschakeld, biedt Chrome aan om creditcardformulieren automatisch in te vullen. De waarde van deze voorkeur is een boolean, met als standaardwaarde ' true .

  • automatisch invullen ingeschakeld
    Niet meer bruikbaar sinds Chrome 70.

    Gebruik alstublieft privacy.services.autofillAddressEnabled en privacy.services.autofillCreditCardEnabled. Deze instellingen zijn in deze release behouden voor achterwaartse compatibiliteit en zullen in de toekomst worden verwijderd.

    Indien ingeschakeld, biedt Chrome aan om formulieren automatisch in te vullen. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • autofillOtherDatatypesEnabled
    In behandeling

    Indien ingeschakeld, biedt Chrome aan om de overige gegevenstypen automatisch in te vullen. Dit omvat reis- en identiteitsdocumenten. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

  • wachtwoordopslag ingeschakeld

    Indien ingeschakeld, zal de wachtwoordmanager vragen of u wachtwoorden wilt opslaan. De waarde van deze voorkeur is een boolean, met als standaardwaarde ' true .

  • veilig browsen ingeschakeld

    Indien ingeschakeld, doet Chrome zijn best om u te beschermen tegen phishing en malware. De waarde van deze voorkeur is een boolean, met de standaardwaarde ' true .

  • safeBrowsingExtendedReportingEnabled

    Indien ingeschakeld, stuurt Chrome extra informatie naar Google wanneer SafeBrowsing een pagina blokkeert, zoals de inhoud van de geblokkeerde pagina. De waarde van deze voorkeur is een boolean, met een standaardwaarde van false .

  • zoeksuggestie ingeschakeld

    Indien ingeschakeld, stuurt Chrome de tekst die u in de Omnibox typt naar uw standaard zoekmachine. Deze zoekmachine geeft vervolgens suggesties voor websites en zoekopdrachten die waarschijnlijk een aanvulling zijn op wat u tot nu toe hebt getypt. De waarde van deze voorkeur is een boolean, met de standaardwaarde ' true .

  • spellingServiceEnabled

    Indien ingeschakeld, gebruikt Chrome een webservice om spelfouten te corrigeren. De waarde van deze voorkeur is een boolean, met als standaardwaarde false .

  • translationServiceEnabled

    Indien ingeschakeld, biedt Chrome aan om pagina's te vertalen die niet in een door u gelezen taal zijn. De waarde van deze voorkeur is een boolean, met als standaardwaarde true .

websites

Instellingen die bepalen welke informatie Chrome beschikbaar stelt aan websites.

Type

voorwerp

Eigenschappen

  • adMeasurementEnabled
    Chrome 111+

    Indien uitgeschakeld, worden de Attribution Reporting API en de Private Aggregation API gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API's alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API's op true in te stellen, wordt er een foutmelding gegenereerd.

  • doNotTrackEnabled
    Chrome 65+

    Indien ingeschakeld, stuurt Chrome de header 'Do Not Track' ( DNT: 1 ) mee met uw verzoeken. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is false .

  • fledgeEnabled
    Chrome 111+

    Als deze optie is uitgeschakeld, wordt de Fledge API gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API op true in te stellen, wordt er een foutmelding gegenereerd.

  • hyperlinkAuditingEnabled

    Indien ingeschakeld, verzendt Chrome controlepings wanneer een website daarom vraagt ​​( <a ping> ping>). De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true .

  • protectedContentEnabled

    Alleen beschikbaar op Windows en ChromeOS : Indien ingeschakeld, kent Chrome een unieke ID toe aan plug-ins om beveiligde inhoud te kunnen uitvoeren. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true .

  • verwijzers ingeschakeld

    Indien ingeschakeld, stuurt Chrome referer headers mee met uw verzoeken. Ja, de naam van deze voorkeur komt niet overeen met de verkeerd gespelde header. Nee, we gaan deze niet wijzigen. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true .

  • gerelateerdeWebsiteSetsIngeschakeld
    Chrome 121+

    Indien uitgeschakeld, wordt 'Gerelateerde websitesets' gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API op true in te stellen, wordt er een foutmelding gegenereerd.

  • Cookies van derden toegestaan

    Indien uitgeschakeld, voorkomt Chrome dat websites van derden cookies plaatsen. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API niet inschakelen in de incognitomodus, waar cookies van derden worden geblokkeerd en alleen op siteniveau kunnen worden toegestaan. Als u deze API in de incognitomodus op true probeert in te stellen, krijgt u een foutmelding.

    Let op: Individuele sites kunnen mogelijk nog steeds toegang krijgen tot cookies van derden, zelfs als deze API false retourneert, als ze een geldige uitzondering hebben of in plaats daarvan de Storage Access API gebruiken.

  • onderwerpenIngeschakeld
    Chrome 111+

    Als deze optie is uitgeschakeld, wordt de Topics API gedeactiveerd. De waarde van deze voorkeur is van het type boolean en de standaardwaarde is true . Extensies kunnen deze API alleen uitschakelen door de waarde op false in te stellen. Als u probeert deze API op true in te stellen, wordt er een foutmelding gegenereerd.