Sikkerhed
Sikkerhed og persondata har været med fra starten. Herunder beskriver vi lag for lag, hvordan Veisla er bygget, og hvad hvert lag gør.
| Lag | Sådan opfylder Veisla det |
|---|---|
| 1 · Klientlag | Next.js 16 og React 19 med serverrenderede komponenter, ens i applikation og kontrolplan. |
| 2 · API og backend-logik | Typet App Router-API med autorisation på serveren for hver forespørgsel og struktureret fejlhåndtering. |
| 3 · Database og lagring | Database pr. kunde: Hver kunde har sin egen isolerede database (Azure Postgres / Neon) uden fælles tabeller med andre kunder. |
| 4 · Autentificering og adgang | Rollebaseret adgangskontrol, single sign-on (SSO) pr. kunde og valgfri totrinsgodkendelse (TOTP). |
| 5 · Hosting og udrulning | GitHub Actions med Azure OIDC, så der ikke ligger faste adgangsnøgler i pipelinen. Applikationen udgives i versioner, og kundemiljøerne opgraderes manuelt fra kontrolplanet. |
| 6 · Sky og compute | Microsoft Azure Container Apps i regionen Norway East. Driftsmiljøet kan være fælles for flere kunder. Adskillelsen mellem kunderne ligger i, at hver kunde har sin egen database. |
| 7 · CI/CD og versionskontrol | Produktionshemmeligheder ligger i Azure Key Vault, Container Apps-secrets og GitHub Secrets, og kodeændringer scannes for lækkede hemmeligheder i CI. |
| 8 · Adskillelse mellem kunder | Egen database pr. kunde frem for row-level security i én fælles database. Kundedata blandes aldrig i de samme tabeller. |
| 9 · Rate limiting | Beskyttelse mod brute force på login og offentlige endpoints. |
| 10 · Edge og TLS | TLS termineres i Azure Container Apps-ingressen, og hver kunde betjenes under eget værtsnavn. |
| 11 · Load balancing og skalering | Azure Container Apps skalerer applikationen efter last. |
| 12 · Fejlsporing og logning | Fejlsporing på server, klient og edge, hvor personoplysninger fjernes. Struktureret logning med tenant- og korrelations-ID. Al brug af administrativ databaseadgang logges, uden at resultatrækkerne gemmes. |
| 13 · Tilgængelighed og genopretning | Automatisk backup af databaseserveren og databasedumps pr. kunde efter behov. Betalingswebhooks behandles idempotent og kan afspilles igen. |