Users
Users are people, sourced from Microsoft Entra ID and linked to the
assets they own. The list lives at Inventory → Users (/users); clicking a
row opens the user detail at /user/<upn>.
The Users list
Populated from the entra_users collection. Columns: Name (display name +
UPN), Department, Title, Groups (membership count), and Status
(Enabled / Disabled). Tools:
- Search across name, UPN, email, and department.
- An Enabled only checkbox to hide disabled accounts.
- Simple prev/next pagination (25 per page).
Clicking a row opens the full user detail.
The user detail page
The detail page loads the Entra user (GET /entra/user/<upn>) plus its linked
assets and enrichment.
Header, badges & KPIs
The header shows an avatar, display name, and title · department. Two status
chips can appear on the right:
- Enabled / Disabled — the account state.
- Door admin — shown when the user is flagged as a badge-system
administrator (the
badge_adminflag rolled up from badge-access enrichment).
Four KPI cards summarize Assets (linked devices), Groups (memberships), Status, and Department.
Linked assets
Assets are linked to a user by UPN and display name across sources: Intune
devices carry the owner UPN, and inventory_items carry the user’s email and
name. Matches are resolved to a device id (preferring the Intune UUID) so each
linked asset deep-links to its asset detail.
Group memberships
The user’s Entra group memberships render as chips; when there are more than eight, a filter box appears to search within them.
Source-grouped Attributes
The detail page uses the same runZero-style Attributes panel as the asset detail — a vertical SourceTabs rail plus an AttributeTable. Each tab is one source:
| Tab | Source |
|---|---|
| entra.id | Entra profile (UPN, mail, job title, department, office, mobile, SAM account, account enabled, aliases) |
| badge.access | Badge / door-access system (via CSV enrichment) |
| hr.roster | HR roster (via CSV enrichment) |
Only sources that actually have data for the person appear. See the Frontend reference for the component details.
Alias-based linking to badge / HR
Badge and HR data come from CSV sources (csv_users) keyed by email, but a
badge or roster row often uses an alias address rather than the person’s UPN. To
link them correctly, the backend collects the user’s UPN, primary mail, and
every SMTP alias (from Entra proxyAddresses) and matches enrichment rows
against that whole set. When several alias-matched rows share a source, they are
merged into one tab. If any matched badge row carries the admin flag, the
top-level Door admin badge is set.
Related
- Assets · Entra ID integration
- Data sources (CSV/Excel) — how badge/HR rosters are imported.