Get Started



A C++ implementation of the Uptane OTA update client, built around libaktualizr. The client is intended to be installed on devices that need to receive OTA updates from an Uptane-compatible OTA server such as HERE OTA Connect. It is most commonly built by using the meta-updater layer in a Yocto environment. You can use aktualizr as a stand-alone system tool, or as an example of how to build a larger, full-featured client using libaktualizr.

automatic device update

A type of software update where a device automatically downloads new software as soon as it detects that a new software version has been uploaded (as opposed to manual device update).


A way to target and deploy a predefined software update to a specific group of devices.

client configuration

The configuration options that the OTA Connect client software uses. The client software runs on a Primary control unit and manages the installation of software updates.

control unit

An embedded computer or microcontroller that is responsible for a certain function within a device. For vehicles, this could be the microcontroller that controls the braking system or engine transmission. Corresponds to primary_ecu_hardware_id in aktualizr’s client configuration.

control unit type

The type of control unit that reflects its purpose and hardware model. Software updates are always targeted to specific types of a control unit (rather than individual units). For example, some vehicles might use the Texas Instruments TUSB7340 controller for their ABS braking systems. This type of controller might be running the TI-USB7340-ABS firmware. In this case, the TI-USB7340-ABS label shows up as the control unit type in the user interface.


A user who created an environment. Unlike owners, creators can leave or be removed from the environments that they created.


A way of proving identity. For example, a username and password is one type of credential. Another type of credential is a cryptographic key or certificate. In OTA Connect, we use a few different types of credential, combined into the credentials file.

credentials file

