Authentication
How applications authenticate with Archangel, manage sessions, and handle hardware binding.
License Authentication
License authentication is the standard flow for most applications. The client submits a license key, Archangel validates it on the server, and returns a signed session containing user information and license details.
Authentication Flow
- The application initializes with Archangel and confirms it is active and reachable.
- The user enters a license key, which is sent to Archangel together with an optional hardware fingerprint.
- Archangel validates the key, checks its status and expiry, binds hardware when enabled, and returns a signed session.
- The application sends periodic heartbeats to keep the session alive and receive updated license state.
- When the application closes, it logs out to release the session.
First Activation vs. Subsequent Use
Archangel behaves differently depending on whether the key has been used before.
| Scenario | Behavior |
|---|---|
| First activation | License status changes from unused to active. A user account is created automatically and the hardware fingerprint is bound to the license. |
| Subsequent use | Archangel validates the stored hardware fingerprint, enforces the device limit, and issues a fresh session. No new user or binding is created. |
Password Authentication
For applications that prefer username and password login over raw license keys, Archangel supports a full registration and login flow.
Registration
- The end user registers with a valid license key, a chosen username, and a password.
- Archangel activates the license and creates a user account linked to it.
- From then on, the user signs in with the registered username and password.
Login Flow
- The user signs in with a username, password, and optional hardware fingerprint.
- Archangel validates the credentials, checks the associated license, and returns a signed session.
- The same heartbeat and logout lifecycle applies as with license authentication.
Multi-Product Accounts (Game Loaders)
Single-product applications use the standard flows above with no additional steps. Multi-product applications, such as game loaders that bundle several titles under one account, allow a single user to hold subscriptions to multiple products at the same time.
Multi-Product Flow
- The user registers or logs in as usual to establish a session.
- The user redeems a product key. Archangel validates and activates it, then creates a subscription linking the user to that product with its own start and expiry dates.
- Redeeming is repeated for each additional product key the user owns.
- Every heartbeat returns the full list of active subscriptions, so the application always knows which products are available to the user.
Note
Products are configured in the dashboard under each application. Each product has a name, a numeric level, and optional feature metadata. License keys can be bound to a specific product at generation time. See the Products section in Features for details.
Session Management
Archangel tracks every active session on the server. Sessions enforce concurrency limits and feed the anomaly detection engine.
| Property | Details |
|---|---|
| Expiry | Sessions expire after 24 hours of inactivity. Each heartbeat extends the expiry by another 24 hours. |
| Challenge response | A fresh nonce is issued with every response. The client must present the current nonce on the next request, which defeats replayed traffic. |
| Concurrency limit | The maximum number of concurrent sessions per user is configurable per application. When the limit is reached, the oldest session is evicted automatically. |
Note
Heartbeats should be sent every 5 to 15 minutes. If a client misses the expiry window, it simply authenticates again from scratch.
Hardware Binding
Hardware binding ties a license to a specific physical machine, preventing license keys from being shared across devices.
How It Works
- The client machine computes a composite fingerprint from system identifiers such as CPU, motherboard, disk, and network hardware. Only a SHA-256 hash ever leaves the machine.
- On first activation, the fingerprint is bound to the license. Subsequent authentication requests are validated against the stored binding.
- Archangel scores individual hardware components rather than demanding an exact match, so a legitimate component upgrade does not lock a customer out while a completely different machine is still rejected.
Multi-Device Support
Every license has a configurable device limit. When a new device authenticates with a license that has not yet reached its limit, the new fingerprint is added automatically. Once the limit is reached, authentication from unrecognized devices is rejected. Bindings can be reset from the dashboard at any time.
Hardware Change Cooldown
A configurable waiting period between hardware changes can be set per application. Once a license moves to new hardware, further changes are blocked for the configured number of hours. This stops a license from being passed rapidly between machines.
Abuse Visibility
Authentication attempts from unbound devices are recorded as events and feed the anomaly detection engine, giving you a clear view of attempted license abuse directly in the application logs.
Note
Hardware binding is optional. If no fingerprint is sent during authentication, the license operates without device restrictions. Applications that do not require hardware locking can omit it entirely.