SPOR

Tillid og data

Jeres data i SPOR: hvor de ligger, og hvordan de er beskyttet

SPOR hjælper virksomheder med overblik over AI, data og ansvar. Her kan I se præcis, hvilke leverandører der indgår, hvilke oplysninger SPOR behandler, hvad SPOR aldrig behandler, og hvordan hvert krav i reglerne er opfyldt og kontrolleret.

Data bliver i EU

Database og servere står i Frankfurt. AI kører kun i EU-regioner på jeres egen konto.

Ingen CPR-numre

Databasen afviser CPR-numre, uanset hvor de kommer fra. Følsomme oplysninger hører ikke til i SPOR.

Jeres data er adskilt

Hver kunde er adskilt i selve databasen. Det testes automatisk ved hver ændring.

Tofaktor for alle

Login kræver adgangskode og kode fra en authenticator-app. Ingen undtagelser.

16krav opfyldt
8delvist opfyldt
0åbne

Hosting og underleverandører

Hvor ligger data, og hvem behandler dem?

Kun to leverandører behandler kundedata for SPOR: Neon (database) og Vercel (hosting). Begge i Frankfurt.

LeverandørPlaceringHvadAftale
Neon Inc. (PostgreSQL-database)
Database. Al data i SPOR ligger her.
Underdatabehandler
AWS eu-central-1, Frankfurt (EU)Alle kundedata, brugerkonti, sessioner og logs. Krypteret under overførsel (TLS) og på disk (leverandørens kryptering).
Data ligger i EU. Leverandøren er amerikansk og certificeret under EU-US Data Privacy Framework (Kommissionens tilstrækkelighedsafgørelse 2023/1795). Neons databehandleraftale indgår automatisk i vilkårene; kopi arkiveret i docs/juridisk/aftaler.
Arkiveret
Vercel Inc. (hosting)
Kører SPORs web- og serverfunktioner.
Underdatabehandler
SPORs serverfunktioner kører i region fra1, Frankfurt (EU). Vercels driftslogs og kontodata kan behandles i USA.Behandler forespørgsler undervejs i Frankfurt. Gemmer ikke kundedata; driftslogs indeholder adresse på siden, tidspunkt og IP-adresse.
Vercel er certificeret under EU-US Data Privacy Framework (Kommissionens tilstrækkelighedsafgørelse 2023/1795). Vercels databehandlertillæg (vercel.com/legal/dpa) indgår automatisk i vilkårene, oplyser at den primære behandling sker i USA, og har EU's standardkontraktbestemmelser fra 2021 som reserve. Kopi arkiveret i docs/juridisk/aftaler.
Arkiveret
AWS Bedrock (Claude) på kundens egen AWS-konto
AI til TheOffice og Laura, kun hvis kunden selv forbinder sin AWS-konto.
Kun EU: regionerne eu-central-1, eu-west-1, eu-west-3, eu-north-1 og kun modeller, der bliver i EU (ikke "us."/"global."-profiler). Låst i koden, i databasen og kontrolleret før hvert kald.Kun det, kunden beder en AI-medarbejder om, og uddrag af kundens egne vejledninger. Hvert kald logges som dataoverførsel.
Kundens egen aftale med AWS. SPOR sender kun, når kundens geografiske politik tillader regionen.
Kundens egen aftale
GitHub Inc. (kildekode og test)
Kildekode, automatiske tests og udrulning.
USAIngen kundedata. Kun kode og testdata uden personoplysninger.
Ikke relevant: ingen personoplysninger.
Ikke nødvendig
Simply.com (mail og DNS)
Sender SPORs mails (invitationer, kundelinks, opstartsmails til nye kunder, driftsalarmer) via SMTP fra noreply@martinegesoe.dk; svar går til spor@martinegesoe.dk. Har også domænet og DNS for martinegesoe.dk. Hjemmesiden martinegesoe.dk ligger hos Vercel og er ikke en del af SPOR.
Underdatabehandler
DanmarkKun modtagerens e-mail og navn, afsender, arbejdspladsens eller kundens firmanavn og et link eller en liste over opstartstrin. Aldrig kundedata, adgangskoder, nøgler, svar, noter eller vedhæftninger. Sendes kun, når SMTP er sat op.
Behandling i Danmark.
Skal arkiveres

