Customization

of CURP module

This section outlines the elements you can customize within the CURP module to match your brand while preserving Incode’s core UX. It clarifies which areas are flexible, such as text, illustrations, and brand colors and which elements remain fixed to ensure consistency, accessibility, and optimal capture performance across platforms.

Enter your CURP default

This screen appears when the CURP module is first presented to the user. It represents the initial state of the flow, shown before any input is entered.

The input field is empty and the primary action is disabled until a valid CURP is provided. An alternative path is available for users who do not have a CURP.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, subtitle, button labelFully localizable; tone can be adapted
Brand ColorsIllustration accent, button, headerUses brand tokens
ButtonsLabel, colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureEnsures consistency across onboarding modules
Spacing & safe areasRequired for device compatibility
Text hierarchyOptimized for readability
Close icon positionStandardized for user familiarity
WCAG minimum contrastMandatory for accessibility compliance

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Screen backgroundsurface-neutral-0#FFFFFF
Title text (“Enter your CURP”)text-body-primary#262831
Input backgroundinput-surface-default#FFFFFF
Input border (default)input-border-default#E5E7EB
Input placeholder textinput-text-field-placeholder#9CA3AF
Input text (entered value)text-body-primary#262831
Primary button background (disabled)button-primary-surface-disabled#E5E7EB
Primary button text (disabled)button-primary-text-disabled#9CA3AF
Secondary button border (“I don’t have a CURP”)button-secondary-border-default#006AFF
Secondary button textbutton-secondary-text-default#006AFF
Footer text (“verified by Incode”)text-body-secondary#60667C
Footer accent (“incode”)surface-brand-500-static#006AFF
Close iconicon-neutral-500#60667C

Design Notes

  • Keep copy short to minimize cognitive load.
  • Display the “verified by Incode” footer as a subtle trust signal while maintaining sufficient contrast for accessibility.

Enter your CURP filled

This state appears once the user has entered a complete and valid CURP. The input is confirmed visually, and the primary action is enabled, allowing the user to continue to the verification step.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, subtitle, button labelsFully localizable
Brand ColorsButtons, links, highlight elementsUses brand tokens
ButtonsLabel, colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains visual continuity with other modules
Button spacing & placementOptimized for tap targets
Text hierarchyFollows global UX standards
Close icon positionConsistent across modules
WCAG minimum contrastRequired for readability and compliance

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Title text (“Enter your CURP”)text-body-primary#262831
Input text (entered CURP)input-text-field-default#262831
Input surface (focused)input-surface-focused#FCFCFD
Input border (focused)input-border-focused / border-status-focus#006AFF
Backgroundsurface-neutral-0#FFFFFF
Primary button background (“Continue”)button-primary-surface-default#006AFF
Primary button textbutton-primary-text-default#FFFFFF
Secondary button border (“I don’t have a CURP”)button-secondary-border-default#006AFF
Secondary button textbutton-secondary-text-default / text-accent-brand#006AFF
Footer text (“verified by”)text-body-secondary#60667C
Footer accent (“incode”)surface-brand-500-static#006AFF

Design Notes

  • Maintain a clear visual hierarchy between primary and secondary actions to guide user attention and decision-making.

Enter your CURP - Loading

This screen appears after the user submits their CURP and validation is in progress. The entered value is locked and the primary action displays a loading indicator to communicate ongoing processing.

Once verification completes, the flow automatically transitions to the success or error state.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, subtitle, button labelsFully localizable
Brand ColorsButtons, links, highlight elementsUses brand tokens
ButtonsLabel, colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureKeeps parity between web and native flows
Text hierarchyEnsures clarity of instructions
Button placementOptimized for quick completion
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Title text (“Enter your CURP”)text-body-primary#262831
Input text (disabled)input-text-field-disabled#82879A
Input surface (disabled)input-surface-disabled#EBECEF
Input border (disabled)input-border-disabled / border-neutral-100#EBECEF
Backgroundsurface-neutral-0#FFFFFF
Primary button background (disabled)button-primary-surface-default#006AFF
Primary button textbutton-primary-text-default#FFFFFF
Primary button loading indicatorsurface-brand-400-static#3388FF
Secondary button border (“I don’t have a CURP”)button-secondary-border-default#006AFF
Secondary button textbutton-secondary-text-default / text-accent-brand#006AFF
Footer text (“verified by”)text-body-secondary#60667C
Footer accent (“incode”)surface-brand-500-static#006AFF

