Permissions-Policy (Feature-Policy) HTTPヘッダー生成&検証ツール
HTTPセキュリティヘッダー&デバイスパーミッション

Permissions-Policy (Feature-Policy) HTTPヘッダー生成&検証ツール

カメラ、位置情報、マイク、決済APIなどブラウザ機能へのアクセスを厳格に制御する最新のPermissions-Policy HTTPレスポンスヘッダーを作成・検証します。

プリセット:
ヘッダーディレクティブ設定
camera重大

動画入力キャプチャデバイス(Webカメラ、前面/背面レンズ)へのアクセスを制御します。

microphone重大

音声入力録音デバイスおよびシステムマイクへのアクセスを制御します。

geolocation重大

GPSおよび高精度/低精度の地理的位置座標へのアクセスを制御します。

payment重大

ブラウザ標準のPayment Request APIダイアログおよびデジタルウォレットを制御します。

display-capture重大

デスクトップ画面やディスプレイの録画を許可するScreen Capture APIを制御します。

usb高

有線USBハードウェアデバイスへの低レベル直接アクセスを提供するWebUSB APIを制御します。

bluetooth高

ワイヤレスBluetooth LE周辺機器のペアリングと読み取りを行うWeb Bluetooth APIを制御します。

hid高

特殊ゲームパッドや非標準ヒューマンインターフェース向けのWebHID APIを制御します。

serial高

RS-232シリアル通信ハードウェアとの双方向通信を行うWeb Serial APIを制御します。

otp-credentials高

モバイルOSからのSMSワンタイム認証トークン読み取りを行うWebOTP APIを制御します。

clipboard-read高

システムクリップボードからのテキストや画像のプログラムによる読み取りを制御します。

clipboard-write中

ユーザーのクリップボードへの任意のデータ書き込みを制御します。

accelerometer中

XYZベクトルの物理的加速度を計測する加速度センサーへのアクセスを制御します。

gyroscope中

3D空間の角回転速度を計測するジャイロスコープセンサーを制御します。

magnetometer中

デジタルコンパスおよび地磁気センサーへのアクセスを制御します。

ambient-light-sensor中

周囲の照度(ルクス)を計測する環境光センサーへのアクセスを制御します。

idle-detection中

ユーザーの操作非アクティブ状態や画面ロックを検出するIdle Detection APIを制御します。

midi中

シンセサイザーやMIDIコントローラー機器と連携するWeb MIDI APIを制御します。

speaker-selection中

オーディオ再生先スピーカーを切り替えるselectAudioOutput()を制御します。

browsing-topics中

サイト横断的な興味関心広告プロファイリングを行うPrivacy Sandbox Topics APIを制御します。

run-ad-auction中

デバイス上でローカル広告入札オークションを実行するProtected Audience APIを制御します。

join-ad-interest-group中

リマーケティング広告キャンペーン用のインタレストグループ登録を制御します。

storage-access中

iframe内でのサードパーティCookieアクセスを許可するStorage Access APIを制御します。

local-fonts中

ローカルOSにインストールされたフォントカタログの照会を制御します。

sync-xhr中

ブラウザのUIスレッドをブロックする同期XMLHttpRequest呼び出しを制御します。

publickey-credentials-get中

ログイン時のWebAuthn認証情報および生体認証パスキーの取得を制御します。

publickey-credentials-create中

ドメイン上でのFIDO2パスキーおよび公開鍵認証情報の新規登録を制御します。

identity-credentials-get中

FedCM連携IDプロバイダーのサインインダイアログ呼び出しを制御します。

cross-origin-isolated中

SharedArrayBuffer等に必須となるクロスオリジン分離要件を制御します。

xr-spatial-tracking中

WebXRによるVR/ARの空間、頭部、手のモーション追跡機能を制御します。

fullscreen低

Element.requestFullscreen()によるフルスクリーン表示モードへの移行を制御します。

autoplay低

ユーザー操作なしでのHTML5動画・音声メディアの自動再生を制御します。

picture-in-picture低

フローティング動画再生を行うHTMLVideoElement.requestPictureInPicture()を制御します。

encrypted-media低

Encrypted Media Extensions(DRM / Widevine / PlayReady著作権保護再生)を制御します。

screen-wake-lock低

モバイル端末の画面消灯やスリープを防ぐScreen Wake Lock APIを制御します。

gamepad低

ゲームコントローラーのボタン入力やスティック操作を取得するGamepad APIを制御します。

web-share低

OSネイティブの共有ダイアログを呼び出すnavigator.share()を制御します。

compute-pressure低