Data

Hvilke oplysninger behandler SPOR?

SPOR registrerer, hvilke typer oplysninger en virksomhed arbejder med, ikke selve oplysningerne.

OplysningerIndholdFormål og opbevaring
Brugerkonti og login
Almindelige personoplysninger
E-mail, adgangskode (kun som scrypt-hash), authenticator-hemmelighed (krypteret AES-256-GCM), gendannelseskoder (hash), sessioner (hash). IP-adresse kun som HMAC til begrænsning af loginforsøg.Sikkert login med adgangskode og obligatorisk tofaktor.
Sessioner udløber efter 12 timer uden aktivitet og altid efter 7 dage. Kontoen findes, så længe brugeren har adgang.
Kundens registre og styring
Almindelige personoplysninger
Systemer, leverandører, AI-anvendelser, datakategorier (som betegnelser, fx “helbredsoplysninger”, aldrig selve oplysningerne), beslutninger, dokumentation, opgaver, træning, vejledninger, kundeforløb og supportsager. Kan indeholde navne og arbejdsmails på ansvarlige og kontaktpersoner.Kundens eget overblik over AI, data og ansvar.
Så længe kunden bruger SPOR. Slettes efter aftalt eksportperiode ved ophør (se exit-procedure).
Hændelser og brud
Almindelige personoplysninger
Beskrivelse af hændelsen, hvilke typer oplysninger der er berørt, vurdering og opfølgning. Hændelser med personoplysninger kan kun ses af indberetter, ansvarlig og ejer/administrator.Dokumentation af hændelser og brud (fx 72-timers fristen).
Som kundens øvrige data; kunden kan sætte en historikperiode.
Hændelseslog
Almindelige personoplysninger
Hvem gjorde hvad hvornår, og hvilke data der blev sendt til hvilken udbyder og region.Sporbarhed og dokumentation over for kunden og tilsyn.
Som kundens øvrige data; kunden kan sætte en historikperiode.
SPORs egne kunder (admin, kun operatør)
Almindelige personoplysninger
Firmanavn, CVR-nummer, kontaktperson og arbejdsmail, abonnement, fakturaer (beløb, datoer, status), tjekliste over kundens konti, opstartsliste, opgaver, sundhedstjek af kundens installation og en liste over systemer udviklet til kunden (hvor de ligger, AI-værktøjer og hvilke typer oplysninger de behandler, aldrig selve oplysningerne). Kundens egne data ligger på kundens egne konti, ikke her.Kundeforhold, fakturering og drift. Kun SPOR-operatøren har adgang; databasen håndhæver det.
Så længe kundeforholdet består, og derefter efter bogføringslovens krav til regnskabsmateriale.
Offentligt indhold fra leverandører
Ingen personoplysninger
Tekst fra leverandørers offentlige websider, hentet i AI Audit.Vurdering af leverandørens AI-værktøj.
Som kundens øvrige data.

Det behandler SPOR ikke

CPR-numreTeknisk spærret

Databeskyttelsesloven § 11

Databasen afviser alt, der har form som et CPR-nummer, i alle kundetabeller, uanset hvor det kommer fra (formular, import, kundelink, support, AI-svar). Indhentede websider renses, før de gemmes. AI-svar med CPR-lignende tal gemmes ikke.

Følsomme personoplysningerBrugsregel

GDPR art. 9 (helbred, etnisk oprindelse, politisk, religiøs eller filosofisk overbevisning, fagforening, genetiske og biometriske data, seksuelle forhold)

Må ikke lægges i SPOR. SPOR registrerer kun, AT en kunde behandler en type oplysninger, ikke selve oplysningerne. Reglen står ved de felter, hvor der skrives fritekst.

Oplysninger om strafbare forholdBrugsregel

GDPR art. 10 og databeskyttelsesloven § 8

