Moderniserad UI med tydliga statussignaler, glasartade kort och snabbåtkomst till SSO-flöden. Fokuserar på att göra tenantval, favoriter och readiness lättare att förstå.
Gästläge – logga inTenant: 3 scopes saknas
Snabbåtgärder
Starta via SIS
Readiness0%
0 åtgärder • 0/1 moduler inom SLO
Användare
Gäst
Gäst
Inte inloggad
Tenant
X-Tenant-Id
Organisation: svenska-stenhus
Tokenstatus
OIDC
Ingen token
Audience: stenpro-platform
Scopes: saknas
Licensierade moduler
0/8
Launcher visar moduler där tenant + licens + roll matchar.
Favoriter
0
Snabbstartar moduler och styr widget-lagrets genvägar.
Roadmap
0% klart
Milstolpar markerade som klara i roadmapen för vald tenant.
SLO-status
0/1 inom SLO
Moduler som klarar p95- och felrate-kraven i DoD.
Portal coach
AI-assistent kopplad till roadmap & DoD
Assistent
Analyserar din aktuella session (auth, roadmap, SLO och release readiness) utan externa API-anrop. Assistenten följer Clean Architecture-principen genom att använda samma domänfunktioner som launcher, widgetlager och diagnostics.
Kör en analys för att få prioriterade åtgärder baserat på Auth.md, roadmapen och release readiness.
Admin
Kontrollpanel för portaladmins
Samlar modulaccess, blueprint och sharelink-tillsyn enligt roadmapen så admins snabbt ser vad som blockerar tenantens rollout.
Logga in och välj tenant för att se adminstatus.
Portal-snapshot
Sammanfattning per tenant
Overview API
Konsoliderar launcher, favoriter, notifieringar, SLO, roadmap och release readiness via/api/platform/overview. Panelen återanvänder samma domänlogik som widgetlagret och readiness-checken för att visa läget för vald tenant utan att duplicera regler.
Logga in via SIS för att läsa portalläget.
Tenant & organisation
Multi-tenant login enligt Auth.md
Tenant switch
Portalen skickar alltid med X-Tenant-Id ochX-Organization-Id i enlighet med Auth.md. Här kan du simulera en ny tenant eller organisation och se hur launcher-åtkomsten uppdateras.
Ange både tenant och organisation för att aktivera favoriter, sök och API-panelen enligt Auth.md.
Aktiva värden skickas vidare till modulerna och används i API-anropen nedan tillsammans med bearer-token.
Enligt Auth.md §6 krävs både tenant och organisation innan portalens API svarar; knappen aktiveras först när båda fälten är ifyllda.
Auth & SSO
Checklistan från Auth.md
Identity
Konsoliderar svaren från /api/identity/checklist så att portalen kan bevaka Auth.md:s krav (headers, scopes, token_use, TTL) direkt i shell-appen. Använd panelen när du QA:ar SSO-flödet eller felsöker varför roadmap-kort blockeras av policy.
Logga in för att hämta checklistan från portalens API.
Roadmap-synk
Auth- och portalchecks
DoD-status
Sektionen speglar checklistan i apps/portal/docs/ROADMAP.md ochdocs/archive/roadmaps/Auth.md. Använd den för att verifiera att portalstuben uppfyller roadmapens krav på tenant-context, scopes och SSO innan moduler kopplas på.
Tenant & organisation
Saknas
Sätt både tenant och organisation för att följa Auth.md §6.
Obligatoriska scopes
Saknas
Lägg till openid, profile, email för att följa Auth.md §10.
Sök-scope
Blockerad
Lägg till portal.search i token innan universalsök aktiveras.
SSO-token
Saknas
Logga in för att få en bearer-token enligt portalens SSO-flöde.
Portalblåkopian
Kärnblock enligt monorepo-dokumentationen
apps/portal/docs/ROADMAP.md
Jämför portalen mot kraven i roadmapen och monorepo-dokumentationen (modulkatalog, snabbnavigation, notifieringar, profil/tenant, universell sök och widgetlager). Status beräknas lokalt från samma signaler som release readiness så att blåkopian är transparent för teamet.
Översikt
0% klar
Portalblåkopian följer apps/portal/docs/ROADMAP.md och mäter modul-katalog, snabbnavigation, notifieringar, profil, sök och widgetlager.
0 klara · 1 att följa upp ·5 blockerade
Modulkatalog & licenser
Blockerad
Alla licensierade moduler synliga med tenant/rollfilter.
Katalogen ska spegla licenser/roller enligt portalens roadmap (apps/portal/docs/ROADMAP.md) med alla licensierade moduler synliga.
Snabbnavigation & favoriter
Blockerad
Minst en favorit eller nyligen öppnad modul per tenant.
Favoriter och recent-moduler behövs för O365-lik snabbväxling enligt portalens roadmap (apps/portal/docs/ROADMAP.md).
Notifieringar & uppgifter
Blockerad
Notifieringar per modul/roll med åtgärdsfokus.
Widgetlagret drivs av notifieringar med severity "action" enligt portalens roadmap (apps/portal/docs/ROADMAP.md).
Profil, tenant & organisation
Blockerad
Aktiva X-Tenant-Id/X-Organization-Id och rollvisning.
Profilpanelen ska visa tenant/organisation och roller enligt portalens roadmap (apps/portal/docs/ROADMAP.md) och kräver aktiva headers.
Universell sök
Komplettera
Aktiverat portal.search-scope i token.
Portal.search-scope krävs för modulär mikrosök över dokument/processer/personer enligt portalens roadmap (apps/portal/docs/ROADMAP.md).
Widgetlager & coverage
Blockerad
Minst 80% widget readiness och inga nedtagna moduler.
Dashboarden kräver 80% hälsa, 70% notifieringar och 60% roadmaptäckning innan paketering.
Roadmap-läge
Leveransstatus mot Portal-specen
Blueprint
Panelen binder ihop apps/portal/docs/ROADMAP.md ochdocs/roadmap/archived/Portal-Auth-Blueprint.md genom att visa vilka delar av shell-appen som redan matchar roadmapens DoD (SSO, launcher, sök/notiser och observability).
Auth + headers
Återstår
Komplettera tenant/scopes
Matchar Auth.md §6 och §10: inloggad session med X-Tenant-Id/X-Organization-Id och obligatoriska scopes.
Launcher-täckning
Återstår
0/8 licensierade moduler
Visar hur många moduler som uppfyller licens- och rollkraven i StenPro-Portal roadmapen för vald tenant.
Sök & notifieringar
Återstår
Scope saknas · 0 åtgärder
Universell sök kräver portal.search-scope och widgetlagret fylls av rollstyrda notifieringar per tenant.
Observability
Återstår
0/1 inom SLO
P95/felrate rapporteras per modul och tenant enligt roadmapens SLO (p95 < 300 ms, felrate < 0.1 %).
Widgetlager
Roadmap-drivna widgets per modul
Dashboard
Visualiserar widgetlagret i roadmapens nästa fas genom att kombinera notifieringar, hälsodata och nästa milstolpe per modul. Syftet är att QA och produktägare ska se vad som återstår innan widgetarna kan paketeras i portalens dashboard enligt StenPro-Portal.md.
Logga in och välj tenant/organisation för att visa widgetar som följer licenser och roller enligt Auth.md.
Roadmapstatus
Progress mot portalens roadmap
StenPro-Portal.md
Summerar roadmapen för licensierade moduler och gör det enkelt att följa hur fasning (GA/Preview/MVP) och DoD-milstolpar utvecklas per tenant. Underlaget kommer direkt från /api/platform/roadmapså att portal och roadmap håller sig synkade.
Total progress
0% av milstolparna
0 roadmap-poster följer portalens DoD (auth, launcher, widgetlager, observability).
0 klara
Fas per modul
Stage
GA
GA
0 moduler
Fullt releasade moduler med SSO och DoD enligt portalens roadmap.
Preview
Preview
0 moduler
Preview-moduler bakom feature flag som följer Auth/Portal-blåkopian.
MVP
MVP
0 moduler
MVP-läge för shell/launcher – kräver widgetlagret innan GA.
Planerad
Planerad
0 moduler
Planerade moduler som fortfarande saknar roadmap-DoD.
Milstolpar
DoD
Klart
Klar
0 st
Levererade roadmap-milstolpar.
Pågår
Pågår
0 st
Aktiva leveranser per modul/tenant.
Planerat
Planerad
0 st
Planerade backlogpunkter som blockerar GA.
Monorepo migration
Planstatus per tenant & modul
Migration-plan
Panelen återanvänder /api/platform/migration-plan och knyter faser, vågor och readiness-ankare till portalens modulregister. Licens, roller och tenant-/organisation-headers styr vilka moduler som räknas mot Monorepo-planens DoR/DoD.
Logga in för att läsa migrationsplanen för vald tenant.
Release readiness
DoD-checkar inför portalrelease
Roadmap/DoD
Speglar portalens releasekrav i apps/portal/docs/ROADMAP.md ochdocs/roadmap/archived/Portal-Auth-Blueprint.md. Varje kort motsvarar en checkpoint (SSO, scopes, launcher, widgetlager, observability, roadmap och audit) som måste vara grön innan portalen betraktas som releasklar.
SSO + tenantkontext
Blockerad
Saknar inloggning eller X-headers
Enligt Auth.md ska portalen alltid skicka X-Tenant-Id och X-Organization-Id tillsammans med en giltig token.
Scopes & sökpolicy
Blockerad
Komplettera scopes för DoD
Portalens DoD kräver obligatoriska scopes och det dedikerade portal.search-scopet innan API:er och universalsök öppnas.
Launcher-täckning
Blockerad
0/8 licensierade moduler
Alla licensierade moduler för tenant ska vara åtkomliga med rätt roller enligt roadmapens modulregister.
Widgetlager & notifieringar
Följ upp
Saknar data för widgetlagret
Roadmapens dashboardlager bygger på notifieringar med severity “action”, favoritmoduler samt aktiverad hälsa och roadmap på varje widget. Täcka minst 80% hälsa/readiness, 70% notifieringar och 60% milstolpar innan GA.
Observability & SLO
Blockerad
Saknar hälsodata
P95 < 300 ms och felrate < 0.1 % per modul ska följas upp i portalen enligt roadmapens SLO-krav.
Roadmap/DoD
Blockerad
0% av milstolparna klara
Roadmapens milstolpar måste nå GA-kvalitet innan portalen kan markeras som releasklar.
Auditlogg & deep links
Blockerad
Ingen auditdata än
Varje modulöppning ska loggas med tenant/organisation så att portalens revisionsspår är komplett före release.
Roadmap per modul
Milstolpar och fas
Roadmap
Hämtar roadmapstatus från /api/platform/roadmap och filtrerar på licenserade moduler för vald tenant. Panelen visar fas (GA/preview/MVP) och nyckelmilstolpar så att portalen kan följas upp mot roadmapen direkt i shell-appen.
Per modul
Fas, milstolpar och backlog
/api/platform/roadmap
Visar roadmapdata från API:et för licensierade moduler. Varje kort lyfter fas (GA/preview/MVP), levererade och pågående milstolpar samt hur stor backlog/gap som återstår innan nästa fas kan nås.
Inga roadmap-poster tillgängliga för licensierade moduler.
Kvartersplan
Milstolpar per kvartal
Quarterly
Lyfter roadmapens kommande leveranser per kvartal så roadmap-reviewer kan se vilka moduler och milstolpar som planeras för nästa faser i Monorepo-planen.
Inga kommande roadmap-milstolpar har satts för något kvartal ännu.
Roadmap-gap
Blockers mot GA/preview
DoD-gap
Identifierar moduler som saknar färdiga milstolpar enligt roadmapen så att portalen kan följa upp DoD och nästa steg för respektive tenant.
Inga öppna milstolpar att flagga – roadmapen är helt grön för denna tenant.
Roadmap-backlog
Leveranser som blockerar fasning
Blueprint
Binder ihop roadmapen och portalens DoD genom att lista återstående milstolpar per modul. Panelen hjälper teamen att se vad som krävs innan modulen kan flyttas till nästa fas i apps/portal/docs/ROADMAP.md.
Roadmapen är grön – inga öppna backlogpunkter för denna tenant.
Nästa leveranser
Roadmap-punkter som återstår
Backlog
Filtrerar fram planerade och pågående milstolpar för licensierade moduler så utveckling och QA kan prioritera nästa steg direkt i portalen.
Inga kommande milstolpar hittades för vald tenant.
Kvartalsplan
Roadmap per kvartal
Plan
Samlar kommande milstolpar per kvartal så att programledningen ser hur roadmapen ligger mot Auth/Portal-blåkopian och kan fördela kapacitet per tenant.
Inga tidsatta milstolpar hittades för kommande kvartal.
Inga roadmap-poster tillgängliga för vald session.
Snabbnavigering
App Launcher enligt O365
Favoriter och senast öppnade moduler använder SSO-flödet och filtreras på licens samt roller i JWT:n. Listorna byggs per tenant och uppdateras med auditloggen så att senaste launcher-klick syns direkt.
Quick switch
Favoriter
Inga favoriter för vald tenant.
Recent
Inga nyligen öppnade moduler.
Adminväxling
Inga adminroller hittades för vald session.
Modulöversikt
Launcher
SSO klar
0 modulerFiltreras på licens, tenant och roller enligt Portal-specen.
Ingen modul matchar sökningen eller vald tenant/roll. Justera behörighet enligt Auth.md.
Behörighetskontroller
Blockerade moduler
Portal DoD
Portalen visar även moduler som är blockerade av Auth/Portal-reglerna för att tydliggöra varför SSO inte tillåter start. Listan speglar licenser, roller och kravet på X-Tenant-Id.
HR
hr
Gäst
Gästsession – logga in för att få giltig token och claims.
Sökningen kör /api/search med bearer-token ochX-Tenant-Id/X-Organization-Idenligt Auth.md. Resultaten filtreras på licens och roller i samma steg som launchern och kräver scopetportal.search innan data returneras. Roadmap-fas och nästa målpunkter exponeras per träff och summeras per modul och typ så att roadmapspåret syns även i sökupplevelsen.
0 träffarScope: portal.search
Ange minst ett tecken i sökrutan ovan för att trigga sökningen.
Behörighetsutslag
Synlighet styrd av tenant & roller
Access control
Portalens modulöversikt filtrerar katalogen baserat på licens per kund (tenant) och de roller som ligger i JWT:n från SIS. Endast moduler som uppfyller båda kraven visas i launchern.
HRkräver inloggning
Docskräver inloggning
Axionkräver inloggning
Nexuskräver inloggning
Fastighetkräver inloggning
ProCurekräver inloggning
Projectkräver inloggning
Sustainkräver inloggning
Profil & inställningar
Min profil, roller och preferenser
Profile
Profilpanelen hämtar identitet och behörigheter från portalens API och loggas för spårbarhet enligt Auth.md.
Logga in för att se din profil.
Logga in för att visa profilen.
Notifieringar
Notifieringscenter med modul-inboxar
SSO + tenant
Portalen hämtar notifieringar över alla moduler via `/notifications` och filtrerar dem på tenant, licenser och roller enligt Auth.md. Klick för att öppna modulen med SSO.
Inga notifieringar tillgängliga för vald tenant eller roll. Säkerställ inloggning och behörighet i SIS.
Portalens API-anrop
Integrerat enligt Auth & Portal-spec
OIDC
GET /api/platform/overviewPortal-snapshot med launcher, readiness, roadmap och widgetlager.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/roadmapRoadmapstatus och milstolpar filtrerade på tenant och roller.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/readinessRelease readiness-checklistor enligt portalens DoD.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/widgetsWidgetlager med health, notifieringar, roadmapnästa steg och auditspårning.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/dashboardDashboard-layouts per användare (widgetbaserade dashboards).
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/identity/headersValiderar X-Tenant-Id/X-Organization-Id mot token-claims.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/identity/profileHämtar aktuell användarprofil och organisationsclaim.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/identity/permissionsReturnerar roller och scopes som gatewayn applicerar.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/identity/sessionValiderar token_use, exp och nbf enligt Auth.md §4 och §10.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/modulesGer modulregister för tenanten enligt portal-specen.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/healthVisar modulhälsa och SLO-status per licensierad tenant.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/migration-planMonorepo-planens faser, vågor och readiness-anker per tenant.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/favoritesFavoritmoduler filtrerade på tenant och användare.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/platform/licensesLicensöversikt med bundles, användare och modulroller.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/notificationsGlobala notifieringar och modulära inbox-summeringar.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/notifications/read-stateHämtar användarens lässtatus per tenant.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
POST /api/notifications/read-stateMarkerar notifieringar som lästa/olästa enligt Auth/Portal.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/search?q=onboardingUniversell sökning över moduler med summering per modul och typ.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
POST /api/assistantAI-assistent som summerar auth, roadmap, readiness och SLO samt returnerar historik.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
GET /api/audit/accessReturnerar accesslogg med tenant/organisation för DoD.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
POST /api/audit/accessLoggar launcher-öppningar med token + X-Tenant-Id.
Authorization
saknas
X-Tenant-Id
saknas
X-Organization-Id
svenska-stenhus
Accept
application/json
Alla anrop använder tokens från @stenpro/auth och följer kraven i Auth.md.
SSO-flöde
Portal → Modul redirect
OIDC redirect
1. Portal loggar in via SIS och får tokens.
2. Modulöversikten filtreras på licens och roller.
3. Klick på modul → redirect till /open/<modul> med token.
4. Modulen validerar token mot SIS och läser X-Tenant-Id.
Denna stub gör redirect-simulering men delar inte tokens mellan moduler.
Auth-checklista
DoD-kontroller från Auth.md
Token & headers
Observability & SLO
Modulhälsa per tenant
SLO
P95- och felrate-statistik följer roadmapens DoD (p95 < 300 ms, felrate < 0.1 %). Panelen filtrerar på licensierad tenant och giltig token så att launcher, widgetlager och observability hänger ihop.
Logga in och välj en licensierad tenant för att se SLO-status per modul.
Roadmap: Shell & widgets
SSO-preview och widgetlager
Portal roadmap
Sektionen binder ihop SSO-flödet och det widgetbaserade dashboardlagret som beskrivs i StenPro-Portal roadmapen. SSO-pr eviewen visar hur portalen postar bearer-token + tenant/organisation till modulens /sso/re direct. Widgetlistan demonstrerar hur notifieringar, favoriter och auditloggade starter paketeras som personliga kort.
SSO redirect-preview
Välj en licensierad modul för att se hur redirecten byggs.
OIDC + headers
Logga in och välj tenant för att generera en redirect enligt Auth.md §6.
Widgetbaserad startsida
Följer roadmapens dashboard-lager med personliga kort.
Dashboard
Mina uppgifter
0 att göra
Renderar notifieringar med severity “action” och följer tenant/licenser enligt roadmapens notifieringscenter.
Snabbstart
0 favoriter
Launcher-favoriter som även styr snabbnavigeringen i widget-laget.
Tenant & organisation
Saknas
Widgeten speglar Auth.md §6 och markerar portalen som blockerad tills båda headers finns.
Senaste moduler
0 senaste
Auditloggade starter som används för “Recent” i roadmapens dashboard-upplevelse.
SLO-status
0/1 inom SLO
Portalens SLO-panel speglar roadmapens p95- och felrategränser per modul och licensierad tenant.
Underlaget kommer direkt från favoritlistan, notifieringsfeeden och auditloggen vilket uppfyller roadmapens krav p å rollstyrda widgets.
Verifierad auth
API-svar enligt Auth.md
Gateway-krav
Panelen hämtar profil, behörigheter och modulstatus direkt från portalens API-routes. Varje request kräver bearer-token, X-Tenant-Id och X-Organization-Id innan svar returneras enligt StenPro-Portal.md och Auth.md.
Logga in och välj tenant för att hämta verifierade API-svar från portalens backend.
Accesslogg
Audit trail för launcher
DoD
Varje modulöppning loggas med tenant, organisation och användare utan känsliga fält. Detta uppfyller audit-kravet i StenPro-Portal.md DoD och speglar Auth.md:s krav på spårbarhet och isolering mellan organisationer inom samma tenant.
Inga loggade händelser för aktuell session. Öppna en modul för att se auditposter.
Tenant scope
Bolag
MVP
Välj aktivt bolag för X-Company-Id. Listan hämtas från Platform API.
Logga in för att se bolag.
Tokenclaims
Roller och scopes från SIS
OIDC claims
Roller
Inga roller i token
Scopes
Inga scopes
Claims följer Auth.md: tokens innehåller tenant_id, organization_id, roller och scopes som gatewayn och modulerna validerar.
API-skydd
Issuer, audience och scopes
Gatewaykrav
Portalens API-routes använder resolveIdentityFromRequest för att avvisa anrop utan matchande audience,issuer, X-Tenant-Id,X-Organization-Id eller scopes, i linje med Auth.md §10 och DoD-kraven om multi-tenant-säkerhet.
Issuer
https://id.stenpro.se/realms/stenpro
Tokens med annan issuer returnerar 401.
Audience
stenpro-platform
API:et kräver samma audience som gatewayn.
Scopes
saknas
Scopes i JWT är obligatoriska innan svar returneras.
Säkerhetsregler
StenPro Identity Platform
Policy
❌ Inga separata login-flöden i moduler. All auth sker centralt via SIS.
✔ Alla API:er kräver Bearer-token och X-Tenant-Id header.
✔ Tokens valideras centralt. Refresh hanteras av @stenpro/auth.