Design Notes

  • The loading indicator uses brand tokens to signal progress without breaking visual consistency.
  • Primary and secondary actions maintain hierarchy through consistent button tokens.


Error State

This state appears when the entered CURP does not meet the required format or validation rules. The input field is highlighted to indicate an error, and a clear message explains what needs to be corrected.

The primary action remains disabled until a valid CURP is provided, allowing the user to fix the input or choose an alternative path if available.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
Brand ColorsIllustration accent, button background, highlightsUses brand tokens
ButtonsLabel and colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Title text (“Enter your CURP”)text-body-primary#262831
Input text (error)input-text-field-default#262831
Input border (error)input-border-negative / border-status-negative#EF4444
Input surface (error)input-surface-negative / surface-neutral-100#EBECEF
Error iconicon-status-negative#EF4444
Error message text (“Invalid CURP”)text-status-negative#EF4444
Backgroundsurface-neutral-0#FFFFFF
Primary button background (disabled)button-primary-surface-disabled#EBECEF
Primary button text (disabled)button-primary-text-disabled#9CA3AF
Secondary button border (“I don’t have a CURP”)button-secondary-border-default#006AFF
Secondary button textbutton-secondary-text-default / text-accent-brand#006AFF
Footer text (“verified by”)text-body-secondary#60667C
Footer accent (“incode”)surface-brand-500-static#006AFF
Close iconicon-neutral-500#60667C

Design Notes

  • Error states uses semantic error tokens (border, text, icon) to communicate validation clearly and consistenly.

Verifying your CURP

Shown after the user submits their CURP. The system validates the identifier and displays a processing state while verification is in progress.

Once validation completes, the flow automatically proceeds to the success or error state.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
IllustrationColors or full replacementMust clearly represent location confirmation
Brand ColorsIllustration accent, button background, highlightsUses brand tokens

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Screen backgroundsurface-neutral-0#FFFFFF
Close iconicon-neutral-500#60667C
Loading spinner (primary surface)spinner-surface-primary / surface-brand-500-static#006AFF
Loading spinner (secondary surface)spinner-surface-secondary / surface-brand-50#E6F0FF
Spinner text (“Verifying your CURP…”)spinner-text-title / text-body-primary#262831
Status bar iconsicon-neutral-500#60667C

Design Notes

  • The loading state removes interactive elements to prevent user interruption during verification.
  • A centered circular progress indicator communicates system activity using brand tokens.


CURP Not Verified

Shown when verification fails due to incomplete or invalid data, or due to a mismatch with the official database. The user can review and edit their input, or retry the process.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
Brand ColorsIllustration accent, button background, highlightsUses brand tokens
ButtonsLabel and colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Close iconicon-neutral-500#60667C
Screen backgroundsurface-neutral-0#FFFFFF
Status icon (error)icon-status-negative#EF4444
Status text (“CURP not verified”)text-body-primary#262831
Primary button background (“Try again”)button-primary-surface-default#006AFF
Primary button textbutton-primary-text-default#FFFFFF
Status bar iconsicon-neutral-500#60667C

Design Notes

  • A semantic error token is used for the icon to ensure immediate recognition of failure.


CURP Verified

Displayed when the CURP is successfully verified. The user can proceed to the next step in the onboarding or identity flow.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
Brand ColorsIllustration accent, button background, highlightsUses brand tokens
ButtonsLabel and colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Close iconicon-neutral-500#60667C
Screen backgroundsurface-neutral-0#FFFFFF
Status icon (success)icon-status-positive#22C55E
Status text (“CURP verified!”)text-body-primary#262831
Status bar iconsicon-neutral-500#60667C


Generate CURP - Empty form

Allows the user to generate a CURP if they don't have one, by manually entering personal details.

Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
Brand ColorsIllustration accent, button background, highlightsUses brand tokens
ButtonsLabel and colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference

UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Screen title (“Generate your CURP”)text-body-primary#262831
Close / Back iconsicon-neutral-500#60667C
Screen backgroundsurface-neutral-0#FFFFFF
Text field labeltext-body-secondary#60667C
Text field placeholderinput-text-field-placeholder#82879A
Text field input texttext-body-primary#262831
Input surface (default)input-surface-default#FCFCFD
Input border (default)input-border-default / border-neutral-100#E5E7EB
Dropdown surface (default)dropdown-surface-default#FFFFFF
Dropdown border (default)dropdown-border-default / border-neutral-400#D1D5DB
Dropdown placeholder textdropdown-text-input-placeholder#82879A
Dropdown selected textdropdown-text-input-default#262831
Dropdown iconicon-neutral-500#60667C
Primary button background (“Call to action”)button-primary-surface-default#006AFF
Primary button textbutton-primary-text-default#FFFFFF
Primary button (disabled state)button-primary-surface-disabled#EBECEF
Primary button text (disabled)button-primary-text-disabled#9CA3AF

Design Notes

  • The screen follows a structured single-column form layout to support step-by-step data entry.
  • Input fields use consistent input tokens to reinfoce visual uniformity.

Generating CURP - Filled form

Shows the form with all required fields completed and ready to generate the CURP.

Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
Brand ColorsIllustration accent, button background, highlightsUses brand tokens
ButtonsLabel and colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Screen title (“Generate your CURP”)text-body-primary#262831
Close / Back iconsicon-neutral-500#60667C
Screen backgroundsurface-neutral-0#FFFFFF
Input label texttext-body-primary#262831
Input text (filled)input-text-field-default / text-body-primary#262831
Input surface (default)input-surface-default#FCFCFD
Input border (default)input-border-default / border-neutral-400#D1D5DB
Dropdown surface (default)dropdown-surface-default#FFFFFF
Dropdown border (default)dropdown-border-default / border-neutral-400#D1D5DB
Dropdown selected textdropdown-text-input-default#262831
Dropdown iconicon-neutral-500#60667C
Primary button background (“Generate”)button-primary-surface-default#006AFF
Primary button textbutton-primary-text-default#FFFFFF
Status bar iconsicon-neutral-500#60667C


Generating CURP - Error state

Shown when verification fails due to incomplete or invalid data, or due to a mismatch with the official database. The user can review and edit their input, or retry the process..

Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
Brand Colorsbutton backgroundUses brand tokens
ButtonsLabel and colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementTokenRaw Value
Brand name (logo)surface-brand-500-static#006AFF
Close iconicon-neutral-500#60667C
Status icon (error)icon-status-negative#EF4444
Title text (“Couldn’t generate CURP”)text-body-primary#262831
Supporting text (“Please check entered information”)text-body-secondary#60667C
Screen backgroundsurface-neutral-0#FFFFFF
Primary button background (“Edit information”)button-primary-surface-default#006AFF
Primary button textbutton-primary-text-default#FFFFFF

Design Notes

  • The result state uses a centered status layout to clearly communicate system feedback.
  • A semantic error token (red) is applied to the icon to ensure immediate visual recognition.

Generating CURP - Confirmation

Displays the generated CURP for review before submission. The user can confirm or go back to edit details.

Customizable Elements

AreaWhat can be customizedNotes
TextTitle, button labelFully localizable
Brand Colorsbutton backgroundUses brand tokens
ButtonsLabel and colorMust follow platform and WCAG standards
Footer“Verified by Incode” lineOptional but recommended

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency with other verification modules
Spacing & alignmentOptimized for layout consistency
Text hierarchyRequired for readability and hierarchy
Close icon positionStandardized for familiarity
WCAG minimum contrastRequired for web accessibility standards

Token Reference


UI ElementRaw ValueToken
Brand name (logo)#006AFFsurface-brand-500-static
Back icon#60667Cicon-neutral-500
Close icon#60667Cicon-neutral-500
Title text (“Confirm your CURP”)#262831text-body-primary
CURP input text#262831input-text-field-default
Input border (disabled)#EBECEFinput-border-disabled
Input surface (disabled)#EBECEFinput-surface-disabled
Screen background#FFFFFFsurface-neutral-0
Primary button background (“Continue”)#006AFFbutton-primary-surface-default
Primary button text#FFFFFFbutton-primary-text-default
Verified by Incode icon#006AFFicon-brand-500-static
Verified by Incode text#60667Ctext-body-secondary