chrome.privacy

설명

chrome.privacy API를 사용하여 사용자 개인 정보 보호에 영향을 줄 수 있는 Chrome 기능의 사용을 관리합니다. 이 API는 API 유형의 ChromeSetting 프로토타입을 사용하여 Chrome의 구성을 가져오고 설정합니다.

권한

privacy

API를 사용하려면 확장 프로그램의 매니페스트에서 '개인 정보 보호' 권한을 선언해야 합니다. 예를 들면 다음과 같습니다.

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

개념 및 사용법

Chrome 설정의 현재 값을 읽는 것은 간단합니다. 먼저 관심 있는 속성을 찾은 다음 해당 객체에서 get()를 호출하여 현재 값과 확장 프로그램의 제어 수준을 검색합니다. 예를 들어 Chrome의 신용카드 자동 완성 기능이 사용 설정되어 있는지 확인하려면 다음과 같이 작성합니다.

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

설정 값을 변경하는 것은 조금 더 복잡합니다. 먼저 확장 프로그램이 설정을 제어할 수 있는지 확인해야 하기 때문입니다. 확장 프로그램이 엔터프라이즈 정책에 따라 특정 값으로 잠긴 설정을 전환하거나(levelOfControl가 'not_controllable'로 설정됨) 다른 확장 프로그램이 값을 제어하는 경우 (levelOfControl가 'managed_by_other_extensions'로 설정) 사용자에게 설정 변경사항이 표시되지 않습니다. set() 호출은 성공하지만 설정이 즉시 재정의됩니다. 혼동될 수 있으므로 사용자가 선택한 설정이 실질적으로 적용되지 않을 때 사용자에게 경고하는 것이 좋습니다.

즉, get() 메서드를 사용하여 액세스 수준을 확인한 다음 확장 프로그램이 설정을 제어할 수 있는 경우에만 set()를 호출해야 합니다 (실제로 확장 프로그램에서 설정을 제어할 수 없는 경우 기능을 시각적으로 사용 중지하여 사용자의 혼란을 줄이는 것이 좋습니다).

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

설정 값을 변경하려면 onChange 이벤트에 리스너를 추가합니다. 다른 용도 외에도 최근에 설치된 확장 프로그램이 설정을 제어하거나 엔터프라이즈 정책이 제어 권한을 재정의하는 경우 사용자에게 경고할 수 있습니다. 예를 들어 신용카드 자동 완성 상태의 변경사항을 수신 대기하려면 다음 코드로 충분합니다.

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

이 API를 사용해 보려면 chrome-extension-samples 저장소의 개인 정보 보호 API 예시를 설치하세요.

유형

IPHandlingPolicy

Chrome 48 이상

WebRTC의 IP 처리 정책입니다.

enum

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

속성

network

Chrome의 일반적인 네트워크 연결 처리에 영향을 미치는 설정입니다.

유형

객체

속성

  • networkPredictionEnabled

    사용하도록 설정하면 Chrome은 DNS 항목을 사전 확인하고 서버에 대한 TCP 및 SSL 연결을 사전에 열어 사용자의 웹 브라우징 속도를 높입니다. 이 환경설정은 Chrome의 내부 예측 서비스에서 실행한 작업에만 영향을 미칩니다. 웹페이지에서 시작된 prefecting이나 사전 연결에는 영향을 미치지 않습니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • webRTCIPHandlingPolicy
    Chrome 48 이상

    사용자가 WebRTC 트래픽이 라우팅되는 방식과 노출되는 로컬 주소 정보의 양에 영향을 미치는 미디어 성능/개인 정보 보호 절충점을 지정하도록 허용합니다. 이 환경설정의 값은 IPHandlingPolicy 유형이며 기본값은 default입니다.

services

Google 및 기본 검색 공급자가 제공하는 타사 네트워크 서비스가 필요한 기능을 사용 또는 사용 중지하는 설정입니다.

유형

객체

