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

# eSignet

### What is eSignet?

eSignet is an open-source authentication platform from MOSIP. It lets any application log users in with a trusted digital identity over OpenID Connect, without tying the application to a single identity provider.

* **Standards-based**: Acts as an OpenID Connect (OIDC) provider, so applications log users in through a standard protocol.
* **Identity-system agnostic**: Works with any identity system that can verify a person and return their details.
* **Open source**: The code is public, so anyone can inspect it, audit it, and contribute to it.
* **Deployable independently**: Runs as a standalone identity layer for citizen portals, financial services, and other digital services.

<details>

<summary><i class="fa-video" style="color:$danger;">:video:</i> <mark style="color:$primary;"><strong>Watch the eSignet overview</strong></mark></summary>

{% embed url="<https://youtu.be/ZfUPRv71s_0?si=cr_Q8mFmad93kFS6>" %}

</details>

{% hint style="success" icon="sparkles" %}
**New in eSignet 2.x:** a new core engine written in Go, built for better performance. The OIDC, OAuth 2.0 and FAPI 2.0 APIs and the login UI work as before. Signup and wallet login are not included yet. See **Versions and migration** below.

<a href="/spaces/GLWCTe02ubJM6M7TcHlg/pages/72WZhedJWKvqwFsfCCsi#version-v2.0.0" class="button primary">Latest release</a> <a href="/home/esignet-2.x/roadmap-and-releases/versions.md" class="button secondary">Release notes</a> <a href="/home/esignet-2.x/roadmap-and-releases/roadmap.md" class="button secondary">Roadmap</a>
{% endhint %}

### Versions & Releases

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4>eSignet 2.x</h4></td><td>Recommended for new implementations. Built in Go.</td><td><a href="https://docs.esignet.io/home/esignet-2.x/">eSignet 2.x</a></td><td><a href="https://docs.esignet.io/home/esignet-2.x/">eSignet 2.x</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-cc15b9f8f0dacded0fa892f87d03f1193af9da11%2Fcard-version-go.svg?alt=media">card-version-go.svg</a></td></tr><tr><td><h4>eSignet 1.x</h4></td><td>For organizations operating an existing Java-based deployment. Review feature<br>availability and migration guidance before choosing this version.</td><td><a href="https://docs.esignet.io/home/esignet-1.x/">eSignet 1.x</a></td><td><a href="https://docs.esignet.io/home/esignet-1.x/">eSignet 1.x</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-ead21eaf8a6827add32deebc3fcf27bd80472433%2Fcard-version-java.svg?alt=media">card-version-java.svg</a></td></tr><tr><td><h4>Migrating from eSignet 1.x?</h4></td><td>Compare capabilities, understand changes, and plan your transition to<br>eSignet 2.x.</td><td><a href="/home/esignet-2.x/readme/features.md">Features</a></td><td><a href="/home/esignet-2.x/readme/features.md">Features</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-186b1ce5fc3be4dbe1ca13ceefc23bcdbf9c32e0%2Fcard-version-migration.svg?alt=media">card-version-migration.svg</a></td></tr><tr><td><h4>Release notes and roadmap</h4></td><td>Every release so far, and what's coming next.</td><td></td><td><a href="/home/esignet-2.x/roadmap-and-releases.md">Roadmap and Releases</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-b075a328c72ba7552495eb7728ed4016259895ca%2Fcard-version-roadmap.svg?alt=media">card-version-roadmap.svg</a></td></tr></tbody></table>

{% hint style="info" %}
**Coming from eSignet Java?** eSignet 2.0.0 does not include the **Signup** product or **wallet-based login** yet. Wallet login is planned for a future release using OpenID4VP..

