From b1345c4031e1d65b30006df5382bf7e32c03f749 Mon Sep 17 00:00:00 2001 From: mlmrx
Permissions-Policy: tools=() response header. The
+empty allowlist makes the {{tools}} [=policy-controlled feature=] unavailable to the document and its
+descendants; see [[#permissions-policy]]. This defensive use is not limited to cross-origin
+scenarios: same-origin scripts executing in the document are blocked as well. Because the
+[=user agent=] enforces the policy before WebMCP API operations run, scripts cannot bypass it by
+changing JavaScript load order or replacing page-level guards. This provides defense in depth; it
+does not mitigate the underlying script compromise or prevent scripts from using other web
+capabilities.
+
Permissions-Policy: tools=() response header. The
empty allowlist makes the {{tools}} [=policy-controlled feature=] unavailable to the document and its
-descendants; see [[#permissions-policy]]. This defensive use is not limited to cross-origin
-scenarios: same-origin scripts executing in the document are blocked as well. Because the
-[=user agent=] enforces the policy before WebMCP API operations run, scripts cannot bypass it by
-changing JavaScript load order or replacing page-level guards. This provides defense in depth; it
-does not mitigate the underlying script compromise or prevent scripts from using other web
-capabilities.
+descendants; see [[#permissions-policy]]. This defense applies to every descendant frame, including
+both same-origin and cross-origin ones. The [=user agent=] enforces this before script runs on the
+page, protecting against malicious scripts or dependencies from using WebMCP APIs.