> For the complete documentation index, see [llms.txt](https://docs.mosip.io/1.1.5/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mosip.io/1.1.5/modules/registration-client.md).

# Registration

## Overview

The registration client is a thick Java-based client where the resident's demographic and biometric details are captured along with the supporting documents in online or offline mode. The captured information is packaged in a secure tamper-proof way and send to the server for processing.

Registration client must provide the following :

* **Secure** way of capturing an individual's demographic and biometric data. The captured data must be cryptographically secure such that the data cannot be tampered with. This is called a registration packet.
* **Interfaces to biometric devices** that comply to industry standards. This ensure that any device manufactured as per standards will work with MOSIP.
* Works in **online and offline** mode. In remote areas where internet connectivity is a challenge, the registration client must work in offline mode.
* **Remote software update** capability. There must be a way to self-update to latest patches/upgrades (bug fixes/enhancements) in a remote way. There could be hundreds of client instances running on laptops/desktops. Updates on all of them must be controlled a central server.
* **Tamper-proof client software**. The registration client must have an ability to validate the structure of the information captured so that it could detect any anomoly due to a possible manual tampering and reject the captured packet.

## Detailed functionality

[Registration Functionality](/1.1.5/modules/registration-client/registration-functionality.md)

## Process flow

### Registration officer Onboarding

![Registration Officer Onboarding](/files/-M1R7_yAdRSi4u0NjOrV)

### Registration preparation

![Registration Preparation](/files/-M1R7_yCHmbZNianApo9)

### Individual registration

![Registration](/files/-M1R7_yEtb401KZpnQK6)

### Packet upload

![Packet Upload](/files/-M1R7_yG0oTeEyYuw78S)

### End of day (EOD) process

![EOD process](/files/-M1R7_yIs7mlGqgsZeiu)

### UIN update

![UIN Update](/files/-M1R7_yKXpkLU-a_KH9S)

### Lost UIN

![Lost UIN](/files/-M1R7_yMyrTjQJu7upgL)

### Software update

![Software Update](/files/-M1R7_yOcN83ZzS01Ehs)

### Logical view

![Registration client logical view](/files/-M1R7_yQZdOQJNcHNkoY)

### Component architecture

![Registration client component architecture](/files/-M1R7_ySCix-IzuiuF8J)

## Registration packet structure

All the registration information is zipped and encrypted in a packet and sent to the server. The structure of the packet is given [here](/1.1.5/modules/registration-client/registration-packet.md).

## Registration client reference application

MOSIP provides an Windows-based reference implementation of the client that has a UI and the business logic to perform the above process flows. The code, design, App setup, build documentation is available in [registration client repo](https://github.com/mosip/registration/tree/master/registration). The App may be modified according to a country's need.

[Registation client setup guide](/1.1.5/modules/registration-client/registration-client-setup.md)

## First user on-boarding

TBD
