// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[
  {
    "namespace": "privacy",
    "description": "Use the <code>chrome.privacy</code> API to control usage of the features in Chrome that can affect a user's privacy. This API relies on the <a href='types#ChromeSetting'>ChromeSetting prototype of the type API</a> for getting and setting Chrome's configuration.",
    "types": [
      {
        "id": "IPHandlingPolicy",
        "type": "string",
        "enum": ["default", "default_public_and_private_interfaces", "default_public_interface_only", "disable_non_proxied_udp"],
        "description": "The IP handling policy of WebRTC."
      }
    ],
    "properties": {
      "network": {
        "type": "object",
        "value": {},
        "description": "Settings that influence Chrome's handling of network connections in general.",
        "properties": {
          "networkPredictionEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["networkPredictionEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome attempts to speed up your web browsing experience by pre-resolving DNS entries and preemptively opening TCP and SSL connections to servers. This preference only affects actions taken by Chrome's internal prediction service. It does not affect webpage-initiated prefectches or preconnects. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "webRTCIPHandlingPolicy": {
            "$ref": "types.ChromeSetting",
            "value": ["webRTCIPHandlingPolicy", {"$ref":"IPHandlingPolicy"}],
            "description": "Allow users to specify the media performance/privacy tradeoffs which impacts how WebRTC traffic will be routed and how much local address information is exposed. This preference's value is of type IPHandlingPolicy, defaulting to <code>default</code>."
          }
        }
      },
      "services": {
        "type": "object",
        "value": {},
        "description": "Settings that enable or disable features that require third-party network services provided by Google and your default search provider.",
        "properties": {
          "alternateErrorPagesEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["alternateErrorPagesEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome uses a web service to help resolve navigation errors. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "autofillEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["autofillEnabled", {"type":"boolean"}],
            "deprecated": "Please use privacy.services.autofillAddressEnabled and privacy.services.autofillCreditCardEnabled. This remains for backward compatibility in this release and will be removed in the future.",
            "description": "If enabled, Chrome offers to automatically fill in forms. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "autofillAddressEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["autofillAddressEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome offers to automatically fill in addresses and other form data. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "autofillCreditCardEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["autofillCreditCardEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome offers to automatically fill in credit card forms. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "passwordSavingEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["passwordSavingEnabled", {"type":"boolean"}],
            "description": "If enabled, the password manager will ask if you want to save passwords. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "safeBrowsingEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["safeBrowsingEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome does its best to protect you from phishing and malware. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "safeBrowsingExtendedReportingEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["safeBrowsingExtendedReportingEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome will send additional information to Google when SafeBrowsing blocks a page, such as the content of the blocked page. This preference's value is a boolean, defaulting to <code>false</code>."
          },
          "searchSuggestEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["searchSuggestEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome sends the text you type into the Omnibox to your default search engine, which provides predictions of websites and searches that are likely completions of what you've typed so far. This preference's value is a boolean, defaulting to <code>true</code>."
          },
          "spellingServiceEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["spellingServiceEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome uses a web service to help correct spelling errors. This preference's value is a boolean, defaulting to <code>false</code>."
          },
          "translationServiceEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["translationServiceEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome offers to translate pages that aren't in a language you read. This preference's value is a boolean, defaulting to <code>true</code>."
          }
        }
      },
      "websites": {
        "type": "object",
        "value": {},
        "description": "Settings that determine what information Chrome makes available to websites.",
        "properties": {
          "thirdPartyCookiesAllowed": {
            "$ref": "types.ChromeSetting",
            "value": ["thirdPartyCookiesAllowed", {"type": "boolean"}],
            "description": "If disabled, Chrome blocks third-party sites from setting cookies. The value of this preference is of type boolean, and the default value is <code>true</code>. Extensions may not enable this API in Incognito mode, where third-party cookies are blocked and can only be allowed at the site level. If you try setting this API to true in Incognito, it will throw an error.<br></br>Note: Individual sites may still be able to access third-party cookies when this API returns <code>false</code>, if they have a valid <a href='https://developers.google.com/privacy-sandbox/cookies/temporary-exceptions/preserving-critical-user-experiences'>exemption</a> or they use the <a href='https://developers.google.com/privacy-sandbox/cookies/storage-access-api'>Storage Access API</a> instead."
          },
          "topicsEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["topicsEnabled", {"type": "boolean"}],
            "description": "If disabled, the <a href='https://developer.chrome.com/en/docs/privacy-sandbox/topics/'>Topics API</a> is deactivated. The value of this preference is of type boolean, and the default value is <code>true</code>. Extensions may only disable this API by setting the value to <code>false</code>. If you try setting this API to <code>true</code>, it will throw an error."
          },
            "fledgeEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["fledgeEnabled", {"type": "boolean"}],
            "description": "If disabled, the <a href='https://developer.chrome.com/docs/privacy-sandbox/fledge/'>Fledge API</a> is deactivated. The value of this preference is of type boolean, and the default value is <code>true</code>. Extensions may only disable this API by setting the value to <code>false</code>. If you try setting this API to <code>true</code>, it will throw an error."
          },
          "adMeasurementEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["adMeasurementEnabled", {"type": "boolean"}],
            "description": "If disabled, the <a href='https://developer.chrome.com/en/docs/privacy-sandbox/attribution-reporting/'>Attribution Reporting API</a> and <a href='https://developer.chrome.com/docs/privacy-sandbox/private-aggregation/'>Private Aggregation API</a> are deactivated. The value of this preference is of type boolean, and the default value is <code>true</code>. Extensions may only disable these APIs by setting the value to <code>false</code>. If you try setting these APIs to <code>true</code>, it will throw an error."
          },
          "hyperlinkAuditingEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["hyperlinkAuditingEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome sends auditing pings when requested by a website (<code>&lt;a ping&gt;</code>). The value of this preference is of type boolean, and the default value is <code>true</code>."
          },
          "referrersEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["referrersEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome sends <code>referer</code> headers with your requests. Yes, the name of this preference doesn't match the misspelled header. No, we're not going to change it. The value of this preference is of type boolean, and the default value is <code>true</code>."
          },
          "doNotTrackEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["doNotTrackEnabled", {"type":"boolean"}],
            "description": "If enabled, Chrome sends 'Do Not Track' (<code>DNT: 1</code>) header with your requests. The value of this preference is of type boolean, and the default value is <code>false</code>."
          },
          "protectedContentEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["protectedContentEnabled", {"type":"boolean"}],
            "description": "<strong>Available on Windows and ChromeOS only</strong>: If enabled, Chrome provides a unique ID to plugins in order to run protected content. The value of this preference is of type boolean, and the default value is <code>true</code>.",
            "platforms": ["win", "chromeos"]
          },
          "relatedWebsiteSetsEnabled": {
            "$ref": "types.ChromeSetting",
            "value": ["relatedWebsiteSetsEnabled", {"type": "boolean"}],
            "description": "If disabled, <a href='https://developer.chrome.com/docs/privacy-sandbox/related-website-sets/'>Related Website Sets</a> is deactivated. The value of this preference is of type boolean, and the default value is <code>true</code>. Extensions may only disable this API by setting the value to <code>false</code>. If you try setting this API to <code>true</code>, it will throw an error."
          }
        }
      }
    }
  }
]
