설명
chrome.privacy
API를 사용하여 사용자의 개인 정보 보호에 영향을 줄 수 있는 Chrome의 기능 사용을 제어합니다. 이 API는 API 유형의 ChromeSetting 프로토타입을 사용하여 Chrome의 구성을 가져오고 설정합니다.
권한
privacy
API를 사용하려면 확장 프로그램의 매니페스트에서 'privacy' 권한을 선언해야 합니다. 예를 들면 다음과 같습니다.
{
"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
이 'controlled_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
WebRTC의 IP 처리 정책입니다.
열거형
'기본값'
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
속성
network
일반적으로 Chrome의 네트워크 연결 처리에 영향을 주는 설정입니다.
유형
객체
속성
-
networkPredictionEnabled
types.ChromeSetting<boolean>
이 기능을 사용 설정하면 Chrome에서 DNS 항목을 미리 확인하고 서버에 대한 TCP 및 SSL 연결을 선제적으로 열어 웹 탐색 환경을 개선하려고 시도합니다. 이 환경설정은 Chrome의 내부 예측 서비스에서 취하는 작업에만 영향을 미칩니다. 웹페이지에서 시작된 프리패치 또는 사전 연결에는 영향을 미치지 않습니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
webRTCIPHandlingPolicyChrome 48 이상
사용자가 미디어 성능/개인 정보 보호 절충안을 지정할 수 있도록 허용합니다. 이는 WebRTC 트래픽이 라우팅되는 방식과 노출되는 로컬 주소 정보의 양에 영향을 미칩니다. 이 환경설정의 값은 IPHandlingPolicy 유형이며 기본값은
default
입니다.
services
Google 및 기본 검색 제공업체에서 제공하는 서드 파티 네트워크 서비스가 필요한 기능을 사용 설정 또는 사용 중지하는 설정
유형
객체
속성
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
사용 설정하면 Chrome에서 웹 서비스를 사용하여 탐색 오류를 해결합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 이상사용 설정된 경우 Chrome에서 주소 및 기타 양식 데이터를 자동으로 입력하도록 제안합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 이상사용 설정하면 Chrome에서 신용카드 양식을 자동으로 작성하도록 제안합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
autofillEnabled
types.ChromeSetting<boolean>
Chrome 70부터 지원 중단됨privacy.services.autofillAddressEnabled 및 privacy.services.autofillCreditCardEnabled를 사용하세요. 이 기능은 이번 출시에서 이전 버전과의 호환성을 위해 유지되며 향후 삭제될 예정입니다.
사용 설정하면 Chrome에서 자동으로 양식을 작성하라는 메시지가 표시됩니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
passwordSavingEnabled
types.ChromeSetting<boolean>
사용 설정하면 비밀번호 관리자에서 비밀번호를 저장할지 묻습니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
사용 설정된 경우 Chrome은 피싱 및 멀웨어로부터 사용자를 보호하기 위해 최선을 다합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
사용 설정된 경우 세이프 브라우징에서 페이지를 차단하면 Chrome에서 차단된 페이지의 콘텐츠와 같은 추가 정보를 Google에 전송합니다. 이 환경설정의 값은 불리언이며 기본값은
false
입니다. -
searchSuggestEnabled
types.ChromeSetting<boolean>
사용 설정하면 Chrome에서 사용자가 검색주소창에 입력한 텍스트를 기본 검색엔진으로 전송합니다. 기본 검색엔진은 사용자가 지금까지 입력한 내용을 완성할 가능성이 높은 웹사이트 및 검색어를 예측하여 제공합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
spellingServiceEnabled
types.ChromeSetting<boolean>
사용 설정된 경우 Chrome은 웹 서비스를 사용하여 맞춤법 오류를 수정합니다. 이 환경설정의 값은 불리언이며 기본값은
false
입니다. -
translationServiceEnabled
types.ChromeSetting<boolean>
사용 설정하면 Chrome에서 모르는 언어로 된 페이지를 번역하도록 제안합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다.
websites
Chrome에서 웹사이트에 제공하는 정보를 결정하는 설정입니다.
유형
객체
속성
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 이상사용 중지하면 Attribution Reporting API 및 Private Aggregation API가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여 이러한 API만 사용 중지할 수 있습니다. 이러한 API를true
로 설정하려고 하면 오류가 발생합니다. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 이상사용 설정하면 Chrome에서 요청과 함께 '추적 금지' (
DNT: 1
) 헤더를 전송합니다. 이 환경설정의 값은 불리언 유형이며 기본값은false
입니다. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 이상사용 중지하면 Fledge API가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여 이 API를 사용 중지할 수만 있습니다. 이 API를true
로 설정하려고 하면 오류가 발생합니다. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
사용 설정된 경우 Chrome은 웹사이트에서 요청할 때 감사 핑을 전송합니다 (
<a ping>
). 이 환경설정의 값은 불리언 유형이며 기본값은true
입니다. -
protectedContentEnabled
types.ChromeSetting<boolean>
Windows 및 ChromeOS에서만 사용 가능: 사용 설정하면 Chrome에서 보호된 콘텐츠를 실행하기 위해 플러그인에 고유 ID를 제공합니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. -
referrersEnabled
types.ChromeSetting<boolean>
사용 설정하면 Chrome이 요청과 함께
referer
헤더를 전송합니다. 예, 이 환경설정의 이름이 철자가 틀린 헤더와 일치하지 않습니다. 아니요, 변경하지 않을 것입니다. 이 환경설정의 값은 불리언 유형이며 기본값은true
입니다. -
types.ChromeSetting<boolean>
Chrome 121 이상사용 중지하면 관련 웹사이트 세트가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여 이 API를 사용 중지할 수만 있습니다. 이 API를true
로 설정하려고 하면 오류가 발생합니다. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
사용 중지하면 Chrome에서 서드 파티 사이트가 쿠키를 설정하는 것을 차단합니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 서드 파티 쿠키가 차단되고 사이트 수준에서만 허용될 수 있는 시크릿 모드에서는 확장 프로그램이 이 API를 사용 설정할 수 없습니다. 시크릿 모드에서 이 API를 true로 설정하려고 하면 오류가 발생합니다.참고: 유효한 예외가 있거나 Storage Access API를 대신 사용하는 경우 이 API가
false
를 반환하더라도 개별 사이트에서 서드 파티 쿠키에 액세스할 수 있습니다. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 이상사용 중지하면 Topics API가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여 이 API를 사용 중지할 수만 있습니다. 이 API를true
로 설정하려고 하면 오류가 발생합니다.