> For the complete documentation index, see [llms.txt](https://sandbox-docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/readme/system_deployment_and_configuration/pg_system_lifecycle.md).

# System Lifecycle

## Lifecycle overview <a href="#lifecycle_overview" id="lifecycle_overview"></a>

![](/files/nWemAeC1a6iBuz6uZ2cO)

## Production and Application Development Modes <a href="#prod_and_app_dev_modes" id="prod_and_app_dev_modes"></a>

Verifone provides system users with following device modes:

* PRODUCTION mode
* APPLICATION DEVELOPMENT mode

Production mode is meant for operational usage of the device. In this mode all security provisions are fully enabled.

Application development (APP-DEV) mode is a special mode to support developers during application development and testing. Refer to the [Device Mode conversion](/s-adk-5.1-programmers-guide/readme/developing_applications/pg_device_mode_conversion.md) chapter to read details about this mode.

{% hint style="info" %}
Conversion to APP-DEV mode is provided by Verifone and converted devices can be ordered separately.
{% endhint %}

A device can be moved out from the field using the CrtReset tool that removes authentication certificates, keys and other customer data from the device. Refer to the [System Tools](/s-adk-5.1-programmers-guide/readme/pg_system_tools.md) to read more details about this tool.

## System Warrantied Keys <a href="#system_warrantied_keys" id="system_warrantied_keys"></a>

The system comes preloaded with a set of warrantied keys as per the following table:

| Warrantied Key                           | Details                                                                                                                                       | Key Type          |
| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| VRK Key: Verifone Remote Key Loading Key | VRK key is used for encrypt/decrypt of the VRK Payload for RSA and for key agreement of encryption/decryption key of the VRK payload for ECC. | ECC-521           |
| Authentication Key (Authex/ AuthN)       | Authenticate the device against external service (e.g. VHQ, custom TMS)                                                                       | RSA-2048, ECC-521 |
| Pairing Key                              | Authenticate a connected Verifone Device and establish trust for key exchange between Verifone Devices                                        | RSA-2048, ECC-521 |
| System Signer                            | Reserved for Verifone private use                                                                                                             | ECC-521           |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/readme/system_deployment_and_configuration/pg_system_lifecycle.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
