> 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/account-settings.md).

# Account Settings

**Objective**

Define the **minimum requirements** for the flow related to accessing, viewing, and editing the vendor user's account information, including personal data, password, and general preferences. The flow must ensure security, clarity, and usability in managing account settings.

#### Insights

* The settings screen must be responsive and adaptable to various screen sizes.
* The email field must reject invalid or duplicate addresses already in the system.
* Critical changes (e.g., password or email) should be auditable and optionally notified via email.

***

<figure><img src="/files/imE6LwtCuPQN8HEeFjsE" alt=""><figcaption></figcaption></figure>

## Accessing the User Area

### 01 - “User” icon in bottom navigation&#x20;

Must be visible and accessible from all main screens. Tapping it must lead to the account settings screen.

{% hint style="success" %}
**Mandatory:**

Access to account settings must be available at all times without requiring multiple steps.
{% endhint %}

{% hint style="info" %}
**Recommended:**

Display the user’s name and profile picture in the navigation when logged in.
{% endhint %}

***

## Account Settings Screen

### 02 - “Edit Profile” section&#x20;

Must be located at the top of the settings screen with clear icon and label.

### 03 - “Logout” option&#x20;

Must be positioned safely (at the bottom of the screen) and require confirmation before logging out.

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

Logging out must terminate all active sessions.
{% endhint %}

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

Include a “Preferences” section for visual and notification customizations.
{% endhint %}

***

## Profile Edit Screen

### 04 - Editable fields (name, email, password)&#x20;

Must allow free editing, include password visibility toggle, and validate email format. Password must be entered twice for confirmation.

### 05 - “Save changes” button&#x20;

Must remain disabled until at least one field is changed and all required fields are correctly filled.

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

Passwords must meet a minimum policy (e.g., 8 characters, symbol, number).
{% endhint %}

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

Display a confirmation alert and success feedback after saving changes.
{% endhint %}

***

## Mandatory Messages

* When passwords do not match:

  > Passwords do not match. Please check and try again.
* When changes are saved successfully:

  > Changes saved successfully.

## Expected Behaviors

* Data editing must be protected by a valid user session.
* Password fields must allow optional visibility via eye icon.
* The logout button must force token expiration and redirect to the login screen.
* All input fields must be compatible with screen reader accessibility.


---

# 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/account-settings.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.