Må ikke lægges i SPOR. Reglen står ved de felter, hvor der skrives fritekst.

Kundens forretningsdata og kundernes kunders dataBrugsregel

GDPR art. 5, stk. 1, litra c (dataminimering)

SPOR har ingen forbindelser til kundens fagsystemer. Eneste undtagelse er kundens egen AI-konto og de vejledninger, kunden selv lægger ind.

BetalingskortdataTeknisk spærret

PCI DSS

SPOR modtager ikke betalinger og gemmer ingen kortdata.

Regelgrundlag

Sådan lever SPOR op til reglerne

Hvert krav har en status og et bevis. 16 er opfyldt, 8 delvist og 0 åbne. Åbne punkter står åbent, indtil de er løst.

Databeskyttelsesforordningen (GDPR, EU 2016/679)

Myndighed: Datatilsynet. Gælder al behandling af personoplysninger i SPOR.

KravSådan gør SPORBevisStatus
Dataminimering og databeskyttelse gennem design
Art. 5 og 25
SPOR registrerer typer af oplysninger, ikke selve oplysningerne. CPR-numre afvises i databasen. Nye brugere får mindst mulige rettigheder, og roller styrer adgang.
  • Kode: db/migrations/0021_sensitive_data_guard.sql
  • Automatisk test: test/sensitive-data.test.ts
  • Live-kontrol: cpr_guard
  • Automatisk test: test/permissions.test.ts
Opfyldt
Databehandleraftale med kunderne
Art. 28
SPOR er databehandler for kundens data. Aftalen skal beskrive formål, instruks, sikkerhed, underdatabehandlere og sletning. Indholdet til bilagene findes i denne dokumentation.
Mangler: Udkastet til databehandleraftale og kundevilkår skal gennemgås juridisk og underskrives med hver kunde før rigtige kundedata.
  • Kode: docs/juridisk/databehandleraftale.md
  • Kode: docs/juridisk/kundevilkaar.md
Delvist
Underdatabehandlere
Art. 28, stk. 2 og 4
Neon (database) og Vercel (hosting) behandler kundedata for SPOR, begge i Frankfurt. Simply (Danmark) sender mails med modtagerens e-mail og et link. Listen står i denne rapport. AI kører på kundens egen konto.
Mangler: Aftalerne med Neon og Vercel er arkiveret. Simplys databehandleraftale skal hentes i Simplys kontrolpanel og arkiveres.
  • Dokument: Afsnittet Hosting og underleverandører
  • Live-kontrol: vercel_region
  • Live-kontrol: database_region
Delvist
Fortegnelse som databehandler
Art. 30, stk. 2
Fortegnelsen ligger i admin (/admin/fortegnelse) og kan gemmes som PDF. Den rummer SPORs kontaktoplysninger, alle kunder (dataansvarlige) fra kunderegistret, kategorier af behandling, overførsler og sikkerhedsforanstaltninger. Indholdet hentes fra kunderegistret og fra denne dokumentation, så det altid er opdateret.
  • Kode: app/admin/fortegnelse/page.tsx
  • Kode: src/admin/record.ts
  • Kode: src/platform/facts.ts
  • Automatisk test: test/platform.test.ts
Opfyldt
Behandlingssikkerhed
Art. 32
Kundeadskillelse i databasen (Row-Level Security, tvunget), login med adgangskode og obligatorisk tofaktor, kryptering under overførsel (TLS) og af hemmeligheder (AES-256-GCM), app-rollen kan ikke omgå adskillelsen, Content Security Policy, fuld hændelseslog.
  • Automatisk test: test/tenant-isolation.test.ts
  • Automatisk test: test/auth-service.test.ts
  • Automatisk test: test/auth-crypto.test.ts
  • Live-kontrol: rls
  • Live-kontrol: db_roles
  • Live-kontrol: db_tls
  • Live-kontrol: data_key
