> 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="https://732834971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRHBTYHK49B1fSJrGzk2y%2Fuploads%2FRQHfmfFjZGvMGcBzqyxU%2FSe%C3%A7%C3%A3o%203%20-%20Configura%C3%A7%C3%A3o.png?alt=media&amp;token=d0bda413-1bfb-4024-a7ea-297d91470e35" 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://ftcoders.first-tech.com/first-tech-ttp-sdk/account-settings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
