# Har hærdet applikationen med nonce‑baseret CSP

Har hærdet applikationen med nonce‑baseret CSP, HSTS, SameSite‑cookies, least‑privilege‑databaseroller og fornyet kontrol af rettigheder på serveren.

2025

**Situation.** Platformen rummer professionelle og organisatoriske data, den slags, folk forventer bliver håndteret ordentligt, så en enkelt forsvarslinje ville aldrig være nok. Arbejdsantagelsen må være, at klienten er fjendtlig — at alt, hvad browseren håndhæver, kan slås fra af den, der sidder ved browseren — og sikkerheden skal holde alligevel.

**Opgave.** Platformen skulle hærdes i hvert eneste lag — frontend, API, database — så sikkerheden blev håndhævet af serveren, uafhængigt af hvad brugerfladen nu tilfældigvis tillod.

**Handling.** I frontenden sætter Next.js' middleware — `proxy.ts` — en Content‑Security‑Policy med en ny nonce for hver request og strict‑dynamic, plus HSTS og SameSite‑cookies, så browseren er stramt begrænset i, hvad den vil køre og sende. I API'et er der rate limiting, CORS, grænser for request‑størrelse, inputvalidering, før noget når databasen, og logning af de sikkerhedsrelevante hændelser. I databasen logger API'et ind som en least‑privilege‑rolle, der kun kan EXECUTE app‑funktionerne, funktionerne kører som SECURITY DEFINER, og alt er parametriseret. Og rettighederne — tier, rolle, organisation, afgrænsning til skibe — kontrolleres igen på serveren ved hver request, mens kontrollerne i frontenden kun betragtes som UX. De afgør, hvad man ser; serveren afgør, hvad man må.

**Resultat.** Sikkerheden afhænger ikke af, at brugerfladen opfører sig pænt. Beskyttelserne ligger i lag, så den, der kommer forbi ét, ikke dermed er forbi resten, og det hele er bygget på den antagelse, at man ikke kan stole på klienten — hvilket er den rigtige antagelse for data, folk overlader i fortrolighed.

---

- Rolle: Sikkerhedsingeniør
- Kategorier: [Platformarkitektur](https://engineer.company/da/categories/platform-architecture/), [Backend‑udvikling](https://engineer.company/da/categories/backend/), [Frontend‑udvikling](https://engineer.company/da/categories/frontend/), [API'er & integration](https://engineer.company/da/categories/api/), [Databaser](https://engineer.company/da/categories/databases/), [Sikkerhed](https://engineer.company/da/categories/security/)
- Ydelser: [Backend- & API‑udvikling](https://engineer.company/da/services/backend-development/), [Sikkerhed & adgangsstyring](https://engineer.company/da/services/security-access/)

<https://engineer.company/da/portfolio/hardened-the-application-with-nonce-based-csp/>
