Organization Settings
Feature Detail
Description
Provides administrators with a centralized interface to configure organization-wide settings including display name, contact information, supported modules, and platform behavior. The settings surface covers branding, locale, timezone, and any operational parameters that govern how the organization's instance of the platform behaves. It also hosts the time-bounded support access grant that allows Global Admins to access org data for a limited period, with every session logged to the audit trail.
Sources & reasoning
Explicitly listed in the MVP Admin Web Portal scope (line 325) as a required day-one capability. The support-access grant detail (line 258-259) adds a compliance-critical dimension that belongs in this feature rather than a separate security feature, since it is surfaced inside Organization Settings.
-
docs/source/likeperson.md · line 325-328Organisasjonsinnstillinger og terminologikonfigurasjon Aktivitetsoversikt og grunnleggende statistikk 2 innloggede brukerroller: Organisasjonsadministrator, Global Administrator.
-
docs/source/likeperson.md · line 258-259Orgs can grant a Global Admin *time-bounded* support access via a flag in Organization Settings (e.g. "Allow Norse support access until {date}"); revoking the flag or hitting the expiry immediately removes access.
Analysis
Organization Settings is the foundational configuration surface that makes multi-tenancy viable. Without it, every organization would require a code change to reflect their identity or operational parameters. Providing a self-service settings page reduces onboarding overhead, eliminates Norse Digital Products as a bottleneck for routine configuration changes, and gives Org Admins ownership of their instance. The support-access grant mechanism is also a key trust and compliance feature: organizations retain control over when Norse staff can view their data, with a hard expiry and full audit trail - directly addressing GDPR and data minimization requirements that are especially sensitive for organizations working with vulnerable groups.
Implemented as a Next.js server-rendered page under the Admin Web Portal. Settings are persisted to the organizations and organization_settings tables (one-to-one relationship). The support-access grant stores an expiry timestamp; the API middleware checks this on every Global Admin request, revoking access automatically when expired. All mutations are written to audit_log_entries. The Flutter mobile app reads a subset of org settings (labels, enabled modules) via the bootstrap endpoint at startup and caches them offline via Drift. Role guard restricts write access to Org Admin and Global Admin roles only.
Quality Assurance
Organization Administrator (primary) · Global Administrator (role boundary — no default access)Organization Administrator
Quick UAT
- Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Organisasjonsstyring → Organisasjonsinnstillinger.
- Endre visningsnavnet til organisasjonen og trykk Lagre. Bekreft at suksessmelding vises og nytt navn reflekteres i sideoverskriften.
- Endre tidssone og sprĂĄk/region, trykk Lagre. Bekreft at innstillingene er lagret og siden lastes inn med oppdaterte verdier.
- Scroll til panelet Støttetilgang. Trykk Gi tilgang, sett utløpsdato én uke frem i tid og bekreft.
- Bekreft at den aktive tilgangsperioden vises med utløpsdato og en Trekk tilbake-knapp.
- Naviger til Sikkerhets- og revisjon → Revisjonslogg og bekreft at begge innstillingsendringer og støttetilgangsbevilgningen er logget med tidsstempel og bruker-ID.
Quick UAT — Accessibility
-
Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Organisasjonsstyring → Organisasjonsinnstillinger.
- Screen reader Sideoverskrift 'Organisasjonsinnstillinger' annonseres ved sidelast; sidebarmeny-elementer har semantiske labels.
- Keyboard / focus Sidemeny nĂĄs med Tab; Enter ĂĄpner Organisasjonsinnstillinger.
- Focus visibility Fokus flyttes til første redigerbare felt etter sidelast.
-
Endre visningsnavnet til organisasjonen og trykk Lagre. Bekreft at suksessmelding vises og nytt navn reflekteres i sideoverskriften.
- Screen reader Tekstfelt annonseres med label 'Visningsnavn'; Lagre-knapp annonseres som 'Lagre, knapp'.
- Keyboard / focus Tab-rekkefølge: Visningsnavn-felt → øvrige felt → Lagre-knapp. Enter aktiverer Lagre.
- Focus visibility Synlig fokusring pĂĄ Lagre-knapp; inputfelt har tydelig aktiv-tilstand.
- Live region 'Innstillinger lagret.' annonseres som polite live region etter vellykket lagring.
- Contrast Lagre-knapp oppfyller 4.5:1 kontrast mot bakgrunn.
-
Endre tidssone og sprĂĄk/region, trykk Lagre. Bekreft at innstillingene er lagret og siden lastes inn med oppdaterte verdier.
- Screen reader Nedtrekksliste for tidssone annonseres med label og gjeldende valg; piltaster navigerer alternativer.
- Keyboard / focus Nedtrekkslister nĂĄs med Tab, ĂĄpnes med Enter/Mellomrom, piltaster velger alternativ.
- Focus visibility Fokus forblir i skjemaet etter lagring; ikke uventet sidenavigering.
- Zoom Skjemaet er fullt brukbart ved 200 % zoom uten horisontal scrolling.
-
Scroll til panelet Støttetilgang. Trykk Gi tilgang, sett utløpsdato én uke frem i tid og bekreft.
- Screen reader Panelet 'Støttetilgang' har en seksjonstittel som annonseres; datofelt annonseres med label 'Utløpsdato'.
- Keyboard / focus Gi tilgang-knapp nĂĄs med Tab; datovelger kan betjenes med tastatur alene.
- Focus visibility Synlig fokusring pĂĄ Gi tilgang-knapp og pĂĄ bekreftelsesknapp i modal.
- Touch target Gi tilgang-knapp og bekreftelsesknapp er minimum 24Ă—24 CSS px.
-
Bekreft at den aktive tilgangsperioden vises med utløpsdato og en Trekk tilbake-knapp.
- Screen reader Aktiv tilgangsperiode annonseres med utløpsdato; Trekk tilbake-knapp er labelet 'Trekk tilbake støttetilgang'.
- Keyboard / focus Trekk tilbake-knapp nĂĄs med Tab; Enter aktiverer den.
- Focus visibility Fokus flyttes til Trekk tilbake-knapp etter at tilgangen er opprettet.
- Contrast Statusindikator for aktiv tilgang formidler ikke tilstand utelukkende via farge; tekst eller ikon supplerer.
-
Naviger til Sikkerhets- og revisjon → Revisjonslogg og bekreft at begge innstillingsendringer og støttetilgangsbevilgningen er logget med tidsstempel og bruker-ID.
- Screen reader Revisjonslogg-tabell har kolonneoverskrifter annonsert av skjermleser; radinnhold leses i logisk rekkefølge.
- Keyboard / focus Tabellrader navigeres med Tab eller piltaster; filterkontroller nĂĄs via Tab.
- Zoom Revisjonsloggtabellen er lesbar og ikke avskĂĄret ved 200 % zoom.
Role Boundaries
4 role(s) must NOT access this feature-
Peer Mentor
Organisasjonsinnstillinger finnes ikke i mobilappens navigasjon; et direkte URL-kall til admin-portalen returnerer 403.
-
Coordinator
Koordinatorer logger ikke inn i Admin-portalen; direkte URL-kall returnerer 401/403.
-
Global Administrator
Global Administrator har ingen standardtilgang til organisasjonens innstillingsside. Uten aktiv støttetilgangsbevilgning fra Org Admin returnerer siden 403. Med aktiv bevilgning er siden skrivebeskyttet — Lagre-knapp er skjult og alle felt er deaktivert.
-
Prospective Organization Representative
Rollen eksisterer kun på salgsnettsiden og har ingen admin-portal-konto; autentisering feiler ved innloggingsforsøk.
Expected End State
-
Organization Administrator
Organisasjonens visningsnavn, tidssone og region er oppdatert i databasen. Støttetilgangsbevilgningen er opprettet med riktig utløpsdato og vises i revisjonsloggen med Org Admins bruker-ID og tidsstempel.
Components (23)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.