> For the complete documentation index, see [llms.txt](https://ftcoders.first-tech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ftcoders.first-tech.com/first-tech-ttp-sdk/app-initialization.md).

# App Initialization

**Objective**

This section defines the **minimum requirements** for the application startup flow, ensuring that the device environment is suitable and secure to process proximity-based payments (Tap to Pay).

**Insights**&#x20;

* Using friendly illustrations is recommended to **reduce friction** during verification.
* The “Continue” button must be visually and functionally linked to a successful security validation.
* This step is **mandatory** to ensure compliance with proximity payment security best practices (e.g., PCI MPoC).

***

<figure><img src="/files/5pdbUtATPiIvBOZ26Gh8" alt=""><figcaption></figcaption></figure>

## Welcome Screen

### 01 - Illustrative icon&#x20;

Must represent the store context. Custom branding is allowed, as long as it maintains legibility and proper contrast.

### 02 - Welcome message&#x20;

Must include the store name and a short message guiding the user through the app.

### 03 - “Enter” button&#x20;

Must be clearly highlighted as the main action. Triggers the mandatory security check before granting access to the app.

{% hint style="success" %}
**Mandatory:**&#x20;

A clear and visible button must be available to start the environment verification before enabling the payment functionality.
{% endhint %}

***

## Security Checklist

### 04 - Magnifying glass illustration

Optional visual element. Recommended to indicate inspection or safety check.

### 05 - Verification checklist

Must include all items that are checked during the security scan.

{% hint style="success" %}
**Mandatory:**&#x20;

Each item must visibly show either valid or invalid, so the user can clearly understand which requirements are met.
{% endhint %}

***

## Environment Ready

### 06 - All items marked as checked

All conditions must be positively validated.

### 07 - “Continue” button (enabled)

Must be displayed as the main action and only enabled when all conditions are fulfilled.

{% hint style="success" %}
**Mandatory:**&#x20;

The “Continue” button should only become available when all items in the checklist are validated. The action must lead to the sales interface.
{% endhint %}

***

## Environment with Restrictions

### 08 - Invalid item highlighted in red

Example: NFC deactivated. The item must be visually emphasized with a red icon and clear explanatory label.

### 09 - “Continue” button (disabled)

The button must be clearly inactive (greyed out) and non-clickable while any item in the checklist is not satisfied.

{% hint style="success" %}
**Mandatory:**&#x20;

The "Continue" button must remain disabled until all checklist requirements are met.
{% endhint %}

{% hint style="info" %}
**Recommended:**&#x20;

Display contextual guidance for the user, such as “Activate NFC to continue.”
{% endhint %}

***

## Expected Behaviors

* The checklist must run automatically after pressing “Enter”.
* Immediate visual feedback must be provided (green or red icon) for each checklist item.
* If any requirement fails, the interface must **clearly inform** the user in non-technical language.
* The “Continue” button must **only** be available once all validations return.

## Mandatory Messages

* When NFC is deactivated:

  > **NFC is deactivated. Please activate NFC to continue using Tap to Pay.**
* When the app is running in a suspicious environment:

  > **Unsecure environment detected. Please check your device's integrity.**


---

# 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://ftcoders.first-tech.com/first-tech-ttp-sdk/app-initialization.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.
