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"]
);

see also