> For the complete documentation index, see [llms.txt](https://docs.mosip.io/1.2.0/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.2.0/~/changes/EDXkAXJ2BnUpKbwo76Y3/modules/reference-implementations.md).

# Reference Implementations

## Overview

Reference implementations of modules or components are non production grade implementations that are meant to showcase a reference design or architecture. They can be used as references or starting points for customization and actual implementations.

## Web portals

1. Pre-registration portal
2. Admin portal
3. Partner Management portal

## Desktop apps

1. Authentication Application
2. Registration Client

## Common components

1. ID object validator (kernel-ref-idobjectvalidator)
2. Integration with the SMS service provider (kernel-smsserviceprovider-msg91)
3. Integration with a Virus Scanner (kernel-virusscanner-clamav)
4. HSM Keystore Implementation (hsm-keystore-impl)
5. IAM: Keycloak

## Registration Processor

1. External Stage
2. Demo deduplication
3. Hazelcast Cache Provider

## ID Authentication

1. Demographic authentication (normalization)
2. Child Authentication Filter

## Pre-registration

1. Booking Service

## Print Service


---

# 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:

```
GET https://docs.mosip.io/1.2.0/~/changes/EDXkAXJ2BnUpKbwo76Y3/modules/reference-implementations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
