enterprise.deviceAttributes

The enterprise.deviceAttributes permission allows an extension, running on a managed ChromeOS device, to read device attributes set by an enterprise administrator.

This is an enterprise-only and ChromeOS-only permission. It can only be used by extensions that are force-installed by an enterprise policy.

What it does

  • Grants access to the chrome.enterprise.deviceAttributes API.
  • Allows the extension to read device identifiers that have been provisioned by the organization's administrator.
  • This can include attributes like the device's serial number, asset ID, or annotated location.

When to use it

This is for extensions that are part of a corporate device management strategy.

Examples:

  • An asset management extension that reports device information back to a central server.
  • An extension that customizes its behavior based on the device's assigned location or role.
  • A support tool that retrieves the device's serial number to help a helpdesk agent.

Manifest Declaration

{
  "name": "My Enterprise Device Reporter",
  "version": "1.0",
  "manifest_version": 3,
  "permissions": [
    "enterprise.deviceAttributes"
  ]
}

Security & Privacy

Why is it not risky for you?

This is a special permission that only works on computers managed by a company or school IT department. It is designed for corporate environments and will have no effect on your personal computer.

If you see an extension asking for this permission for your personal use, it's likely a mistake or a poorly designed extension, but it does not pose a direct security threat to you because the permission will not function outside of a managed enterprise setting. On a work computer, this permission is used by your IT department to manage device and network settings for administrative and security purposes.

API Usage Example

This example reads the device's asset ID and annotated location.

// background.js or popup.js

async function getDeviceAttributes() {
  if (!chrome.enterprise || !chrome.enterprise.deviceAttributes) {
    console.log('This API is only available on managed ChromeOS devices.');
    return;
  }
  try {
    // Primary stable identifier provisioned by the admin console.
    const directoryId = await chrome.enterprise.deviceAttributes.getDirectoryDeviceId();
    console.log('Directory Device ID:', directoryId);

    const serial = await chrome.enterprise.deviceAttributes.getDeviceSerialNumber();
    console.log('Serial Number:', serial);

    const assetId = await chrome.enterprise.deviceAttributes.getDeviceAssetId();
    console.log('Asset ID:', assetId);

    const location = await chrome.enterprise.deviceAttributes.getDeviceAnnotatedLocation();
    console.log('Annotated Location:', location);

    const hostname = await chrome.enterprise.deviceAttributes.getDeviceHostname();
    console.log('Hostname:', hostname);
  } catch (error) {
    console.error('Error retrieving device attributes:', error);
  }
}

getDeviceAttributes();

Extensions with the enterprise.deviceAttributes permission

Here are some popular browser extensions that use the "enterprise.deviceAttributes" permission. To explore more, try our Advanced search.

Firefox Firefox add-ons with "enterprise.deviceAttributes" permission

Permission Metrics

Popularity

Security Risk


Usage by Platform