속성

  • alternateErrorPagesEnabled

    사용하도록 설정하면 Chrome은 웹 서비스를 사용하여 탐색 오류를 해결합니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • autofillAddressEnabled
    Chrome 70 이상

    사용하도록 설정하면 Chrome에서 주소와 기타 양식 데이터를 자동으로 채울지 묻는 메시지가 표시됩니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • autofillCreditCardEnabled
    Chrome 70 이상

    사용하도록 설정하면 Chrome에서 신용카드 양식을 자동으로 입력할지 묻는 메시지가 표시됩니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • autofillEnabled
    Chrome 70부터 지원 중단됨

    privacy.services.autofillAddressEnabled 및 privacy.services.autofillCreditCardEnabled를 사용합니다. 이는 이번 버전에서 이전 버전과의 호환성을 위해 유지되며 향후 삭제될 예정입니다.

    사용 설정하면 Chrome에서 자동으로 양식을 작성하도록 요청합니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • passwordSavingEnabled

    사용 설정하면 비밀번호 관리자에서 비밀번호를 저장할지 묻습니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • safeBrowsingEnabled

    사용하도록 설정한 경우 Chrome은 피싱 및 멀웨어로부터 사용자를 보호하기 위해 최선을 다합니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • safeBrowsingExtendedReportingEnabled

    사용 설정하면 세이프 브라우징에서 차단된 페이지의 콘텐츠와 같은 페이지를 차단할 때 Chrome에서 추가 정보를 Google에 전송합니다. 이 환경설정의 값은 부울이며 기본값은 false입니다.

  • searchSuggestEnabled

    사용하도록 설정하면 Chrome은 검색창에 입력한 텍스트를 기본 검색엔진으로 전송합니다. 이 검색엔진은 사용자가 지금까지 입력한 내용을 기반으로 하는 예상 웹사이트와 검색어를 제공합니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

  • spellingServiceEnabled

    사용하도록 설정하면 Chrome에서 웹 서비스를 사용하여 맞춤법 오류를 수정합니다. 이 환경설정의 값은 부울이며 기본값은 false입니다.

  • translationServiceEnabled

    사용하도록 설정하면 Chrome에서 사용자가 다른 언어로 된 페이지에 대해 번역할지 묻게 됩니다. 이 환경설정의 값은 부울이며 기본값은 true입니다.

websites

Chrome이 웹사이트에 제공하는 정보를 결정하는 설정입니다.

유형

객체

속성

  • adMeasurementEnabled
    Chrome 111 이상

    사용 중지하면 Attribution Reporting APIPrivate Aggregation API가 비활성화됩니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다. 확장 프로그램은 값을 false로 설정하는 방법으로만 이러한 API를 사용 중지할 수 있습니다. 이러한 API를 true로 설정하려고 하면 오류가 발생합니다.

  • doNotTrackEnabled
    Chrome 65 이상

    사용 설정하면 Chrome에서 요청과 함께 '추적 안함' (DNT: 1) 헤더를 전송합니다. 이 환경설정의 값은 부울 유형이며 기본값은 false입니다.

  • fledgeEnabled
    Chrome 111 이상

    사용 중지하면 Fledge API가 비활성화됩니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다. 확장 프로그램은 값을 false로 설정해야 이 API를 사용 중지할 수 있습니다. 이 API를 true로 설정하려고 하면 오류가 발생합니다.

  • hyperlinkAuditingEnabled

    사용 설정하면 웹사이트 (<a ping>)에서 요청할 때 Chrome이 감사 핑을 전송합니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다.

  • protectedContentEnabled

    Windows와 ChromeOS에서만 사용 가능: 사용 설정하면 Chrome에서 보호된 콘텐츠를 실행하기 위해 플러그인에 고유 ID를 제공합니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다.

  • referrersEnabled

    사용 설정하면 Chrome에서 요청과 함께 referer 헤더를 전송합니다. 예, 이 환경설정의 이름이 맞춤법이 틀린 헤더와 일치하지 않습니다. 아니요, 변경하지 않을 것입니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다.

  • relatedWebsiteSetsEnabled
    Chrome 121 이상

    사용 중지하면 관련 웹사이트 세트가 비활성화됩니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다. 확장 프로그램은 값을 false로 설정해야 이 API를 사용 중지할 수 있습니다. 이 API를 true로 설정하려고 하면 오류가 발생합니다.

  • thirdPartyCookiesAllowed

    사용 중지하면 Chrome에서 서드 파티 사이트에서 쿠키를 설정하지 못하도록 차단합니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다.

  • topicsEnabled
    Chrome 111 이상

    사용 중지하면 Topics API가 비활성화됩니다. 이 환경설정의 값은 부울 유형이며 기본값은 true입니다. 확장 프로그램은 값을 false로 설정해야 이 API를 사용 중지할 수 있습니다. 이 API를 true로 설정하려고 하면 오류가 발생합니다.