Instance metadata

Read runtime host and process metadata, Provision version information, and your own public instance fields.

Entitlement: instanceMetadata. API: chrovia.instanceMetadata, an object rather than a function or Promise. Use a Provision Service Worker; page access also needs unrestrictedApi.

Add public fields

Runtime host fields are collected by the browser. Application-owned metadata belongs under internal.instance_metadata.public:

{
  "internal": {
    "instance_metadata": {
      "public": {
        "instance_id": "workspace-01",
        "label": "Workspace 01",
        "region": "test"
      }
    }
  }
}

Merge and sign the EP as required before launch. The application's public.instance_id is not the kernel lease instanceId and does not change lease identity.

const metadata = globalThis.chrovia?.instanceMetadata;
if (metadata) {
  console.log({
    label: metadata.public?.label,
    pid: metadata.process?.id,
    packageVersion: metadata.provision?.manifest?.version,
  });
}

Object shape

SectionFields
hostmachineId, serialNumber, hostname, userName
osname, version, architecture
hardwarelogicalProcessors, physicalMemory (bytes)
directoriesuserData, downloads, desktop, appData, localAppData, home, temp
processid (browser process ID)
provisionmanifest from the Provision root
publicYour configured JSON object

Unavailable or empty values/sections are omitted. Use optional access and do not assume every platform has a serial number or localAppData. Metadata can be undefined if not available even with the capability.

Boundaries

This describes runtime host information, not a fingerprint identity generated from fingerprint_override. directories.downloads reports the platform default downloads path, not necessarily the Profile's effective configured save path. Set download behavior through profile preferences, not by changing metadata.

Treat host IDs and filesystem paths as sensitive. public means exposed data, not a place for tokens or passwords. Restart to pick up configuration changes; mutating the returned JS object is not a persistent write API.