Heimdall

One identity service for many systems, with each system's people kept apart.

Get started Source

Heimdall is a centralized identity-management system. It answers one question for every system that delegates to it: who is this caller, and what are they allowed to do?

It has two parts: the Heimdall API, built with ASP.NET Core on .NET 10, and Heimdall UI, a Flutter application that drives it.

One scope per client system

Each client system gets its own scope. Its owners, users, applications and permissions live inside that scope and stay isolated from every other one.

Persons and applications

Manage human identities as persons, and other systems as applications — a non-human identity that belongs to one scope.

Permissions in the token

A scope can define its own permissions. Those flagged IncludeAsJwtClaim are added to the JWT issued to people signing in to that scope.

Several ways to sign in

Email and password, Google Sign-In where a scope enables it, and optional two-factor authentication with an authenticator app, email, or both.

One UI, four targets

Heimdall UI is a single Flutter codebase that ships to the web, Windows, Linux and Android. What each person sees follows their role.

Open source

The default branch of both code repositories is under the Artur Rios Attribution License. The licence file has the terms.

Read more