---
title: PingOneProtectDeviceProfileContext
description: Internal-use only context that holds device profile data obtained from the user-agent to support PingOne Protect risk evaluation.
component: pinggateway
version: 2026
page_id: pinggateway:reference:PingOneProtectDeviceProfileContext
canonical_url: https://docs.pingidentity.com/pinggateway/2026/reference/PingOneProtectDeviceProfileContext.html
revdate: 2025-06-02T18:01:47Z
section_ids:
  properties: Properties
---

# PingOneProtectDeviceProfileContext

Internal-use only context that holds device profile data obtained from the user-agent to support PingOne Protect risk evaluation.

A [PingOneProtectEvaluationFilter](PingOneProtectEvaluationFilter.html) gathers the device profile data and records it in this context.

## Properties

This internal-use-only context is named `pingOneProtectProfile`. PingGateway stores it at `${contexts.pingOneProtectProfile}`. It has the following properties:

* `"deviceProfile"`: *[java.lang.String](https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html)*

  The encoded device profile data. This is empty when no device profile data has been collected.

* `"requestEvaluationState"`: *[java.lang.Object](https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html)*

  Metadata about the request to prepare for risk evaluation.

* `"state"`: *[java.util.Enumeration](https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Enumeration.html)*

  The state of the profile data in this context; one or more of:

  * `PROFILE_ABSENT`: no profile data, needs to be collected

  * `PROFILE_ABSENT_MAY_PROCEED`: no profile data, but the filter configuration allows risk evaluation without it

  * `PROFILE_PRESENT`: found profile data in the context

  * `PROFILE_REQUESTED`: ready to collect profile data from the user-agent
