# Provisioning and configuration

Low-touch provisioning lets a customer set up Glass with a QR code scan. The QR code points
to an Mobile Device Management (MDM) or custom agent who takes care of the entire device
provisioning and configuration process.

> [!NOTE]
> **Note:** This feature is implemented on firmware versions ee2_fsi_20190402-00 beta and later.

## How Low-touch provisioning works

Low-touch provisioning for Glass EE2 follows the standard
[Android Provisioning QR code format](https://developers.google.com/android/management/provision-device#using_qr_codes).
The device owner role is handled the same as an
[Android device owner](https://source.android.com/devices/tech/admin/managed-profiles#device_owners)
(DO), which is controlled by
[Android Device Policy Manager (DPM) APIs](https://developer.android.com/reference/android/app/admin/DevicePolicyManager).
For a full list of properties that you can include in a QR code bundle, see
[Create a QR code](https://developers.google.com/android/work/play/emm-api/prov-devices#create_a_qr_code).
EE2 also supports an additional property `android.app.extra.PROVISIONING_NTP_URI` to use a custom NTP server.

> [!NOTE]
> **Note:** Use `PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM` to identify the downloaded admin package file. Identification using `DEVICE_ADMIN_PACKAGE_CHECKSUM` is currently not supported.

> [!NOTE]
> **Note:** Some of the QR tags require further processing on the agent side.

## Provisioning UI flow

When you begin the Low-touch provisioning process, the device boots up to a welcome screen with
two options. How you select these options differs based on the firmware version of your device:

- For firmware version `OPM1.210124.001` or later:

  - **Tap and hold** to proceed with provisioning.
  - **Tap** to skip the Provisioning Wizard and continue with the standard boot process.
- For earlier firmware versions:

  - **Tap** to proceed with provisioning.
  - **Swipe down** to skip the Provisioning Wizard and continue with the standard boot process.

After you make your selection, you're asked to scan a QR code. Scan the QR code that your MDM
or custom agent provided.

> [!NOTE]
> **Note:** For security reasons, after you either complete or skip the Provisioning Wizard, you can't access the Provisioning Wizard again until you re-flash or factory reset the device.

## System update policy

Starting from version `OPM1.210124.001`, the device owner can set a
[system update policy](https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setSystemUpdatePolicy(android.content.ComponentName,%20android.app.admin.SystemUpdatePolicy)) for the device.

The following over-the-air (OTA) system update policies are supported:

- [`TYPE_INSTALL_AUTOMATIC`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy#TYPE_INSTALL_AUTOMATIC)

  We recommend this setting so that the device can download OTA system updates without the need for any user interaction.
- [`TYPE_POSTPONE`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy#TYPE_POSTPONE)
- [`TYPE_INSTALL_WINDOWED`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy#TYPE_INSTALL_WINDOWED)

> [!IMPORTANT]
> If no policy is set, the user must accept a system update by a notification.