A cloud native Identity Aware Proxy and Access Control Decision service
257
stars
1,965
commits
Go
primary language
Sep 10, 2026
updated
Heimdall is inspired by the Zero Trust idea and also by Pomerium and Ory's OAthkeeper. Some experience with both and my inability to update the latter one to include the desired functionality and behavior was Heimdall's born hour.
Heimdall authenticates and authorizes incoming HTTP (HTTP 1.x and HTTP 2.0) requests as well as enriches these with further contextual information and finally transforms resulting subject information into a format, required by the upstream services.
It can do so:
In both cases it acts as a Policy Enforcement and to some degree a Policy Decision Point according to NIST Zero Trust Architecture (SP 800-207)
The decision-making and transformation processes in Heimdall are governed by rules or respectively rule sets. These rule sets can be independently configured and managed by each upstream service. Heimdall dynamically loads these rules from a variety of sources, including:
RuleSet kubernetes resources (a corresponding CRD is shipped with the helm chart)That way, these rule sets cannot only be managed centrally, but be deployed together with each particular upstream service as well without the need to restart or redeploy heimdall. Indeed, these rule sets are optional first class citizens of the upstream service and allow:
Heimdall's main focus points beyond its functionality are:
Head over to the documentation for details or if you would like to give it a try.
For information on the currently supported functionality, please refer to the Release descriptions. Planned features can be found in the defined Milestones.
Go
99.8%
A cloud native Identity Aware Proxy and Access Control Decision service
257
stars
1,965
commits
Go
primary language
Sep 10, 2026
updated
Heimdall is inspired by the Zero Trust idea and also by Pomerium and Ory's OAthkeeper. Some experience with both and my inability to update the latter one to include the desired functionality and behavior was Heimdall's born hour.
Heimdall authenticates and authorizes incoming HTTP (HTTP 1.x and HTTP 2.0) requests as well as enriches these with further contextual information and finally transforms resulting subject information into a format, required by the upstream services.
It can do so:
In both cases it acts as a Policy Enforcement and to some degree a Policy Decision Point according to NIST Zero Trust Architecture (SP 800-207)
The decision-making and transformation processes in Heimdall are governed by rules or respectively rule sets. These rule sets can be independently configured and managed by each upstream service. Heimdall dynamically loads these rules from a variety of sources, including:
RuleSet kubernetes resources (a corresponding CRD is shipped with the helm chart)That way, these rule sets cannot only be managed centrally, but be deployed together with each particular upstream service as well without the need to restart or redeploy heimdall. Indeed, these rule sets are optional first class citizens of the upstream service and allow:
Heimdall's main focus points beyond its functionality are:
Head over to the documentation for details or if you would like to give it a try.
For information on the currently supported functionality, please refer to the Release descriptions. Planned features can be found in the defined Milestones.
Go
99.8%