Det startet med et enkelt spørsmål: hvor lagres egentlig dataene til de frivillige i dette laget?

Jeg hadde bygget en portal for en frivillig interesseorganisasjon. Ikke noe fancy — et internt system for påmelding, dokumenthåndtering og e-post til medlemmene. Stack var klassisk moderne: Supabase for database og autentisering, Vercel for hosting, Resend for transaksjonell e-post. Alle tre er glimrende tjenester. Men alle tre er amerikanske selskaper med servere primært utenfor EØS.

Da noen i styret spurte om GDPR, hadde jeg ikke et godt svar. Det fikk meg til å tenke.

Problemet med «praktisk nok»

Vi i tech-bransjen er flinke til å optimere for det som er praktisk for oss som utviklere. Supabase gir deg en Postgres-database med autentisering på fem minutter. Vercel deployer fra GitHub med null konfigurasjon. Resend sender e-post med en enkel API-kall. Det er ekstremt praktisk.

Men «praktisk for utvikleren» og «riktig for organisasjonen» er ikke alltid det samme. En liten norsk frivillig interesseorganisasjon har ikke ressurser til juridiske vurderinger av databehandleravtaler med tre separate amerikanske leverandører. De stoler på at du som teknolog har tenkt gjennom det for dem.

Lærdommen: Teknologivalg er ikke bare tekniske valg. For organisasjoner med sensitive data — selv «lite sensitive» data som navn og e-postadresser til frivillige — er det verdt å spørre seg: hvem eier disse dataene i praksis?

Migrasjonen

Jeg bestemte meg for å migre hele stacken til noe jeg kontrollerte fullt ut. Målet var: én server, ingen tredjeparts SaaS, alt kjører i Norge. Slik ble before/after:

Før

  • Supabase (database + auth)
  • Vercel (hosting)
  • Resend (e-post)
  • Tre databehandleravtaler
  • Data spredt i USA/EU

Etter

  • SQLite (database, lokalt)
  • NextAuth.js (autentisering)
  • Nodemailer (e-post via SMTP)
  • Én norsk VPS
  • Data i Norge, punkt.

SQLite er undervurdert for denne typen applikasjoner. En portal for en organisasjon med flere hundre medlemmer vil aldri trykke på de tekniske grensene til SQLite. Du trenger ikke Postgres med connection pooling og replikering for å holde styr på hvem som har betalt kontingenten sin.

NextAuth.js tok litt lenger tid å sette opp enn Supabase sin innebygde auth, men gir meg full kontroll over sesjonshåndtering og brukertabeller. Ingen tokens som lever i en sky jeg ikke administrerer.

Nodemailer mot en vanlig SMTP-tjeneste — i dette tilfellet Epost.no — fungerer utmerket for transaksjonell e-post i norsk skala. Ikke like slank som Resend API, men e-posten sendes fra en norsk tjeneste, og det er poenget.

Hva koster det?

Ærlighet krever at jeg nevner ulempene. Selvhosting er ikke gratis — det koster tid.

Oppsett tar lengre tid. Supabase er oppe på fem minutter. En VPS med riktig konfigurasjon, SSL, reverse proxy og automatisk backup tar et par kvelder. Det er ikke noe mysterium, men det er reelt arbeid.

Du er din egen ops. Når Vercel har nedetid, er det Vercels problem. Når din VPS har nedetid, er det ditt problem. For en liten frivillig organisasjon betyr det i praksis at noen må ha ansvaret. I dette tilfellet: jeg.

Skalering er manuelt. Det er ikke et problem for en idrettsklubb, men det er verdt å si høyt: selvhosting skalerer ikke automatisk. Trenger du plutselig ti ganger så mye kapasitet, må du ordne det selv.

Når gir det faktisk mening?

Selvhosting er ikke svaret på alt. Men det er riktig valg når:

Dataene er sensitive nok til at du trenger kontroll. Helseinformasjon, personopplysninger om barn, finansielle data — her bør du vite nøyaktig hvor dataene dine er. Norsk lov og GDPR er tydelige på dette.

Skalaen er liten og forutsigbar. En intern portal, et fagsystem for et team, et enkelt verktøy for en avdeling. Her er SQLite og en rimelig VPS mer enn kraftig nok.

Organisasjonen har kompetansen — eller en person som tar ansvar. Selvhosting forutsetter at noen faktisk følger opp. Det er ikke noe man setter opp og glemmer.

Langsiktig eierskapet betyr noe. Sky-SaaS-tjenester endrer seg, øker priser, eller legges ned. En SQLite-fil og et Next.js-prosjekt kan du ta med deg uansett.

Et norsk perspektiv

Norge er i en interessant posisjon. Vi har god infrastruktur, rimelige VPS-alternativer med norske datasentre (Hetzner, Odin, Domeneshop), og et lovverk som faktisk krever at du tenker på datalagring. Samtidig er vi vant til å bruke amerikanske tjenester fordi de er praktiske og billige.

Jeg tror det er mer teknologisk suverenitet tilgjengelig for norske utviklere og organisasjoner enn vi utnytter. Ikke fordi sky er galt — Vercel og Supabase er fantastiske produkter — men fordi vi noen ganger tar det enkleste valget uten å spørre om det er det riktige valget.

Konklusjon: Skriv ned hvem som eier dataene i systemet ditt. Hvis svaret er «et selskap jeg ikke har en skikkelig databehandleravtale med», er det kanskje på tide å se på alternativene. Ikke fordi sky er farlig, men fordi det å ta et bevisst valg alltid er bedre enn å ta standardvalget.

Portalen kjører nå på en norsk server og koster 89 kroner i måneden. Ingen tredjeparts databehandlere. Og neste gang noen spør om GDPR, har jeg et svar.