CPU負荷や熱スロットリングのテレメトリを提供するCompute Pressure APIを制御します。

window-management低

接続されたマルチモニターディスプレイを検出するWindow Management APIを制御します。

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), display-capture=(), usb=(), bluetooth=(), hid=(), serial=(), screen-wake-lock=(), idle-detection=(), browsing-topics=(), run-ad-auction=(), join-ad-interest-group=(), clipboard-read=(), sync-xhr=(), local-fonts=(), midi=(), otp-credentials=(), fullscreen=(self), autoplay=(self), publickey-credentials-get=(self), publickey-credentials-create=(self), encrypted-media=(self)
設定済みディレクティブ
24 / 39 個のポリシーを適用中
セキュリティ強化グレード
スコア 100 / 100 (A+)
準拠仕様規格
W3C Permissions Policy L1 / RFC 8941

W3C Permissions Policy L1

公式W3C Permissions Policy仕様に準拠した最新の構造化フィールド構文を生成し、非推奨のFeature-Policyヘッダーをオリジンごとの高精度な許可リストに置き換えます。

ゼロ知識クライアント計算

すべてのポリシー合成、ヘッダー解析、セキュリティ監査はブラウザのメモリ内で100%ローカルに実行されます。ヘッダーやオリジンドメインが外部サーバーに送信されることは一切ありません。

マルチサーバー一括エクスポート

Nginx、Apache HTTPD、Caddy Server、Next.jsセキュリティヘッダー、HTML iframe allow属性向けの即時利用可能な設定を生成し、リアルタイムに検証します。

技術リファレンス&アーキテクチャガイド

Permissions-Policy (Feature-Policy) HTTPヘッダー生成&検証ツール — リファレンスガイド

カメラ、位置情報、マイク、決済APIなどブラウザ機能へのアクセスを厳格に制御する最新のPermissions-Policy HTTPレスポンスヘッダーを作成・検証します。

主要パラメータ&設定項目

cameraディレクティブ (許可リスト)

ドキュメントおよび埋め込みiframeがMediaStream / getUserMedia()経由でカメラ(映像入力機器)へアクセスすることを制御します。

初期値: ()
microphoneディレクティブ (許可リスト)

Media Capture and Streams APIを通じたマイク(音声入力機器)へのアクセス権限を制御します。

初期値: ()
geolocationディレクティブ (許可リスト)

navigator.geolocationインターフェースを通じたユーザーの現在位置情報(GPS座標)へのアクセスを制限します。

初期値: (self)
paymentディレクティブ (許可リスト)

Web標準の決済API(Payment Request API)を使用したトランザクションやチェックアウト機能の実行権限を制御します。

初期値: (self "https://checkout.stripe.com")
display-captureディレクティブ (許可リスト)

navigator.mediaDevices.getDisplayMedia()を使用した画面キャプチャおよび画面録画機能の利用を制限します。

初期値: ()

プロの活用テクニック&推奨設定

Feature-PolicyからPermissions-Policyへの構文移行

旧Feature-Policyはスペース区切りの単一引用符(例: camera 'none')を使用していましたが、新規格Permissions-PolicyはRFC 8941構造化フィールド構文(括弧と二重引用符、例: camera=(), geolocation=(self))を採用しています。モダンブラウザではPermissions-Policyが最優先されます。

iframeのallow属性との連携を徹底する

Permissions-Policyはドキュメント最上位の権限上限を定めます。埋め込まれたサードパーティ製iframeでカメラや決済を許可する場合、親ページのHTTPヘッダーでオリジンを許可した上で、<iframe>タグ側に明示的にallow="payment 'src'"を指定する必要があります。

未使用のセンサー・追跡APIを空リストで完全ブロック

Webサイトで使わない高リスクAPI(accelerometer=(), gyroscope=(), magnetometer=(), usb=(), serial=(), interest-cohort=())を明示的に空リスト()で無効化することで、クロスサイトスクリプティング(XSS)による盗聴やユーザー追跡リスクを最小化できます。

二重引用符を用いたサードパーティオリジンの正確な指定

決済プロバイダや外部サービスなどのオリジンに権限を委譲する場合、括弧内に二重引用符で囲みスペースで区切って指定します(例: payment=(self "https://pay.example.com" "https://js.stripe.com"))。引用符の脱落に注意してください。

よくあるトラブルと解決策

getUserMedia()やnavigator.geolocationの呼び出しで「DOMException: NotAllowedError」が発生する

ドキュメントのPermissions-Policyヘッダーに対象オリジンが許可リストとして登録されているか確認してください。iframe内の呼び出しの場合は、親ドキュメントのヘッダーとiframeのallow属性の両方で権限が付与されている必要があります。

