Sikkerhed og arkitektur
Hvordan vi beskytter jeres data
Senest opdateret: 10. august 2026
Den her side er til jeres IT- og compliance-team. Den giver et hurtigt overblik over Launchrs arkitektur, sikkerhedsforanstaltninger og databehandling, så I kan vurdere om Launchr passer ind i jeres governance, inden vi taler om DPA-signing eller pilotprojekt.
Kort fortalt
Otte løfter
Det vigtigste først. Hvert løfte er underbygget af arkitektur og dokumentation længere nede, og af vores databehandleraftale, DPIA og Transfer Impact Assessment.
Jeres data deles ikke og sælges aldrig
Kun de underdatabehandlere der skal til for at levere tjenesten. Aldrig videresalg, aldrig markedsføring.
Der trænes ikke AI på jeres data
Anthropic, Google og ElevenLabs forbyder kontraktuelt træning på jeres indhold. Zero-retention og EU-residens kan slås til.
Alt krypteres
TLS 1.2+ i transit, AES-256 at hvile: database, fil-storage og sessions.
Data behandles og opbevares i EU/EØS
Compute i Stockholm, database i Zürich (EU-adequacy), storage og worker i EU. Kun AI-kald går til USA, under SCC.
GDPR fra bunden
I er dataansvarlig, vi er databehandler. DPA (art. 28), offentliggjort DPIA og TIA, og fuld underdatabehandler-liste.
Isoleret fra alle andre kunder
Hver række bærer jeres organisations id, og hver forespørgsel filtrerer på det. Supabases Data API har nul rettigheder, så der er ingen vej uden om applikationen.
Fuldt audit-spor
Hver handling logges med tidspunkt, bruger og hændelse, i en append-only stream vi kun skriver til.
Sletning når I beder om det
Adgangen lukkes med det samme, og alt indhold slettes permanent på jeres anmodning. Vi bekræfter skriftligt, når det er gennemført.
Når I dykker ned
Det fulde tekniske billede: arkitektur, data-residens, kryptering, adgangskontrol, underdatabehandlere og GDPR-processer.
Arkitektur i én sætning
Launchr er en multi-tenant SaaS-platform bygget på en serverless Next.js 16-applikation, hostet på Vercel med serverless-funktioner i EU (Stockholm/arn1), PostgreSQL (Supabase, Zürich) som primær database, Cloudflare R2 til fil-storage, Clerk til identitets-styring og en hærdet Fly.io-worker i Stockholm til video- og lyd-behandling.
Data-residency
Alle persondata og kundeoplevet data ligger i EU/EØS eller lande med EU-adequacy-beslutning:
- PostgreSQL-database: Supabase, Zürich (Schweiz), land med EU-adequacy-beslutning
- Fil-storage (video, lyd, billeder): Cloudflare R2, EU-region
- Transcoding-worker: Fly.io, Stockholm (Sverige)
- Email-levering (transaktionel + inbound): Resend, EU-region
- Fejl-monitoring: Sentry, EU-region
- Compute + hosting: Vercel, serverless-funktioner i EU (Stockholm/arn1) + global edge-cache
Identitets-styringen hos Clerk er den eneste komponent med tvær-regional infrastruktur, og bruger SCC + EU-data-residency for sessions-data.
Multi-tenant isolation
Hver organisation i Launchr får sit eget logiske rum i databasen. Hver række i hver tabel bærer et organization_id, og hver eneste forespørgsel i applikationen filtrerer på den organisation, den aktuelle session tilhører. Organisationen udledes altid af sessionen, aldrig af noget klienten sender med.
Der er ingen vej uden om applikationen. Supabases Data API (PostgREST og GraphQL) har nul rettigheder på vores tabeller: rollerne anon og authenticated har hverken SELECT, INSERT, UPDATE eller DELETE. Selv med en lækket offentlig nøgle er der intet at hente. Row-Level Security er slået til ovenpå som ekstra lås på den vej. Vi skriver det præcist, fordi det er sådan det virker: bæreren af isolationen er organisations-filtrene i koden plus en database der kun kan nås gennem applikationen.
Vi tester det i stedet for at love det. En maskinel isolations-kontrol efterprøver invarianterne på hver eneste kodeændring, ved siden af typetjek, linting, unit-tests og sårbarhedsscanning. Ingen kodeændring når produktion, uden at alle kontroller er grønne. Kontrollen efterprøver at de offentlige roller stadig har nul rettigheder, at RLS er slået til på hver tabel, og at database-funktionernes search_path er låst.
Kontrollen kan ikke lyse grønt uden at have målt. Kan den ikke nå databasen, bliver den rød og spærrer for merge, i stedet for at gå igennem med en bemærkning. En grøn kørsel skriver samtidig ud hvad den efterprøvede: hvor mange tabeller der blev tjekket, hvor mange af dem der har RLS slået til, og hvor mange rettigheds-kombinationer der blev gennemgået. Vil I se resultatet fra produktion, kører vi kontrollen og sender udskriften.
Sletning og opbevaring
Vi er hellere præcise end at love en frist, som ingen maskine håndhæver. Sådan ser det ud i dag: når noget slettes i platformen, markeres det som slettet, og adgangen forsvinder med det samme for alle brugere og alle delte links. Rækkerne bliver liggende i databasen, indtil de fjernes permanent.
Permanent sletning sker på jeres anmodning. Skriv til support@launchr.dk, så sletter vi jeres organisation med alt hvad der hænger på den (kampagner, leverancer, planer, produktioner og filer i R2) og bekræfter skriftligt, når det er gennemført. Databasens fremmednøgler kaskaderer, så sletningen af organisationen tager alle relaterede rækker med.
Vi kører ikke automatiske oprydnings-jobs, der sletter på en fast frist, og derfor lover vi det heller ikke. Har I brug for en fast opbevaringsperiode i jeres governance, aftaler vi den skriftligt og udfører den som en dokumenteret handling.
Kryptering
- I transit: TLS 1.2+ på alle endpoints, inkl. interne service-til-service-kald. HSTS preload-listet med 2 års max-age + includeSubDomains.
- At hvile: AES-256 hos Supabase (database), Cloudflare R2 (filer) og Clerk (sessions). Backup-snapshots krypteret med samme standard.
- API-nøgler (Partner-API): Hashed-at-rest med SHA-256. Reveal-once ved oprettelse; kan tilbagekaldes per nøgle.
- Hemmeligheder (env-vars): Hostet i Vercels miljø-styring + Supabase Vault. Roteres ved kompromittering eller medarbejder-fratrædelse.
Adgangskontrol og autentificering
- SSO + OAuth: Email + Google (flere identity providers kan tilkobles efter ønske).
- Multi-faktor-login: Tilgængeligt via Clerk for alle brugere; kan håndhæves på org-niveau efter aftale.
- Rolle-baseret adgang: Org-medlemmer har én af tre roller: owner, admin eller member.
- Session-håndtering: Konfigurerbar session-levetid hos Clerk; automatisk logout efter 7 dages inaktivitet som standard.
- Adgang pr. modul: En organisation kan begrænses til præcis de moduler (Media, Medieplan, Production) den skal bruge. Relevant for store kunder der kun bruger en delmængde.
Audit-spor
Hver ændring på domæne-niveau logges i en append-only event-stream med tidspunkt, bruger-id og payload. Det dækker:
- oprettelse, opdatering og sletning af kampagner og spots;
- asset-uploads, transcoding-status og leverancer;
- godkendelser og afvisninger via share-links;
- email-send og indkomne svar med klassifikation;
- tilbud, fakturaer og betalingsstatus i Production.
Audit-loggen er læsbar for org-admins via UI'en. Komplet eksport som JSON/CSV er tilgængelig på forespørgsel (kommende: self-service eksport i UI'en).
Backup og recovery
- Database: Supabase tager point-in-time backups med 7-dages restore-vindue.
- Filer: R2 er multi-region replikeret inden for EU.
- Recovery Time Objective (RTO): Vi sigter mod 4 timer for kritiske systemer.
- Recovery Point Objective (RPO): Maks 1 time data-tab for database; nul tab for filer.
Krydsgrænse-overførsler
De fleste data forbliver i EU. To kategorier af tjenester har komponenter i USA:
- AI-behandling: Anthropic (Claude: tekst), Google (Gemini/Nano Banana: billeder; Veo: film i Akademi) og ElevenLabs (stemme) bruges til specs-parsing, manus, klassifikation, storyboard-billeder samt film- og voiceover-generering. Alle er underlagt SCC; data bruges ikke til træning, og zero-retention + EU-data-residens kan slås til hos hver leverandør. Parallel film-rendering kører på AWS Lambda i EU-region.
- Hjælpe-tjenester: Clerk (identitet), Inngest (job-orchestration), Twilio (SMS, kun Production) og Google Maps (geocoding, kun Production), alle med SCC.
Overførsler sker på grundlag af EU-Kommissionens Standard Contractual Clauses (2021/914) og for visse leverandører desuden under EU-US Data Privacy Framework. Transfer Impact Assessment (TIA) er offentliggjort på launchr.dk/legal/dpia.
Sårbarheds-håndtering
- Dependabot: Åbner ugentlige PRs for opdateringer; security-PRs ugen rundt.
- CI-gate: npm audit på high+critical CVEs blokerer merges der introducerer nye sårbarheder.
- Type-safety: TypeScript strict mode + Zod-validering på alle API-grænser forhindrer hele klasser af bugs.
- Sikkerhedsheaders: CSP, HSTS, X-Frame-Options DENY, strict referrer-policy, Permissions-Policy med restriktive defaults.
Brud på persondatasikkerheden
Hvis vi opdager et brud, varsler vi jer som dataansvarlig uden ugrundet ophold (senest 24 timer efter opdagelse) med information om bruddets natur, omfang, sandsynlige konsekvenser og afbødende foranstaltninger. Vores rolle som databehandler gør jer i stand til at opfylde jeres anmeldelses-pligt over for Datatilsynet inden for 72 timer (GDPR art. 33).
GDPR-rettigheder I kan udøve på jeres registreredes vegne
Som dataansvarlig kan I bede os om:
- at udlevere alle data om en specifik person i et almindeligt format;
- at rette eller slette specifikke personers data;
- at standse behandlingen midlertidigt;
- at udlevere det fulde audit-spor for jeres behandling;
- at slette alle data ved opsigelse (vi udfører sletningen og bekræfter skriftligt, når den er gennemført).
Anmodninger sendes til support@launchr.dk. Vi svarer inden 30 dage.
DPIA-vurdering
Vi har udarbejdet en Data Protection Impact Assessment for Launchr, offentliggjort på launchr.dk/legal/dpia og løbende opdateret. Vurderingen er, at behandlingen ikke udgør en høj risiko for jeres registreredes rettigheder. Behandlingen er ikke tilsigtet særlige kategorier (GDPR art. 9) og foretager ikke automatiseret beslutningstagning med retsvirkninger (art. 22).
Hvis I selv har behov for en DPIA på jeres specifikke brug af Launchr, leverer vi den dokumentation I skal bruge, herunder data-flow-diagram, sub-processor-roller og krydsgrænse-vurderinger.
Certificeringer og planlagte tiltag
Vores sikkerhedsmodel skelner mellem det, der er implementeret i dag, og det, der er planlagt:
- I dag: GDPR-konform arkitektur; Standard Contractual Clauses for overførsler til USA; DPIA og Transfer Impact Assessment udarbejdet, offentliggjort på launchr.dk/legal/dpia og løbende opdateret; løbende sårbarhedshåndtering (Dependabot + npm audit som CI-gate); hændelses- og fejl-monitorering via Sentry.
- Under planlægning (2026–2027): ISO 27001-certificering, SOC 2 Type II, ekstern penetrationstest samt formel test af beredskabs- og reetableringsplan (BCP/DR).
DPIA og Transfer Impact Assessment er offentliggjort på launchr.dk/legal/dpia, databehandleraftalen på launchr.dk/legal/dpa. Øvrig dokumentation udleveres på forespørgsel.
Underdatabehandlere
Den fulde liste over underdatabehandlere (inklusive roller, placering og overførselsmekanismer) findes i databehandleraftalen. Vi varsler jer mindst 30 dage før ændringer træder i kraft, så I kan gøre indsigelse.
Spørgsmål?
Skriv til support@launchr.dk. Vi svarer normalt samme dag på sikkerhedsspørgsmål fra potentielle enterprise-kunder. Hvis I har en specifik compliance-skabelon I gerne vil have os til at udfylde (TISAX, ISO-overlapping, NIS2-vurdering), så send den. Vi har bygget systemet med den slags processer for øje.