# CURP

The CURP module captures and validates the user's Clave Única de Registro de Población (CURP). It is used to verify the user's identity as part of identity validation or compliance workflows.  

It is used as a country-specific identity verification step for Mexico, typically after basic personal information input and before final verification or document capture.  

<Image align="center" border={false} src="https://files.readme.io/92a4df7c1ef8261205df7b862459c44861233a312a5a8e775367f7d69d5730b6-curp.gif" />

***

## Where it fits in the flow

**CURP**  appears as a country-specific step in the verification flow for users in Mexico.

It typically occurs after the user provides basic personal information and before document capture or final verification, ensuring the CURP is validated early in the process.

***

## User Flow

The **CURP** experience guides the user from data entry to validation. The flow begins with an input screen where the user is prompted to enter their CURP. As the user types, the system validates the input format and enables progression once the value is complete. 

After submission, the system verifies the CURP and displays a processing state. Once validation is successful, a confirmation screen is shown and the user continues to the next module in the verification flow. 

It validation fails, the user receives feedback and can correct the input or choose an alternative path if available. 

<Image align="center" border={false} src="https://files.readme.io/6549f2307929a29eb73fa1d6f18ef00f8b07a13a28da87c45e55305b7a39a498-user-flow.png" />

<br />

***

## Full Flow Map

This diagram presents the full sequence of screens involved in the CURP module, from initial screen and real-time validation to processing states, error handling and successful information. 

It visually represents both the ideal and alternative user journeys, helping teams understand all possible user interactions and system states within the module.

<Image align="center" border={false} src="https://files.readme.io/33a3a80ced41f83ea608359ec00e606c3bb587285f4927f710314e7ffcd6640a-_CURP__Web_-_Full_flow_1.png" />

<br />

***

## Happy Path (Light & Dark)

The ideal user journey when the CURP is entered and validates successfully with no interruptions. 

The happy path represents the smoothest version of the experience, where the user enters a valid CURP, the system verifies it successfully and the flow proceeds automatically without requiring corrections or retries. 

Both light and dark mode previews are included so design, product, and engineering teams can validate visual consistency and accessibility across themes.

<Image align="center" alt="Geolocation module - Happy Path in Light mode" border={false} caption="Light mode" src="https://files.readme.io/b45c7d072c39b56c5b88bd2fca0feab3e095a42b4f3d9d770bf31e1ae80d4019-happy-path-light.png" />

<Image align="center" alt="Geolocation module - Happy Path in Dark mode" border={false} caption="Dark mode" src="https://files.readme.io/3305612ce4a42f656c35d886705badadeb57e7e45a56eaa1186b67f94431e662-happy-path-dark.png" />

<br />

***

## Best Practices

Recommended guidelines for designing and implementing the **CURP** experience.

**✅ Do**

* Clearly explain why the CURP is requested — transparency builds trust.
* Validate input progressively and provide immediate, clear feedback.
* Use localized copy and terminology appropriate for users in Mexico.
* Provide a visible alternative path (for example, “I don’t have a CURP”) when applicable.

**❌ Don’t**

* Don’t block the flow indefinitely due to formatting or validation errors.
* Avoid unclear error messages or silent failures.