* [Signup documentation (eSignet 1.x)](https://docs.esignet.io/home/esignet-1.x/)
* [Planned functionality](/home/esignet-2.x/roadmap-and-releases/roadmap/roadmap-2026.md)
  {% endhint %}

### Why eSignet?

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4>Standards-based login</h4></td><td>Applications connect through OpenID Connect rather than a custom protocol, so teams can use existing OIDC libraries.</td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-a771a245695179b72608b103ab56566aecf89bd3%2Fcard-why-standards.svg?alt=media">card-why-standards.svg</a></td></tr><tr><td><h4>Any identity system</h4></td><td>Connects to any identity system or registry that can verify a person and return their details.</td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-5acb9b5f327930bf7169d6db6c83c52a75039b41%2Fcard-why-any-identity.svg?alt=media">card-why-any-identity.svg</a></td></tr><tr><td><h4>Works on basic phones</h4></td><td>OTP on feature phones means people without smartphones or reliable internet can still log in.</td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-a39c48e08f32276aad4d88d37974499f993ceac7%2Fcard-why-basic-phones.svg?alt=media">card-why-basic-phones.svg</a></td></tr><tr><td><h4>Runs anywhere</h4></td><td>Deploy on any cloud or on-premises with containers. Free to use, with no vendor lock-in.</td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-b0422b982b9c89e981c4c0085c6a121589a78a10%2Fcard-why-runs-anywhere.svg?alt=media">card-why-runs-anywhere.svg</a></td></tr><tr><td><h4>Consent built in</h4></td><td>Users see which details an application asks for, and approve before anything is shared.</td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-d06845cf16dc81b1bf923c5466e56f321f2cf304%2Fcard-why-consent.svg?alt=media">card-why-consent.svg</a></td></tr></tbody></table>

### Understand more about eSignet

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4>About eSignet</h4></td><td>What eSignet is and who it is for.</td><td><a href="/home/esignet-2.x/readme/what-is-esignet.md">What is eSignet?</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-a81f8e1c7d38cc71f9ccfda4c71350b0bd94277c%2Fcard-understand-about.svg?alt=media">card-understand-about.svg</a></td></tr><tr><td><h4>Architecture</h4></td><td>How eSignet's components fit together.</td><td><a href="/home/esignet-2.x/develop/architecture.md">Architecture</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-c3cf1a6b9b3ad89c7e75d5c3b0439e807608447b%2Fcard-understand-architecture.svg?alt=media">card-understand-architecture.svg</a></td></tr><tr><td><h4>Features</h4></td><td>What eSignet can do, feature by feature.</td><td><a href="/home/esignet-2.x/readme/features.md">Features</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-0061ec8241d2856b5bfdaca2b08d71308e3087d6%2Fcard-understand-features.svg?alt=media">card-understand-features.svg</a></td></tr><tr><td><h4>Principles</h4></td><td>The design principles behind eSignet.</td><td><a href="/home/esignet-2.x/readme/principles.md">Principles</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-2ae592a3d69000e5db94be67cfda890a5fe3151a%2Fcard-understand-principles.svg?alt=media">card-understand-principles.svg</a></td></tr><tr><td><h4>Standards</h4></td><td>The specifications eSignet implements, such as OIDC and FAPI 2.0.</td><td><a href="/home/esignet-2.x/readme/standards.md">Standards</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-918a3ec7f7b7d87df7b9587112f2505d5ab5d7d7%2Fcard-understand-standards.svg?alt=media">card-understand-standards.svg</a></td></tr><tr><td><h4>Technology</h4></td><td>The technology stack eSignet is built on.</td><td><a href="/home/esignet-2.x/readme/technology.md">Technology</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-94378829f680a9af02e4bbc9e49e6dd860a9251f%2Fcard-understand-technology.svg?alt=media">card-understand-technology.svg</a></td></tr><tr><td><h4>Security</h4></td><td>How eSignet protects users and their data.</td><td><a href="/spaces/GLWCTe02ubJM6M7TcHlg/pages/Tk3eiHfyOsvmzvqNZGRg#id-1.-security-standards">/spaces/GLWCTe02ubJM6M7TcHlg/pages/Tk3eiHfyOsvmzvqNZGRg#id-1.-security-standards</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-d7773d9830f6d5f863c3ccb68437391573eb0432%2Fcard-understand-security.svg?alt=media">card-understand-security.svg</a></td></tr></tbody></table>

### Try eSignet

**No setup required.** Log in through a live eSignet flow with test data in about 5 minutes.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4>Try the live demo</h4></td><td>Log in through a live eSignet flow in the sandbox.</td><td><a href="/home/esignet-2.x/local-deployment/try-it-out.md">Try It Out</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-ccca16c8d4693a460bb1dc33aa23aaae0bd6fe4e%2Fcard-try-demo.svg?alt=media">card-try-demo.svg</a></td></tr><tr><td><h4>See what users see</h4></td><td>Walk through each login and consent step from the user's side.</td><td><a href="/home/esignet-2.x/local-deployment/try-it-out/end-user-guide.md">End User Guides</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-d425462b36fc473e65e3d18783cfe109310b01b9%2Fcard-try-user-view.svg?alt=media">card-try-user-view.svg</a></td></tr><tr><td><h4>Pick a mock identity</h4></td><td>Choose a ready-made persona and its test identity number (UIN).</td><td><a href="/home/esignet-2.x/local-deployment/try-it-out/using-mock-data.md">Using Mock Data</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-cc812f0d1741d5e18f88fcc5f3d8aaf4a489c90b%2Fcard-try-test-identity.svg?alt=media">card-try-test-identity.svg</a></td></tr></tbody></table>

### Choose your path

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><mark style="color:$primary;">For app developers</mark></td><td><h4>Integrate your application</h4></td><td>Connect your application to eSignet as an OIDC relying party.</td><td><a href="/home/esignet-2.x/develop/integration/relying-party.md">Relying Party</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-eff273b304d704d12841628c807419eb83e0eb1a%2Fcard-integrate-application.svg?alt=media">card-integrate-application.svg</a></td></tr><tr><td><mark style="color:$primary;">For ID system owners</mark></td><td><h4>Connect an identity system</h4></td><td>Connect a national ID system, civil registry, or other identity source.</td><td><a href="/home/esignet-2.x/develop/integration.md">Integration Guides - eSignet</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-e65cfe6e7388953e88a55d339e96df1228655e8c%2Fcard-connect-identity-system.svg?alt=media">card-connect-identity-system.svg</a></td></tr><tr><td><mark style="color:$primary;">For operators</mark></td><td><h4>Deploy eSignet</h4></td><td>Install, configure, and run eSignet in production.</td><td><a href="/home/esignet-2.x/build-and-deploy.md">Deploy</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-2215555a5af28f3992b3434f403305a0eadee92b%2Fcard-deploy-esignet.svg?alt=media">card-deploy-esignet.svg</a></td></tr></tbody></table>

### Get started locally

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4>1. Run eSignet locally</h4></td><td>Set up eSignet on your machine.</td><td><a href="/home/esignet-2.x/local-deployment/local-setup.md">Local Setup</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-8540fd1d8d8c41ac9549498b9e24dbbdf7c443b7%2Fcard-local-run.svg?alt=media">card-local-run.svg</a></td></tr><tr><td><h4>2. Set up the mock identity system</h4></td><td>Load test identities before connecting a real identity system.</td><td><a href="/home/esignet-2.x/local-deployment/local-setup/mock-id-system.md">Mock Identity System</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-d9dc6482c40ea7c050cdd02a4e01feb6e6230954%2Fcard-local-mock-id.svg?alt=media">card-local-mock-id.svg</a></td></tr><tr><td><h4>4. Onboard your relying party</h4></td><td>Integrate a relying party application with your local eSignet.</td><td><a href="https://github.com/mosip/esignet/blob/master/docs/relying-party-integration.md">https://github.com/mosip/esignet/blob/master/docs/relying-party-integration.md</a></td><td><a href="https://3346822025-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi0S6JWwXFroEanBmrE5q%2Fuploads%2Fgit-blob-7c6df7378d653ecba039b0499f7b29ba81a8e479%2Fcard-local-connect-app.svg?alt=media">card-local-connect-app.svg</a></td></tr></tbody></table>

### Resources and support

[FAQ](/home/esignet-2.x/general/faq.md) | [Glossary](/home/esignet-2.x/general/glossary.md) | [Resources](/home/esignet-2.x/general/resources.md) | [Contribute](/home/esignet-2.x/contribution.md) | [GitHub](https://github.com/mosip/esignet) | [Contact and support](/home/esignet-2.x/general/contact-us.md) |

***


---

# 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://docs.esignet.io/esignet.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.
