demo · v140
IWA Kiosk Config
Chrome 140 adds device-attributes as a Permissions Policy feature. The chromestatus motivation: VDI clients migrating from Chrome Apps to Isolated Web Apps need device info (serial, asset tag) with less admin config but still under admin control. Toggle the policy and see what the API exposes.
Managed ChromeOS only
The Device Attributes API itself only resolves inside policy-installed kiosk apps and IWAs on managed ChromeOS devices. This page models the policy header + getter responses so you can see the gate shape.
Policy:
HTTP response header
Permissions-Policy: device-attributes=(self)
manifest snippet (IWA)
{
"permissions_policy": {
"device-attributes": ["self"]
}
}
navigator.managed.* in this context
checking…
in the iframe
depends on header
// in the IWA top-level page
const dirId = await navigator.managed.getDirectoryId(); // requires device-attributes
const serial = await navigator.managed.getSerialNumber(); // requires device-attributes
const asset = await navigator.managed.getAnnotatedAssetId(); // requires device-attributes
// inside an iframe, the call rejects unless the parent's header
// allowed this iframe's origin via Permissions-Policy.