# Härdade applikationen med nonce‑baserad CSP, HSTS, SameSite‑cookies, databasroller med minsta behörighet och förnyade kontroller av åtkomsträttigheter på serversidan.

2025

**Situation.** Plattformen lagrar yrkes- och organisationsdata, den sortens data som folk förväntar sig ska hanteras ordentligt, så en enda försvarslinje skulle aldrig räcka. Arbetsantagandet måste vara att klienten är fientlig — att allt som webbläsaren upprätthåller kan kopplas bort av den som sitter vid webbläsaren — och säkerheten måste hålla ändå.

**Uppgift.** Plattformen behövde härdas i varje lager — frontend, API, databas — så att säkerheten upprätthölls av servern oberoende av vad gränssnittet råkade tillåta.

**Handling.** I frontenden sätter middlewaren i Next.js — `proxy.ts` — en Content‑Security‑Policy med en nonce per anrop och strict‑dynamic, plus HSTS och SameSite‑cookies, så att webbläsaren är låst när det gäller vad den kör och skickar. I API:et finns hastighetsbegränsning, CORS, storleksgränser för anrop, validering av indata innan något når databasen och loggning av säkerhetsrelevanta händelser. I databasen loggar API:et in som en roll med minsta möjliga behörighet som bara får anropa appens funktioner med EXECUTE, funktionerna körs som SECURITY DEFINER och allt är parametriserat. Och rättigheterna — nivå, roll, organisation, avgränsning per fartyg — kontrolleras på nytt på servern vid varje anrop, medan spärrarna i frontenden enbart behandlas som UX. Spärrarna avgör vad du ser; servern avgör vad du får göra.

**Resultat.** Säkerheten hänger inte på att gränssnittet beter sig. Skydden ligger i lager så att den som tar sig förbi ett av dem inte därmed tar sig förbi resten, och det hela bygger på antagandet att klienten inte går att lita på — vilket är rätt antagande för data som människor lämnar över i förtroende.

---

- Roll: Säkerhetsingenjör
- Kategorier: [Plattformsarkitektur](https://platform.engineer.company/sv/categories/platform-architecture/), [Backendutveckling](https://platform.engineer.company/sv/categories/backend/), [Frontendutveckling](https://platform.engineer.company/sv/categories/frontend/), [API:er och integration](https://platform.engineer.company/sv/categories/api/), [Databaser](https://platform.engineer.company/sv/categories/databases/), [Säkerhet](https://platform.engineer.company/sv/categories/security/)
- Tjänster: [Backend- och API‑utveckling](https://platform.engineer.company/sv/services/backend-development/), [Säkerhet och behörighetshantering](https://platform.engineer.company/sv/services/security-access/)

<https://platform.engineer.company/sv/portfolio/hardened-the-application-with-nonce-based-csp-hsts-77/>