A file that contains a number of different files, keys, private URLs, and certificates that are specific to each account. When you generate a shared provisioning credential, OTA Connect creates a credentials file (named that contains the shared credential.

custom device field

A device field that you can create to use as filter criteria in smart device groups.

custom field

See custom device field.


A networked, self-contained system or product that contains at least one control unit that needs OTA software updates. A typical device is a connected car, but other types of devices can be scooters, smart fridges, aquariums, or irrigation systems. Individual devices are identified by a device ID that can potentially be associated with the customer who owns the device. The OTA Connect product can update the software on control units within these devices.

device credential

A cryptographic certificate that is unique for each vehicle. It has a signature that proves that the vehicle belongs to a particular user’s fleet. It cannot be generated in the UI. It is generated by the customer and placed on the vehicle completely independent of OTA Connect.

device group

Devices that are grouped based on common criteria, such as the model or region. These groups are used to target software updates to a specific audience. There are two types of device groups: fixed and smart.

device ID

An external device identifier used in OTA Connect. This ID is associated with the device or vehicle as a whole, so it could be a VIN (vehicle identification number) or some other meaningful identifier. Corresponds to device_id in aktualizr’s client configuration.

device provisioning credential

See device credential.


Your working space where you can create and manage software update projects and collaborate on these projects with your team. Upon registration, you become the owner of one home environment. You can also create up to 10 additional environments.


A timestamped, individual operation on the device, such as Download started.

failure code

If a device failed to install the update, the reason is given with a failure code – a unique identifier for the specific type of failure.


A way of automatically grouping devices or activities based on some kind of criteria, such as characters in the device ID or type of activities. For example, you can filter devices that have the X character in the ID (applies only to smart groups), or you can filter your activities that are related to Software updates.


A status that indicates preparation. For example, when you launch a campaign, the server has to do behind-the-scenes work before the campaign gets deployed to devices. When the server is busy with this work, you see the Finalizing status.

fixed device group

A type of device group where you have to explicitly add each device to the group. You can drag and drop devices or upload a list of device IDs. Compare to smart groups, which automatically include devices in a group based on common criteria.

fixed group

See fixed device group.


See device group.

group type

A type of device group. There are two types of device groups: fixed and smart.


Physical components of a control unit, as opposed to the software that runs on it.


A fixed-size identifier that is generated using a hash function. When building a Yocto image using meta-updater, the image hash is used as the version number for the software version unless the developers configure their own version numbers. For binary images, the hash is calculated by garage-sign or by the OTA Connect server when it is uploaded.


The first page that you see when you log in to the OTA Connect web portal. It shows a set-up workflow and a summary of all the recent activities. It also contains a section with use cases and examples as well as gives information on how you can share your environment with colleagues.

home environment

The environment that you receive upon registration. You are the owner of this environment. As an environment owner, you cannot leave or be removed from your home environment.


A name by which a device attached to a computer network can be addressed.


The size of a software file in bytes.


A C++ library providing high-level functionality for securely downloading, verifying, and installing updates according to the Uptane protocol. Typically used within a wrapper application providing customized OTA update functionality.

manual device update

The antonym for the automatic device update. By default, all device updates are manual. Manual means that someone has to explicitly trigger the update on the device (usually via a campaign).

matching devices

Refers to the number of devices that match a certain filter within a smart group.


Users that have access to environment resources. See also environment.

never seen online

A status that indicates that a device was provisioned but never connected again to check if the server has any software updates to install. Usually, devices check at least once a day to see if there are any updates.

not applicable

A status for devices in campaigns. A device has the Not applicable status when it is targeted in a campaign but does not match the software update criteria. You see this status if you use a campaign to target a group of devices that do not all have the same hardware and software installed. For example, a campaign might deploy a software update for a Renesas ABS control unit and target all vehicles with the Charriot model. However, some variants of this model might be using an NXP ABS control unit rather than Renesas ABS. Therefore, they get the Not applicable status.

not seen recently

This is a status that specifies the number of devices that were provisioned but not connected in the last 72 hours.


A user who owns an environment. When you first register your OTA Connect account, we create for you a home environment. You are always the Owner of your home environment, and subsequent environments you create will not have an Owner but a Creator. In the Members list of the environment, next to your email, you can find the Owner label. Unlike creators, environment owners cannot leave or be removed from their home environment.

Primary control unit

The term Primary is discussed in the Uptane framework (a security specification). To distribute software securely within a device (such as a device that contains many control units), there needs to be one Primary control unit that receives the software from the internet, checks its validity, and distributes it to any other intended recipients over the device’s internal network. The recipients are Secondary control units inside a device. The Primary control unit needs to run OTA Connect client software—​normally aktualizr or a custom application built using libaktualizr—​to manage software updates.


Properties of a piece of software such as length (size) and version number.


To provision means to place all of the necessary materials for connecting a device to an OTA Connect account on the device (for example, the contents of the credentials file or a unique device certificate), and then connect it for the first time. When provisioned, the device shows up in your account with a unique name (device ID) and all of the keys, certificates, and URLs it needs to identify itself to the server and validate software updates.

provisioning credential

Allows a device to be provisioned. A provisioning credential can be a shared credential or a device credential.


A status message that refers to the state of a campaign. If a campaign has started deploying software updates to devices, it gets the Running status.

Secondary control unit

A recipient of a Primary control unit. Secondary control units receive the software that is validated by a Primary control unit.

shared provisioning credential

A secret token that you can generate. This credential is associated with your account. Once generated, it can be placed on any device. It permits the device to be provisioned into your account. You can find your shared credential in the credentials file.

shared credential

See shared provisioning credential.

smart device group

A group of devices where devices are automatically targeted to the group based on filter criteria. For example, you can have a smart group where all devices with an ID that begins with TCG15- get automatically sorted into the TCG15 Models device group.

smart group

See smart device group.

software image

A large file that contains the entire filesystem of a device. See also software version.

software update

A set of instructions that you can use in a campaign. These instructions specify the software versions that should be updated.

software version

A piece of software that can be installed on a device. It is usually a complete software image that is flashed on the device, but you can upload other types of software as well.


A label for the version number of a piece of software.

version count

A table column header that indicates the number of different versions that exist for a piece of software in the software repository.

with errors

A status that specifies the number of campaigns that have errors.