Register Device

Cryptographically binds the device to the user for strong device identification

Description

This action performs a process that cryptographically binds the device to the user, ensuring that the device is uniquely associated with the user account. This process is handled implicitly by the client SDK, requiring no user interaction. The device may correspond to either a browser (for web apps) or a mobile phone (for mobile apps).

Cryptographic device binding is the most reliable form of device identification. Unlike other methods, such as device fingerprinting, this method cannot be "spoofed" by manipulating device attributes. Additionally, it does not rely on cookies, which can be inaccessible in certain scenarios, such as incognito mode or private browsing.

Once a device is registered, the output variable can be used by subsequent journeys to validate that the device is known and trusted by using the cryptographic keys generated during registration (see Is known device step). This ensures that the user is always using a recognized device, enhancing security and user experience.

The output of this step is a key_id, which uniquely identifies the device. This ID can be used for managing the device within Mosaic, such as updating its metadata (see Update device key) or unregistering the device if it’s compromised or no longer in use (see Delete device key).

Note

If the step is initiated for a device that's already registered, the device won't be re-registered.

Configuration

Field Description
User Auth State Indicates if the user has authenticated in this journey.
- If set to The user is authenticated (default), the user context is provided implicitly by the journey.
- If set to The user is not authenticated, a user identifier must be provided by configuring the External User ID (see below).
External User ID User identifier, specified as an expression. Only configured if the journey doesn't authenticate the user before invoking this step. Note that, if the identifier doesn’t exist, a Mosaic user record is automatically created.
Output variable Variable used to store the device key_id generated during the device registration process, which can be used in subsequent journey steps.