← projects

project

Heimdall — Authentication and Access Control System

at Sage Networks

What it is

Heimdall is the company's in-house authentication and access control system, integrated with Asgard (the client-facing dashboard): Asgard sends authentication and authorization requests to Heimdall, which validates and responds to them. It already existed when I joined the project; my role was ongoing maintenance and improvement.

My role

  • Maintained and evolved the authentication flow, including two-factor verification (2FA) via email.
  • Worked with JWT tokens for authentication and session control.
  • Maintained the "forgot password" recovery flow.
  • Managed access permissions to specific areas of the system, tied to each client's contracted plan — blocking access to features outside the contract's scope.
  • Implemented multi-tenant isolation: each client company only has access to its own dashboard, with no possibility of accessing data or areas belonging to other companies on the platform.
  • Supported the administrator account, with privileged access across all clients' dashboards on the platform.
  • Persisted user data in a SQLite database.
  • Routed requests between Asgard and Heimdall through Nginx.

Tech Stack

  • Python
  • JWT
  • Two-factor authentication (email)
  • Password recovery
  • SQLite
  • Nginx
  • Multi-tenant access control with an administrator role

Technical Highlights

  • Use of JWT tokens for authentication and session control
  • Two-factor authentication via email
  • Password recovery flow
  • Permission model tied to contracted plans, enabling granular access control by feature/area
  • Multi-tenant isolation ensuring one company can never access another's data or screens
  • Administrator role with a consolidated view across all clients, alongside the standard isolation between companies
  • User persistence in SQLite
  • Nginx as the routing layer between Asgard (frontend) and Heimdall (authentication service)
  • Direct integration with Asgard as the authentication and authorization layer

This site uses essential cookies (theme, preferences) and, with your permission, analytics cookies (Google Analytics) to understand how the site is used. learn more