Skip to main content

How does UniMe fit in the Impierce ecosystem?

UniMe is the person's side of the Impierce suite: the wallet that receives, holds and presents verifiable credentials. UniCore and UniTrust are the organization's side. UniCore is the open-source engine that issues and verifies credentials, and UniTrust is the business wallet and credentialing platform built on it. Together they cover every role in a credential exchange.

Who does what when a credential is exchanged?​

Every credential exchange has three roles: an issuer creates and signs a credential, a holder keeps it in a wallet, and a verifier asks for it and checks it. Organizations take the issuer and verifier roles with UniTrust or UniCore. People take the holder role with UniMe, Impierce's open-source European Identity Wallet.

The issuer, holder and verifier triangle: an organization issues a credential to UniMe with OpenID4VCI, the user presents it from UniMe to another organization with OpenID4VP, and the verifier decides whether it trusts the issuer.

The two exchanges run over open OpenID standards. Issuance uses OpenID for Verifiable Credential Issuance (OpenID4VCI), and presentation uses OpenID for Verifiable Presentations (OpenID4VP). Because the protocols are open, the issuer and verifier do not have to be Impierce software, and an organization can also hold credentials itself.

RoleWho plays itImpierce product
IssuerAn organizationUniTrust or UniCore
HolderA personUniMe
HolderAn organizationUniTrust, or UniCore as an organizational wallet
VerifierAn organizationUniTrust or UniCore

What does UniCore do?​

UniCore is the engine of the suite. It is Impierce's open-source identity agent, written in Rust, that wraps the identity standards in a REST API and acts as issuer, verifier and holder for an organization. It runs as a Docker container and emits an event for every operation, so other systems can react.

UniCore is free and open source under the Apache 2.0 license. Use it when you build your own identity product, or when you add identity functionality to a product you already have: your application calls the UniCore API, and UniCore handles the protocols, keys and credential formats. UniTrust is built on UniCore, and UniCore is planned to power UniMe as well, so the wallet and the organization's agent will share one implementation of the standards.

To issue or verify with UniCore, start with What is UniCore? and the guides Issue a Credential and Verify a Credential.

What does UniTrust do?​

UniTrust is Impierce's business wallet and credentialing platform for organizations: a web application built on UniCore that needs no code to issue and verify credentials. It is a commercial product, available as software as a service or self-hosted, and it is not open source. UniTrust gives an organization a European Business Wallet: a profile anchored in a decentralized identifier (DID), where the organization holds its own credentials and publishes the public ones that make it trustworthy.

With UniTrust, an organization issues credentials to UniMe users and asks UniMe users for credentials, for example at onboarding or login. What the organization publishes about itself through UniTrust is what UniMe shows when a user meets that organization. The user sees the organization's verified identity and its public credentials on the screen where they accept a new connection.

For the UniTrust side, see the UniTrust documentation, including Linked Verifiable Presentations for publishing an organization's public credentials.

Why we chose this

UniMe and UniCore are open source so that any organization can issue to and verify from UniMe without depending on Impierce. UniTrust is the commercial product that makes those capabilities available without code. The split keeps the standards layer open and interoperable, while the platform earns the revenue that funds the open-source work.

Which route should you take to integrate with UniMe?​

Pick the route that matches what you already have. All four end in the same place: an issuer or verifier that exchanges credentials with UniMe over OpenID4VCI and OpenID4VP.

RouteBest forWhat you buildWhere the docs are
UniTrustOrganizations that want to issue and verify without writing codeNothing: configure UniTrust in its web interfaceUniTrust
UniCoreTeams building their own identity product, or adding identity to an existing productAn application that calls the UniCore APIIssue a Credential, Verify a Credential
Your own softwareTeams that implement the standards directly in their own stackAn OpenID4VCI issuer or an OpenID4VP verifierOpenID4VCI, OpenID4VP
Interoperability testingTeams that already have an issuer or verifier and want to check it against a real walletTest runs against UniMe on a phone or a desktop buildUniMe on GitHub

Whatever the route, UniMe identifies every organization by its DID and shows the user the evidence it can find about that organization before they accept a connection. One way to provide that evidence is domain linkage, which ties the DID to your website. UniTrust publishes it for you; with UniCore, see Domain Linkage.

FAQ​

Do I need UniTrust or UniCore to work with UniMe?​

No. UniMe works with any issuer or verifier that implements OpenID4VCI and OpenID4VP and identifies itself with a DID. UniTrust and UniCore are the fastest routes, because they already meet UniMe's requirements.

Which Impierce products are open source?​

UniMe and UniCore are open source under the Apache 2.0 license. UniTrust is a commercial, closed-source product built on UniCore.

Can an organization hold credentials too?​

Yes. UniTrust gives an organization a business wallet that holds credentials and publishes the public ones on its profile. UniCore can also act as a holder for an organization, see Receive Credentials as an Organization.

Does UniMe run on UniCore?​

Not yet. UniMe has its own Rust backend today, built on the same OpenID4VC library as UniCore. UniCore is planned to power UniMe, so the two will share one implementation of the standards.

What does a UniMe user see from UniTrust?​

When a user meets an organization that uses UniTrust, UniMe shows the organization's verified identity and the public credentials it published. The user decides whether to accept the connection based on that evidence.

Next steps​

Read What is UniMe? for the wallet itself, or follow Issue a Credential to send your first credential to UniMe with UniCore.