ブラウザの開発者ツールで構文エラーが表示されるか、ディレクティブが無効化される

オリジンURLが二重引用符で囲まれ、リスト全体が括弧で囲まれているか確認してください。CSPと異なり単一引用符('none'など)は使用できず、RFC 8941規格に準拠したcamera=()等の記述が必要です。

埋め込み決済ウィジェットや認証iframeがブロックされて表示されない

親ページのPermissions-Policyにサードパーティのオリジンが登録されているか(例: payment=(self "https://auth.vendor.com"))、およびiframe要素にallow="payment https://auth.vendor.com"属性が付与されているかを確認してください。親でpayment=()となっていると子フレームは無条件に拒絶されます。

よくある質問 (FAQ)

Feature-PolicyとPermissions-Policyの主な違いは何ですか?▼

Permissions-PolicyはFeature-Policyの正式な後継W3C標準規格です。構文がRFC 8941 Structured Field Valuesに刷新され、型付けされた厳格な解析とポリシー適用が可能になりました。現在すべての主要モダンブラウザでPermissions-Policyが推奨・優先されています。

Permissions-PolicyはContent Security Policy (CSP)の代替になりますか?▼

いいえ、代替ではなく相互補完の関係にあります。CSPはスクリプトやスタイル、接続先などのリソース読み込みを制御してXSSを防ぎます。一方、Permissions-Policyはカメラ、マイク、GPS、USBなどのデバイス機能やブラウザAPIの実行権限を制御します。

Permissions-Policyはiframeやネストされたページにどう作用しますか?▼

最上位ドキュメントのポリシーが絶対的な権限の上限となります。子iframeが親の許可範囲を超えて特権を自己昇格させることはできません。iframeに機能を許可するには、親のHTTPヘッダーとiframeのallow属性の両方で明示的な許可が必要です。

HTMLの<meta>タグ内でPermissions-Policyを設定できますか?▼

いいえ。W3C仕様により、<meta http-equiv="Permissions-Policy">による設定は明示的に禁止されています。DOMの解析前にブラウザが厳格にセキュリティ境界を適用できるよう、必ずWebサーバー(Nginx, Apache, Cloudflare等)のHTTPレスポンスヘッダーとして配信する必要があります。

一般的なセキュアWebアプリケーションの推奨ベースライン設定は?▼

使用しないハードウェア機能・追跡機能をデフォルトで全面拒否する設定が推奨されます: camera=(), microphone=(), geolocation=(), payment=(), usb=(), display-capture=(), serial=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=()。自社機能で必要なものだけを(self)または個別ドメインで選択的に開放します。

関連するおすすめ開発ツール

すべてのツール →
HSTS (Strict-Transport-Security) ヘッダー生成&プリロード検証セキュリティ

RFC 6797準拠のHTTP Strict-Transport-Security (HSTS) ヘッダー生成、max-age計算、includeSubDomains指定、およびChrome HSTSプリロード適格性検証ガイド。

ツールを開く→
OpenSSHサーバー(sshd_config)セキュリティ強化設定ジェネレーターセキュリティ

rootログイン禁止、公開鍵認証の強制、最新のAEAD暗号スイート、厳格なアイドルタイムアウトを備えた本番Linuxサーバー向けsshd_configを生成します。

ツールを開く→
Linuxセキュリティ&インフラ自動化セキュリティ

Ubuntu UFW のファイアウォール規則、デフォルト遮断ポリシー、レート制限、ポート転送、自動実行可能な Bash スクリプトをブラウザ上で安全に生成します。

ツールを開く→
Linux iptables ファイアウォールルール構築・シェルスクリプト生成セキュリティ

INPUT/FORWARD/OUTPUTチェーン、ステートフルパケット検査、SYN Flood防御、NATポートフォワーディング、自動シェルスクリプト出力。

ツールを開く→
DNS SPF (Sender Policy Framework) レコードビルダー&解説 技術者ガイドセキュリティ

RFC 7208準拠のSPF TXTレコードを生成・検証。IPv4/IPv6 CIDRブロック、MX、A、includeメカニズム、SoftFail/HardFail強制ポリシーの設計とDNS 10回ルックアップ制限対策。

ツールを開く→
DNS DMARCポリシーレコードビルダー&構文バリデータセキュリティ

ポリシー適用(none/quarantine/reject)、rua/ruf集約レポート、アライメントタグを備えたRFC 7489準拠のDMARC DNS TXTレコードを生成・検証します。

ツールを開く→