Opfyldt
Gendannelse efter hændelser
Art. 32, stk. 1, litra c
Neon tager løbende backup (point-in-time restore). Fremgangsmåden står i driftshåndbogen og sikrer, at slettede data ikke genopstår; en kontrol af den gendannede database er bygget.
Mangler: Neons historikvindue er i dag 1 dag; overvej 7 dage. Gennemfør første gendannelsesøvelse.
  • Dokument: docs/DRIFT.md, afsnit 3
  • Automatisk test: test/restore.test.ts
Delvist
Håndtering af brud
Art. 33 og 34
Procedure for brud i SPOR selv (underretning af kunder uden unødig forsinkelse; anmeldelse inden 72 timer for SPORs egne konti). Kundernes egne brud registreres i SPORs hændelsesmodul med 72-timers frist.
  • Dokument: docs/DRIFT.md, afsnit 4
  • Automatisk test: test/incidents.test.ts
Opfyldt
Overførsel til tredjelande
Art. 44-46
Kundedata opbevares og behandles i EU (database og servere i Frankfurt, mail i Danmark). Vercels tekniske driftslogs (IP-adresse, sideadresse, tidspunkt) kan behandles i USA; Vercel og Neon er certificeret under EU-US Data Privacy Framework. AI kan kun kaldes i EU-regioner med modeller, der bliver i EU; det er låst i koden, i databasen og kontrolleres før hvert kald. Hver dataoverførsel logges.
Mangler: Grundlaget er dokumenteret for Neon og Vercel (Data Privacy Framework, standardkontraktbestemmelser som reserve). Følg sagen om Data Privacy Framework ved EU-Domstolen; falder den, gælder standardkontraktbestemmelserne, og en vurdering af overførslen skal laves.
  • Live-kontrol: vercel_region
  • Live-kontrol: database_region
  • Live-kontrol: bedrock_regions
  • Live-kontrol: ai_eu_only
  • Automatisk test: test/ai-eu.test.ts
  • Automatisk test: test/event-log.test.ts
Delvist
Ingen følsomme oplysninger eller strafbare forhold
Art. 9 og 10
Må ikke lægges i SPOR. Reglen står ved fritekstfelterne. SPOR registrerer kun typer af oplysninger.
  • Kode: src/platform/facts.ts (USAGE_RULE)
Opfyldt
Indsigt, eksport og sletning
Art. 15-20 og 28, stk. 3, litra g
Kunden kan eksportere alle sine data (JSON og CSV) uden hemmeligheder. Ved ophør bliver arbejdspladsen skrivebeskyttet, forbindelser, agenter og links lukkes, og data slettes efter eksportperioden.
  • Automatisk test: test/reports.test.ts
  • Automatisk test: test/exit.test.ts
  • Dokument: docs/DRIFT.md, afsnit 7
Opfyldt
Oplysning til brugerne
Art. 13
Privatlivspolitikken for SPOR er udgivet på spor.martinegesoe.dk/privatliv og linket fra login, sidehovedet og menuen. Den skelner mellem kundens data (kunden er dataansvarlig) og SPORs egne brugerkonti, logs og kundeadministration. Hjemmesiden martinegesoe.dk har sin egen politik for henvendelser og kunder.
Mangler: Privatlivspolitikkerne (SPOR og martinegesoe.dk) skal gennemgås juridisk.
  • Kode: app/privatliv/page.tsx
  • Kode: app/login/page.tsx
  • Kode: docs/juridisk/privatlivspolitik.md
Delvist

Databeskyttelsesloven (DK)

Myndighed: Datatilsynet. Danske særregler, bl.a. om CPR-numre.

KravSådan gør SPORBevisStatus
Ingen CPR-numre
§ 11
Databasen afviser CPR-numre i alle kundetabeller, uanset kilde. En test fejler, hvis en ny tabel mangler spærren, og driftstjekket viser det live.
  • Kode: db/migrations/0021_sensitive_data_guard.sql
  • Automatisk test: test/sensitive-data.test.ts
  • Live-kontrol: cpr_guard
Opfyldt

AI-forordningen (EU 2024/1689)

Myndighed: Digitaliseringsstyrelsen (dansk koordinerende myndighed). SPOR bruger AI som værktøj for kunden og hjælper kunderne med deres egne pligter.

