Kort oppsummert
- Hver nettbutikk er isolert i databasen på skjemanivå – ikke bare i spørringene.
- Sensitive innstillinger krypteres med AES-256-GCM før de lagres.
- Innlogging bruker korte tokens og httpOnly-cookies, ikke passord i klartekst.
- Databehandleravtale er tilgjengelig på forespørsel og signeres før oppstart.
- Vi er ikke ISO 27001- eller SOC 2-sertifisert. Se avsnittet om sertifiseringer for hva vi tilbyr i stedet.
Isolasjon mellom butikker
Portalen er flerleietaker: flere nettbutikker deler samme applikasjon og database. Det gjør isolasjonen til det viktigste sikkerhetstiltaket i systemet, og den er bygget i to lag.
Alle databasespørringer går gjennom en felles funksjon som tvinger inn butikkenstenantId. I tillegg blokkerer hooks på selve datamodellene enhver lagring eller ethvert oppslag som mangler en gyldig tenantId. En utvikler som glemmer å scope en spørring får altså ikke ut data fra feil butikk – spørringen feiler i stedet. Verdien"default" er eksplisitt forbudt som tenantId.
Kryptering
Under overføring: all trafikk går over HTTPS/TLS. Portalen sender HSTS, og API-kall mot Shopify, fraktleverandører og lagersystem skjer over TLS.
Ved lagring: sensitive butikkinnstillinger – API-nøkler, fraktavtaler, integrasjonshemmeligheter – krypteres med AES-256-GCM med tilfeldig initialiseringsvektor og autentiseringstag per verdi, før de skrives til databasen. Krypteringsnøkkelen ligger i miljøvariabler, aldri i kodebasen.
Tilgang og autentisering
- Admininnlogging bruker access token med 15 minutters levetid og refresh token lagret i httpOnly-cookie, slik at tokenet ikke er lesbart fra JavaScript.
- Kundens returflyt krever ordrenummer kombinert med e-postadressen på ordren – ingen konto, ingen passord å lekke.
- Alle adminendepunkter går gjennom felles autentiseringsmiddleware som setter butikkontekst før forretningslogikken kjører.
- Kun én person har produksjonstilgang i dag. Se «Operasjonell kontinuitet» under.
Hvor dataene ligger
All lagring av returdata skjer innenfor EØS. Applikasjon, database og feilovervåking ligger i EU/EØS. To støttetjenester driftes fra USA på SCC-grunnlag.
| Komponent | Leverandør | Region |
|---|---|---|
| Applikasjon | Heroku (Salesforce) | EU – Irland |
| Database og sikkerhetskopier | MongoDB Atlas | EØS – Stockholm, Sverige |
| Feilovervåking | Sentry | EU – Tyskland |
| Utsending av e-post til kunde | SendGrid (Twilio) | USA – overføring på SCC-grunnlag |
| Innlogging for administratorer | Stytch | USA – overføring på SCC-grunnlag. Gjelder butikkens egne brukere, ikke sluttkunder. |
Det betyr konkret: returdataene dine lagres i Sverige. Når portalen sender en e-post til kunden – returbekreftelse, fraktetikett – passerer navn og e-postadresse gjennom SendGrid i USA, på grunnlag av EUs standard personvernbestemmelser (SCC). Det er den eneste rutinemessige overføringen av sluttkunders personopplysninger ut av EØS.
Sikkerhetskopier
MongoDB Atlas tar daglige automatiske sikkerhetskopier, lagret i samme region som databasen. Oppbevaringstid og gjenopprettingstid (RPO/RTO) spesifiseres i databehandleravtalen.
Underdatabehandlere
Vi fører en fullstendig, datert oversikt over alle underdatabehandlere – med land, hvilke data de mottar og deres egne sertifiseringer – på en egen side:
Se full oversikt over underdatabehandlere →
Eksisterende kunder varsles minst 30 dager før vi tar i bruk en ny underdatabehandler, og du kan protestere innenfor den fristen. Vilkårene står i databehandleravtalen.
Hvilke personopplysninger portalen behandler
Kun det som trengs for å gjennomføre en retur: navn, e-post, leveringsadresse, ordrenummer, varelinjer, returårsak, og ved reklamasjon eventuelle bilder kunden laster opp. Portalen lagrer ikke kortnummer eller andre betalingsopplysninger – refusjon utføres av Shopify mot den opprinnelige betalingen.
Sertifiseringer
ithappens er ikke ISO 27001- eller SOC 2-sertifisert.
Følgende dokumentasjon er tilgjengelig:
- Signert databehandleravtale før oppstart, med underleverandørliste som vedlegg.
- Skriftlige svar på sikkerhetsskjemaet ditt – vi fyller ut leverandørskjemaer.
- Gjennomgang av de konkrete tiltakene over sammen med din IT-ansvarlige.
Er formell sertifisering et absolutt krav, er SmoothReturns ikke et aktuelt valg i dag.
Operasjonell kontinuitet
Én person har produksjonstilgang i dag. Kontinuiteten håndteres slik:
- All kildekode og infrastrukturkonfigurasjon er versjonskontrollert og kan overdras.
- Systemet bygger på standardkomponenter – Next.js, MongoDB, Shopifys API – ikke egenutviklet infrastruktur som krever spesialkompetanse å drifte.
- Du eier dine egne data og kan når som helst be om full eksport i maskinlesbart format.
- Integrasjonene mot Shopify og fraktleverandører bruker dine egne avtaler og nøkler, som du kan trekke tilbake uten vår medvirkning.
- Vi avtaler gjerne en escrow- eller overdragelsesklausul i kontrakten dersom det er viktig for deg.
Avvik og varsling
Oppdager vi et sikkerhetsbrudd som rammer personopplysninger, varsler vi berørte kunder uten ugrunnet opphold og senest innen 24 timer etter at vi ble kjent med det. Varselet beskriver hva som skjedde, hvilke data som er berørt og hva vi gjør.
Fristen er satt kortere enn din egen 72-timersfrist etter personvernforordningen artikkel 33 med vilje: du er den behandlingsansvarlige som må vurdere melding til Datatilsynet, og da trenger du reell tid til å gjøre det. Forpliktelsen står i databehandleravtalen punkt 10.
Har du funnet en sårbarhet, meld fra til henrik@ithappens.no. Vi svarer innen to virkedager og går ikke rettslig til verks mot noen som melder i god tro.
Be om dokumentasjon
Databehandleravtale, underleverandørliste eller utfylt sikkerhetsskjema – send en e-post til henrik@ithappens.no, så får du det innen to virkedager. Se også personvernerklæringen.