Skip to content

Hva er Lumi?

Lumi er et verktøy for å kjøre personvernvennlige surveys i digitale tjenester. Du definerer spørsmålene i TypeScript, widgeten kjører i din app, og all data forblir på din infrastruktur.

Lumi er bygget for norske virksomheter som vil samle brukerinnsikt uten å sende data ut av egen kontroll — enten du kjører i Docker, på Kubernetes (Helm), eller på en plattform som NAIS.

Hvorfor Lumi?

  • Survey as code — definer spørsmål i TypeScript, rett i kodebasen din. Ingen ekstern tjeneste.
  • BYOC (Bring Your Own Cloud) — kjør på egen infrastruktur. All data forblir hos deg.
  • API-nøkkel-auth — embed widgeten med en pk_-nøkkel direkte fra nettleseren, uten token exchange.
  • OIDC-innlogging — dashboard-tilgang via standard OIDC (Entra ID, Keycloak, o.l.).
  • Organisasjonsmodell — opprett organisasjon, team og OIDC-gruppekoblinger for tilgangsstyring.
  • Selvstående widget med --lumi-* CSS-variabler — widgeten leverer all CSS og følger WCAG. Tilpass utseendet med CSS custom properties.
  • Dashboard — filtrer, segmenter og eksporter survey-data med teambasert tilgangsstyring.

Arkitektur

Lumi består av tre deler: en frontend-widget, et API som lagrer data, og et dashboard som visualiserer innsikt.

Det finnes to integrasjonsmønstre:

Enterprise (API-nøkkel)

Widgeten sender svar direkte til Lumi API med en pk_-nøkkel. Ingen token exchange nødvendig.

Backend-proxy (valgfritt)

For kunder som vil rute submissions via eget backend — typisk for å gjenbruke eksisterende OIDC/IAM-flyt eller token exchange — sender widgeten til ditt eget endepunkt, som videresender til Lumi API:

Pakkeoversikt

PakkeBeskrivelseTech Stack
@lumianalytics/surveySelvstående React-widgetReact, --lumi-* CSS custom properties
lumi-apiBackend & Analyse APIKotlin, Ktor, Postgres
lumi-dashboardAdmin-dashboardTanStack Start, React

Hvem er Lumi for?

Lumi er laget for norske virksomheter som vil samle brukerinnsikt i sine digitale tjenester — enten det er en sluttbrukerflate, et internt fagsystem, eller en arbeidsgiver-portal.

Enterprise/BYOC-kunder trenger:

  • En React-app der widgeten skal vises
  • Lumi API kjørende på egen infrastruktur (Docker Compose eller Helm)
  • En OIDC-provider for dashboard-innlogging (valgfritt — Lumi kan kjøres i local-modus)

Backend-proxy (valgfritt) — for kunder som vil rute submissions via eget endepunkt:

  • Eget backend-endpoint som mottar payloaden fra widgeten og videresender til Lumi API
  • Valgfri token exchange eller OIDC-flyt før videresending (f.eks. for zero-trust-arkitekturer)

Neste steg

Klar til å komme i gang? Gå videre til Installer widget for å sette opp pakken i prosjektet ditt.

Lumi Analytics — bygget på navikt/lumi (MIT-lisens)