Concepts
It is important to understand a few things before jumping into the actual substance of Pony ID. Therefore, let's quickly review them in order to get started.
What is Pony ID?
Pony ID is a LittleHorse product. It can provide identity (IdP) and user management for customers, and it can also connect to an existing external IdP. One capability within Pony ID is the User Tasks Bridge, which integrates your IdP with LittleHorse Kernel's User Tasks. As you may have read before, the LittleHorse Kernel does not come with any user-identity-related features, and that is precisely what justifies the existence of a solution like Pony ID with the User Tasks Bridge capability.
This bridge is out here to stablish a secure channel of communication between LittleHorse Kernel's User Tasks and your OIDC-compliant Identity Provider so that your company can leverage its already working strategy and tools to handle its users, plus the power that the integration with User Tasks provides to have a competitive advantage for all of your company's human-in-the-loop tasks that are part of any LittleHorse Kernel's Workflows.
Architecture
Pony ID consists of 3 main components:
- 
- Java Spring Boot application that acts as the bridge between your IdP and LittleHorse
- Configurable to support any OIDC-compliant Identity Provider
 
- 
- Typescript node package
- Allows you to interact with the User Tasks Bridge Backend in a type-safe manner
 
- 
- Next.js application that provides a complete user interface for managing User Tasks
- Uses the User Tasks Bridge API Client to interact with the User Tasks Bridge Backend
 
This is a high-level representation of how these components are connected among them:
Types of Users
As of now, there are 2 types of users in User Tasks Bridge, which are Admin Users and Standard Users, and there are clear differences and reasons to choose between them:
- 
Admin Users: as its name suggests, this type of user is the one that you want to set to those people in charge of managing who is allowed to do XYZ tasks. Furthermore, not only can this type of user assign, reassign or cancel User Tasks, but also fetch all User Tasks from all of the organization, claim and complete them if needed. 
- 
Standard Users: This type of user is the one that you want to set to those people in charge of completing User Tasks without allowing them to fetch User Tasks other than the ones already assigned to them or their group, nor can they reassign any User Task. 
User Groups
Companies usually perform in environments where tasks can be assigned to a specific user or any user within a specific group, and when that is the case, most Identity Providers offer a way to achieve that, and that way is commonly known as User Groups (or just Groups), which is why LittleHorse's User Tasks Bridge takes advantage of that as well so that you can have a fine-grained control over User Tasks assignments, for you want to be able to assign a certain task to General Obi-Wan Kenobi (a specific user), or anyone available in the Jedi Order (a specific group).