---
title: Device Binding Storage node
description: The Device Binding Storage node persists collected device binding data to a user's profile in the identity store.
component: auth-node-ref
version: latest
page_id: auth-node-ref::device-binding-storage
canonical_url: https://docs.pingidentity.com/auth-node-ref/latest/device-binding-storage.html
page_aliases: ["auth-node-device-binding-storage.adoc"]
superseded_by: https://docs.pingidentity.com/auth-node-ref/latest/device-binding-storage.html
section_ids:
  example: Example
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  callbacks: Callbacks
  outcomes: Outcomes
  errors: Errors
---

# Device Binding Storage node

The Device Binding Storage node persists collected device binding data to a user's profile in the identity store.

## Example

The following example shows a device binding journey that registers a device to the user, checks the collected device data meets certain criteria, and stores the device data in the user's profile:

![Device binding journey example](_images/device-binding-journey.png)

* The [Page node](page.html) containing the [Platform Username node](platform-username.html) and [Platform Password node](platform-password.html) prompts for credentials.

* The [Data Store Decision node](data-store-decision.html) validates the username-password credentials.

* The [Device Binding node](device-binding.html) is configured with the Store Device Data in Transient State option enabled. The node initiates the binding process on the user's device. When the user completes the process, the node stores the collected device data in the transient state.

* The [Scripted Decision node](scripted-decision.html) inspects the device data before it's saved.

  For example, you could use this node to enforce a policy that only allows devices with certain characteristics to be registered. If the device doesn't meet the policy, the script can route the journey to the `Failure` outcome path, preventing the device data from being saved.

* The [Device Binding Storage node](device-binding-storage.html) retrieves the device data from the transient state and saves it to the user's profile in the identity store.

|   |                                                                                                                                                                                                                                                                                                                                                |
| - | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | If you don't need to do anything with the device data before it's saved, you can configure the [Device Binding node](device-binding.html#store-device-data-setting) to store the device data in the user's profile. This would simplify the journey because the [Device Binding Storage node](device-binding-storage.html) wouldn't be needed. |

## Availability

| Product                               | Available? |
| ------------------------------------- | ---------- |
| PingOne Advanced Identity Cloud       | Yes        |
| PingAM (self-managed)                 | Yes        |
| Ping Identity Platform (self-managed) | Yes        |

## Inputs

* This node requires the `realm` and `username` properties in the incoming node state.

  Implement a [Platform Username node](platform-username.html) earlier in the journey.

* The node requires the `DeviceBinding.DEVICE` variable in the incoming node state.

  Implement the [Device Binding node](device-binding.html) earlier in the journey.

## Dependencies

This node has no dependencies.

## Configuration

This node has no configurable properties.

## Callbacks

This node doesn't send any callbacks.

## Outcomes

* `True`

  Device binding data was successfully stored in the user's profile.

* `False`

  Device binding data wasn't stored in the user's profile.

## Errors

The node can log the following errors:

* `Device Persistence Error`

  The node failed to retrieve the user's identity.

* `Failed to convert JsonValue to DeviceBindingSettings object`

  The node failed to convert the device's JSON data into a `DeviceBindingSettings` object.

* `Failed to store Device Binding data`

  The node can't find the device data in the shared state. Make sure you have implemented the [Device Binding node](device-binding.html) earlier in the journey.