KravSådan gør SPORBevisStatus
Tydeligt, når man arbejder med AI
Art. 50
AI-medarbejdere i TheOffice er tydeligt markeret som software. AI-forslag skal godkendes af et menneske, før de bliver til handlinger.
  • Automatisk test: test/projects-actions.test.ts
  • Automatisk test: test/agents-tasks.test.ts
Opfyldt
SPORs egen brug af AI er ikke højrisiko
Art. 6 og bilag III
AI i SPOR udarbejder udkast og svar ud fra kundens egne kilder. Den træffer ikke afgørelser om personer og indgår ikke i bilag III-områder.
  • Kode: src/agents/catalog.ts
Opfyldt
AI-kundskaber
Art. 4
SPOR har træningsmoduler og vejledninger, så kunderne kan dokumentere medarbejdernes AI-kundskaber.
  • Automatisk test: test/training.test.ts
Opfyldt

Informationssikkerhed efter ISO/IEC 27001-principperne

Myndighed: Digitaliseringsstyrelsen kræver ISO 27001 af statslige myndigheder. SPOR er ikke certificeret. Kontrollerne er dokumenteret, så en offentlig kunde kan vurdere SPOR som leverandør.

KravSådan gør SPORBevisStatus
Adgangsstyring og stærk autentifikation
A.5.15-5.18, A.8.5
Ingen offentlig tilmelding. Adgangskode og obligatorisk tofaktor for alle. Roller pr. arbejdsplads. Supportadgang kun tidsbegrænset og logget.
  • Automatisk test: test/auth-service.test.ts
  • Automatisk test: test/members.test.ts
Opfyldt
Logning
A.8.15
Alle ændringer, loginhændelser og dataoverførsler logges pr. kunde. Et dagligt tjek overvåger installationer og sender én samlet alarm.
  • Automatisk test: test/event-log.test.ts
  • Automatisk test: test/admin.test.ts
Opfyldt
Leverandørstyring
A.5.19-5.22
Få leverandører, alle listet med placering og rolle. Nye afhængigheder kan ikke tilføjes, uden at dokumentationen opdateres (automatisk test).
Mangler: Arkivér Simplys databehandleraftale (Neon og Vercel er arkiveret).
  • Automatisk test: test/platform.test.ts
Delvist
Ændringsstyring
A.8.32
Al kode går gennem GitHub med automatiske tests. Ændringer afprøves først i et separat testmiljø (dev.spor.martinegesoe.dk) med sin egen database uden kundedata, før de godkendes til produktion. Udrulning sker kun efter grønne tests og kørte databasemigrationer; bagefter kontrolleres, at den nye version kører, og at test og produktion ikke deler database.
  • Kode: .github/workflows/deploy.yml
  • Live-kontrol: migrations
  • Live-kontrol: env_separation
  • Automatisk test: test/platform.test.ts
Opfyldt
Kryptering
A.8.24
TLS på alle forbindelser. Hemmeligheder krypteres med AES-256-GCM. Adgangskoder gemmes som scrypt-hash.
  • Live-kontrol: db_tls
  • Live-kontrol: data_key
  • Automatisk test: test/auth-crypto.test.ts
Opfyldt
Beskyttelse af webapplikationen
A.8.26
Content Security Policy med nonce pr. forespørgsel, ingen eksterne scripts, beskyttede cookies (__Host-, httpOnly, secure), AI Audit kan ikke kalde interne adresser.
Mangler: Politikken er afprøvet håndhævet på de offentlige sider uden overtrædelser. Sæt SPOR_CSP=enforce i testmiljøet, gennemgå de indloggede sider der, og sæt den derefter i produktion.
  • Automatisk test: test/csp.test.ts
  • Automatisk test: test/audit.test.ts
  • Live-kontrol: csp
Delvist
Nøgleskift
A.8.24
Krypteringsnøglen opbevares i Vercel og et sikkert sted uden for Vercel. Nøgleskift sker med genkryptering af alle hemmeligheder (npm run datakey:rotate), mens den forrige nøgle stadig kan læse.
  • Automatisk test: test/key-rotation.test.ts
  • Dokument: docs/DRIFT.md, afsnit 4
