demo · v144
Policy Builder
Pick which high-entropy UA Client Hints you intend to ship, and to whom. The builder writes the matching Permissions-Policy header and allow= attribute for each iframe, then a live probe against your own session shows which hints are reachable now.
userAgentData.getHighEntropyValues: checking…
which hints?
delegate to
generated headers
iframe allow=
live probe of this session
the API
// HTTP response header to delegate hint collection
Permissions-Policy: ch-ua-platform-version=(self "analytics.example"),
ch-ua-arch=(self),
ch-ua-model=()
// iframe
<iframe allow="ch-ua-platform-version 'self'"></iframe>
// JS read
const { platformVersion, architecture, model } = await navigator.userAgentData.getHighEntropyValues(
["platformVersion", "architecture", "model"]
);