更新日: 2026-09-25 robots: noindex
説明
chrome.privacy API を使用すると、ユーザーのプライバシーに影響する可能性がある Chrome の機能の使用を制御できます。この API は、Chrome の構成を取得および設定するために、types API の ChromeSetting プロトタイプに依存しています。
権限
privacyマニフェスト
この API を使用するには、拡張機能のマニフェストで「プライバシー」権限を宣言する必要があります。次に例を示します。
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
用途
Chrome 設定の現在の値を読み取るのは簡単です。まず、目的のプロパティを見つけてから、そのオブジェクトで get() を呼び出して、現在の値と拡張機能の制御レベルを取得する必要があります。たとえば、Chrome の自動入力機能が有効になっているかどうかを判断するには、次のように記述します。
chrome.privacy.services.autofillEnabled.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.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);
}
});
}
});
設定値の変更を検出するには、onChange イベントにリスナーを追加します。これにより、最近インストールされた拡張機能が設定を制御している場合や、エンタープライズ ポリシーが制御をオーバーライドしている場合に、ユーザーに警告できます。たとえば、次のコードは、自動入力のステータスの変更をリッスンするのに十分です。
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.
}
);
例
この API を試すには、chrome-extension-samples リポジトリからプライバシー API の例をインストールします。
型
AutofillBlockedType
自動入力データのカテゴリ。
列挙型
"contact_info"
"payments"
"identity_docs"
"travel"
"all"
IPHandlingPolicy
WebRTC の IP 処理ポリシー。
列挙型
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
プロパティ
network
Chrome によるネットワーク接続の処理全般に影響する設定。
タイプ
オブジェクト
プロパティ
-
networkPredictionEnabled
types.ChromeSetting<boolean>
有効にした場合、Chrome は DNS エントリの事前解決、サーバーへの TCP 接続と SSL 接続の事前オープン、ページのプリロードを行うことで、ウェブ ブラウジングの高速化を試みます。この設定を無効にすると、サイト所有者がコンテンツを投機的読み込みする機能(Speculation Rules API によるプリフェッチや事前レンダリングなど)がオーバーライドされます。ウェブページで開始された事前接続や DNS プリフェッチには影響しません。この設定の値はブール値で、デフォルトは
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>
有効にした場合、セーフ ブラウジングによってページがブロックされると、ブロックされたページのコンテンツなどの追加情報が Google に送信されます。この設定の値はブール値で、デフォルトは
falseです。 -
searchSuggestEnabled
types.ChromeSetting<boolean>
有効にすると、アドレスバーに入力したテキストがデフォルトの検索エンジンに送信され、入力した内容を補完する可能性の高いウェブサイトや検索の候補が表示されます。この設定の値はブール値で、デフォルトは
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です。拡張機能でこれらの API を無効にするには、値をfalseに設定します。これらの API をtrueに設定しようとすると、エラーがスローされます。 -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 以降有効にすると、Chrome はリクエストとともに「トラッキング拒否」(
DNT: 1)ヘッダーを送信します。この設定の値はブール値で、デフォルト値はfalseです。 -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 以降無効にすると、Fledge API が無効になります。この設定の値はブール値で、デフォルト値は
trueです。拡張機能でこの API を無効にするには、値をfalseに設定します。この API をtrueに設定しようとすると、エラーがスローされます。 -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
有効にすると、ウェブサイト(
<a ping>)からリクエストされたときに Chrome が監査 ping を送信します。この設定の値はブール値で、デフォルト値はtrueです。 -
protectedContentEnabled
types.ChromeSetting<boolean>
Windows と ChromeOS でのみ利用可能: 有効にすると、Chrome は保護されたコンテンツを実行するためにプラグインに一意の ID を提供します。この設定の値はブール値で、デフォルト値は
trueです。 -
referrersEnabled
types.ChromeSetting<boolean>
有効にすると、Chrome はリクエストとともに
refererヘッダーを送信します。はい。この設定の名前は、スペルミスのあるヘッダーと一致しません。いいえ、変更する予定はありません。この設定の値はブール値で、デフォルト値はtrueです。 -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
無効にした場合、Chrome はサードパーティ サイトによる Cookie の設定をブロックします。この設定の値はブール値で、デフォルト値は
trueです。拡張機能は、シークレット モードでこの API を有効にできない場合があります。シークレット モードでは、サードパーティ Cookie はブロックされ、サイトレベルでのみ許可できます。シークレット モードでこの API を true に設定しようとすると、エラーがスローされます。注: この API が
falseを返しても、個々のサイトが有効な除外を適用している場合や、代わりに Storage Access API を使用している場合は、サードパーティ Cookie にアクセスできる可能性があります。 -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 以降無効にすると、Topics API は無効になります。この設定の値はブール値で、デフォルト値は
trueです。拡張機能でこの API を無効にするには、値をfalseに設定します。この API をtrueに設定しようとすると、エラーがスローされます。