26
Total Infrastructure
0
Low Complexity
26
Medium Complexity
0
High Complexity
5
Shared

Infrastructure components provide foundational utilities, system integrations, and supporting functionality for the application.

TokenStore

Provides platform-appropriate secure storage for authentication tokens, using the device secure store on mobile and HTTP-only SameSite cooki...

medium Email & Password Login
BankIdCallbackHandler

Receives and processes the OIDC callback from the BankID identity provider after the user completes authentication. Validates the authorizat...

medium BankID Authentication
VippsCallbackHandler

Receives the OAuth callback redirect from Vipps after the user completes authentication, extracts the authorization code and state parameter...

medium Vipps Authentication
SecureTokenStore

Wraps the device platform secure enclave storage (iOS Keychain, Android Keystore) to persist and retrieve the session token tied to a comple...

medium Biometric Login (Face ID/Fingerprint)
WebAuthnApiClient

Typed HTTP client for all WebAuthn-related backend endpoints. Handles challenge issuance, attestation verification, assertion verification, ...

medium Passkeys (WebAuthn)
WebAuthnPlatformAdapter

Abstracts platform-specific WebAuthn and FIDO2 APIs behind a single interface. On web it delegates to the browser's navigator.credentials AP...

medium Passkeys (WebAuthn)
CalendarPermissionHandler

Handles OS-level calendar permission requests on iOS and Android, presenting clear rationale messaging to the user before the system prompt ...

medium Calendar Sync
SpeechPermissionHandler

Manages microphone permission requests and tracks the current permission state on the device. It surfaces clear prompts when permission is d...

medium Speech-to-Text Input
FileStorageClient

Provides a thin wrapper around the remote cloud storage API (e.g. Supabase Storage or S3-compatible bucket) used to upload and retrieve atta...

medium Document Attachments
ReceiptStorageClient

Backend infrastructure component that generates short-lived presigned URLs for direct mobile-to-object-storage uploads and stores the result...

medium Receipt Photo Upload
MapProvider

Provides the underlying map rendering engine and tile infrastructure used by the UI layer to display geographic content. It wraps a third-pa...

medium Peer Mentor Map
GeocodingClient

Wraps the external geocoding API used to convert free-text location strings into coordinate pairs. Applies request batching, response cachin...

medium shared Assignment Matching by Geography
HaversineDistanceCalculator

Stateless utility that computes the great-circle distance between two geographic coordinate pairs using the Haversine formula. Returns dista...

medium shared Assignment Matching by Geography
MentorMapIntegrationAdapter

Integration layer connecting the geography matching feature to the peer-mentor-map dependency. Translates between the map feature's data con...

medium Assignment Matching by Geography
FirebaseMessagingClient

Thin infrastructure wrapper around the Firebase Cloud Messaging SDK for sending push notification payloads to registered device tokens. Abst...

medium Push Notifications
NotificationDispatchClient

Abstracts communication with external email relay and SMS gateway providers behind a unified interface. It handles provider-specific authent...

medium Email/SMS Notifications
RenewalNotificationTrigger

Scheduled cron-based trigger that fires RenewalReminderService at regular intervals to detect and dispatch due reminders. Routes outbound no...

medium Certificate Renewal Reminder
ModuleRegistryService

Infrastructure service that maintains the canonical list of feature modules available to each organisation and exposes an API for querying w...

medium shared Role-Specific Home Dashboard
SqlCipherProvider

Bootstraps the SQLCipher extension and manages the encryption key lifecycle for the local database. It derives a per-device key from secure ...

medium Offline Data Support
RetryBackoffScheduler

Implements exponential backoff scheduling for failed sync attempts on both iOS and Android. It calculates delay intervals based on attempt c...

medium Background Sync
ExportFileGenerator

Converts a Bufdir report snapshot data structure into the target file format (CSV, XLSX, or Bufdir-specified structured file). It operates a...

medium Bufdir Export
ExternalPortalApiClient

HTTP client responsible for all outbound communication with the external portal's registered endpoint. Handles authentication, request signi...

medium External Portal Integration
AccountingApiClient

Handles low-level HTTP communication with external accounting system endpoints, including Xledger and the Dynamics-based HLF portal. It mana...

medium Accounting API
BookingWebhookClient

Handles outbound delivery of demo booking requests to the Norse Digital Products sales team via email or webhook. It abstracts the transport...

medium Booking Form
PrintStylesheetProvider

Supplies print-optimised CSS rules for legal document pages so procurement teams can produce clean paper copies. Hides navigation, sidebars,...

medium shared Data Processing Agreement (DPA)
StaticPageMetaInjector

Injects SEO and structured-data metadata into static legal pages at build time. Adds canonical URL, noindex directives where appropriate, an...

medium shared Data Processing Agreement (DPA)