Opfyldt

NIS2 (EU 2022/2555) og den danske NIS2-lov

Myndighed: Styrelsen for Samfundssikkerhed m.fl.. Cybersikkerhed for væsentlige og vigtige enheder.

KravSådan gør SPORBevisStatus
Omfattet eller ej
Art. 2-3
MLE Gruppo ApS er under størrelsesgrænsen for væsentlige og vigtige enheder. SPOR følger alligevel de samme grundprincipper (risikostyring, hændelseshåndtering, leverandørstyring, kryptering, adgangsstyring).
Mangler: Vurderingen af, at virksomheden ikke er omfattet, skal bekræftes af juridisk rådgiver og genbesøges ved vækst.
  • Dokument: Denne rapport
Delvist

Cookiebekendtgørelsen

Myndighed: Digitaliseringsstyrelsen. Samtykke til cookies, der ikke er strengt nødvendige.

KravSådan gør SPORBevisStatus
Kun nødvendige cookies
§ 3
SPOR sætter kun login-cookies, der er strengt nødvendige. Ingen statistik, reklame eller sporing, og ingen tredjepartsscripts. Derfor kræves der ikke samtykke.
  • Kode: src/server/session.ts
  • Automatisk test: test/csp.test.ts
Opfyldt

Åbne punkter

Det arbejder vi på

Punkter, der ikke er fuldt opfyldt endnu. De løses, før rigtige kundedata lægges i SPOR, eller hurtigst muligt derefter.

  1. Delvist Databehandleraftale med kunderne (Databeskyttelsesforordningen, Art. 28)
    Udkastet til databehandleraftale og kundevilkår skal gennemgås juridisk og underskrives med hver kunde før rigtige kundedata.
  2. Delvist Underdatabehandlere (Databeskyttelsesforordningen, Art. 28, stk. 2 og 4)
    Aftalerne med Neon og Vercel er arkiveret. Simplys databehandleraftale skal hentes i Simplys kontrolpanel og arkiveres.
  3. Delvist Gendannelse efter hændelser (Databeskyttelsesforordningen, Art. 32, stk. 1, litra c)
    Neons historikvindue er i dag 1 dag; overvej 7 dage. Gennemfør første gendannelsesøvelse.
  4. Delvist Overførsel til tredjelande (Databeskyttelsesforordningen, Art. 44-46)
    Grundlaget er dokumenteret for Neon og Vercel (Data Privacy Framework, standardkontraktbestemmelser som reserve). Følg sagen om Data Privacy Framework ved EU-Domstolen; falder den, gælder standardkontraktbestemmelserne, og en vurdering af overførslen skal laves.
  5. Delvist Oplysning til brugerne (Databeskyttelsesforordningen, Art. 13)
    Privatlivspolitikkerne (SPOR og martinegesoe.dk) skal gennemgås juridisk.
  6. Delvist Leverandørstyring (Informationssikkerhed efter ISO/IEC 27001-principperne, A.5.19-5.22)
    Arkivér Simplys databehandleraftale (Neon og Vercel er arkiveret).
  7. Delvist Beskyttelse af webapplikationen (Informationssikkerhed efter ISO/IEC 27001-principperne, A.8.26)
    Politikken er afprøvet håndhævet på de offentlige sider uden overtrædelser. Sæt SPOR_CSP=enforce i testmiljøet, gennemgå de indloggede sider der, og sæt den derefter i produktion.
  8. Delvist Omfattet eller ej (NIS2, Art. 2-3)
    Vurderingen af, at virksomheden ikke er omfattet, skal bekræftes af juridisk rådgiver og genbesøges ved vækst.

SPOR · MLE Gruppo ApS · spor.martinegesoe.dk · Version 1.0, gennemgået 29. september 2026. SPOR er databehandler for de oplysninger, kunderne lægger i SPOR, og dataansvarlig for SPORs egne brugerkonti og logs.