GDPR-politik
Sidst opdateret: 17. oktober 2026 · v3.4 · Ændringer i v3.4: afsnit 4.3 og 5 — ved kontraktens udløb gives kunden en komplet eksport af sit revisionsspor, inden det slettes, medmindre kunden skriftligt afslår det, eller vi ikke kan komme i kontakt med kunden efter rimelige forsøg; YARDtwin opbevarer derefter revisionsregistreringer kun på kundens skriftlige instruks, bortset fra sikkerhedskopier, indtil de udløber, og sin egen registrering af overdragelsen.
Gældende forordninger: EU's generelle forordning om databeskyttelse (2016/679), irsk databeskyttelseslov 2018
1. Vores forpligtelse
YARDtwin Ltd er forpligtet til fuld overholdelse af databeskyttelsesforordningen (GDPR). Som både dataansvarlig (for egne kundedata) og databehandler (der behandler driftsdata på vegne af vores kunder) implementerer vi passende tekniske og organisatoriske foranstaltninger til beskyttelse af personoplysninger i alle led.
2. Roller og ansvar
3. Databehandleraftale (DPA)
Alle kunder kan gennemgå og acceptere vores databehandleraftale via selvbetjenings- DPA-siden. Kunder på en betalt plan kan anmode om databehandleraftalen til gennemsyn hos dpo@yardtwin.com; den medunderskrevne udgave udstedes, når selskabsregistreringen er afsluttet.
4. Tekniske foranstaltninger (art. 32 GDPR)
Alle data krypteres under overførsel (TLS 1.2+). Adgangskoder hashes med bcrypt (12 runder). PostgreSQL Flexible Server anvender transparent datakryptering i hvile. Azure Blob Storage krypteres i hvile. Billeder af kørekort og underskrifter er krypteret i hvile med AES-256 af Azure Storage og Azure Database for PostgreSQL (nøgler administreret af Microsoft), og adgangen til dem er begrænset efter rolle og organisation. JWT-tokens er kryptografisk signerede (HS256). Hemmeligheder administreres via Azure Key Vault, der tilgås af App Service-styret identitet — ingen hemmeligheder i kode, miljøfiler eller containerimages.
Rollebaseret adgangskontrol (RBAC) på autentificerede ruter med tenant-afgrænsning håndhævet på serversiden. Tenant-isolation testes automatisk før hver udgivelse: release-gatens cross-tenant-sweep kalder API'et som én organisation med en anden organisations post-ID'er, og udgivelsen blokeres, hvis nogen af den pågældende organisations data kan læses eller ændres. Single sign-on (SAML 2.0, Google, Microsoft); tidsbaseret engangskodeord-MFA, obligatorisk for platformsadministratorer og tilgængeligt for alle brugere.
Komplet revisionslogning af brugerhandlinger: brugeridentitet, tidsstempel, IP-adresse, handlingstype, berørt objekt samt gamle og nye værdier. GMP-relevante handlinger markeres særskilt (is_gmp_relevant=1). Manipulationsafslørende og append-only, håndhævet i databasen med en hash-kæde; GMP-relevante poster opbevares i mindst 7 år, mens serviceaftalen løber, øvrige revisionsposter i 365 dage. Pseudonymiseret, men ikke slettet ved sletning i henhold til Art. 17 (Art. 17(3)(b) tilsidesættelse på grundlag af retlig forpligtelse). Ved kontraktens udløb gives kunden en komplet eksport af sit revisionsspor, inden det slettes, medmindre kunden skriftligt afslår det, eller kunden ikke kan nås efter rimelige forsøg; YARDtwin opbevarer det kun længere på kundens skriftlige instruks, bortset fra sikkerhedskopier, indtil de udløber, og sin egen registrering af overdragelsen.
Hostes på Microsoft Azure (Sweden Central + Norway East, EØS). Containeriseret App Service udrulet via Azure Container Registry med staging-slot-then-swap. Trafik når applikationen via Azure Front Door med en Web Application Firewall i forebyggelsestilstand; databasen accepterer kun forbindelser fra Azure-tjenester og en administrators IP-tilladelsesliste. Application Insights med schema-drift-alarm på Postgres-fejl af typen "column / relation does not exist" (15-minutters vindue). End-to-end /health/db-write-probe verificerer, at applikationen kan skrive til og læse fra databasen ved hver udrulning.
Vi indsamler kun de data, der er nødvendige for tjenestelevering. Valgfrie chaufførfelter (telefon, e-mail) kan efterlades tomme, hvor kundens proces tillader det. Portpersonalet kan tage et ansigtsfoto af chaufføren som portdokumentation. Hvor et site aktiverer AI-ansigtssammenligning, sammenligner vores AI-udbyder (Anthropic) dette foto én-til-én med kørekortfotoet eller chaufførens gemte foto for at hjælpe personalet med at bekræfte chaufførens identitet. Resultatet er en anbefaling: portpersonalet beslutter og kan give adgang til en chauffør, som sammenligningen ikke bekræftede, ved at angive en begrundelse. Hver sammenligning registreres på vores servere med sit resultat. Hvor ansigtssammenligning er deaktiveret (standard), sendes intet ansigtsfoto til AI-udbyderen, og personalet sammenligner selv chaufføren med kørekortfotoet; kørekortbilleder læses stadig af AI, hvor AI-læsning er aktiveret. YARDtwin gemmer ingen ansigts-skabeloner og udfører ingen én-til-mange-identifikation. Nyhedsbrevet indsamler kun e-mail og valgfrit firmanavn.
Hvert pull request skal bestå npm audit (sårbarheder i afhængigheder), Semgrep (statisk analyse) og gitleaks (scanning for hemmeligheder), før det kan merges, med en Trivy-containerbilledscanning som rådgivende kontrol; disse kontroller kører også ved hvert push til master og nightly, sammen med en rådgivende OWASP ZAP-baselinescan (dynamisk test) af produktionsstedet. Dependabot-advarsler rapporterer nyopdagede sårbarheder i vores afhængigheder.
5. Registreredes rettigheder (kapitel III GDPR)
Vi faciliterer udøvelsen af alle registreredes rettigheder:
POST /api/v1/dsar/erase/by-email som på en verificeret anmodning anonymiserer personens egne brugerkonti i de valgte kundekonti og sletter deres sessioner, tokens, notifikationer, afventende invitationer, nyhedsbrevs- og tilmeldingsregistreringer samt eget avatar. Driftsregistreringer, som kunden besidder (bookinger, port- og besøgsregistreringer, chaufførliste, kontakter), er kundens registreringer som dataansvarlig og opremses for kunden til videre behandling. Revisionsloggen bevarer en anonymiseret aktørreference af hensyn til GMP-integritet; GMP-relevante revisionsdata opbevares i mindst 7 år, mens serviceaftalen løber, jf. Art. 17(3)(b) undtagelse for retlig forpligtelse, og eksporteres ved kontraktens ophør til kunden (medmindre kunden skriftligt afslår eller ikke kan nås efter rimelige forsøg) og slettes derefter.6. Samtykkehåndtering
Nyhedsbrev: Eksplicit opt-in-samtykke er påkrævet. Samtykkens tidsstempel og IP-adresse registreres. Afmeldingslink i al kommunikation. Samtykke kan til enhver tid tilbagekaldes uden at påvirke adgangen til tjenesten.
Servicevilkår: Oprettelse af konto udgør accept af servicevilkårene (kontraktligt grundlag). Brugere informeres under tilmelding om databehandling.
Cookies: Et cookiesamtykke-banner vises ved første besøg i overensstemmelse med ePrivacy-direktivet. Brugere kan vælge udelukkende nødvendige cookies eller alle cookies. Præferencer gemmes lokalt og kan ændres til enhver tid.
7. Procedurer ved databrud (art. 33-34)
Automatiseret registrering: En breach-monitor-arbejder kontrollerer revisionsloggen hvert 5. minut og registrerer de første tre anomalier nedenfor som potentielle hændelser; de øvrige tre er separate Azure-overvågningsadvarsler:
- ≥10 mislykkede loginforsøg for én e-mailadresse inden for 1 time
- ≥5 forskellige kilde-IP'er rettet mod én e-mail inden for 24 timer
- Vellykket login fra en kilde-IP, der ikke tidligere er set for den pågældende bruger inden for de seneste 30 dage
- Mere end 10 serverfejl (HTTP 5xx) i et 5-minutters vindue
- Postgres-fejl "column / relation does not exist" (schemadrift, App Insights)
- Webstedets tilgængelighedstest (køres hvert 10. minut) fejler eller reagerer langsomt
Brudsregister: Enhver registreret uregelmæssighed skrives til breach_register tabellen med en tilstandsmaskine (registreret → undersøges → bekræftet → notificeret → lukket), alvorlighed, omfang, berørte registrerede, DPC-deadline-nedtælling og revisionshistorik. Synlig i SuperAdmin-panelet "Brudsregister".
Alarmrouting: Registreringshændelser routes til Azure Monitor Action Group yardtwin-breach-actions, som sender e-mail til stifterens kontakt på admin@yardtwin.com. Schemadrift-hændelser anvender den eksisterende yardtwin-schema-drift-actions gruppe.
Vurdering: Inden for 24 timer efter registrering triagerer det tekniske team hændelsen i brudsregisterpanelet: omfang, berørte registrerede, alvorlighed (art. 33(1)-kriteriet "risiko for rettigheder og friheder") og grundårsag.
Underretning af DPC (art. 33): Inden for 72 timer efter at være blevet opmærksom på et brud, der udgør en risiko. Brudsregisterpanelet viser en live 72-timers nedtællingstimer, når hændelsen markeres bekræftet.
Underretning af registrerede (art. 34): Uden unødig forsinkelse, hvis bruddet udgør en høj risiko for de registreredes rettigheder og friheder.
Underretning af kunder: Berørte lejeradministratorer underrettes uden unødig forsinkelse og under alle omstændigheder inden for 48 timer efter, at vi er blevet bekendt med et brud på persondatasikkerheden, der berører deres lejers data; en indledende meddelelse gives inden for 24 timer efter enhver bekræftet sikkerhedshændelse, der berører disse data.
Dokumentation: Enhver post i brudregisteret opbevares uden automatisk sletning, uanset om ekstern underretning var påkrævet.
8. Underdatabehandlere
| Underdatabehandler | Formål | Placering | Sikkerhedsforanstaltninger |
|---|---|---|---|
| Microsoft Azure | Hosting, database og fillagring | EØS — Sverige Central og Norge Øst (geo-redundant kopi af uploadede filer i Norge Vest) | Microsoft Products and Services DPA; data forbliver i EØS |
| Anthropic | AI-læsning af kørekort og dokumenter (aktiveret som standard; en webstedsadministrator kan slå det fra), en-til-en-sammenligning af en chaufførs portfoto med kørekortet eller gemt chaufførfoto (deaktiveret som standard; en webstedsadministrator kan slå det til eller fra) samt den indbyggede assistent | USA | Standardkontraktbestemmelser og en overførselskonsekvensanalyse (ikke certificeret under EU-US Data Privacy Framework); API-data bruges ikke til modeltræning og slettes inden for 30 dage i henhold til Anthropics standard erhvervsvilkår |
| Resend | Transaktionel e-mail | USA | Standardkontraktbestemmelser (dets EU-US Data Privacy Framework-gencertificering er under behandling) |
| Stripe | Fakturerings- og betalingskontaktdata (YARDtwin gemmer ingen kortnumre) | EU / USA | Standard Contractual Clauses; PCI DSS Level 1 |
| Twilio | SMS- og WhatsApp-notifikationer (kun hvis kunden aktiverer dem) | USA | Standard Contractual Clauses |
| Google og Microsoft | Login-identitetsdata (kun hvis kunden anvender disse logindmuligheder) | EU / USA | Standard Contractual Clauses / EU-US Data Privacy Framework |
| ElevenLabs | Valgfri tekst-til-tale: oplæser in-app assistentens svar, som kan indeholde driftsdetaljer såsom køretøjsregistreringer, samt stemmen på offentlige sider | USA | EU-US Data Privacy Framework + Standardkontraktbestemmelser |
Kunder giver generel skriftlig tilladelse til de ovenfor anførte underdatabehandlere. Vi giver mindst 30 dages varsel om enhver ny underdatabehandler; en kunde kan gøre indsigelse på rimelige grunde og, hvis indsigelsen ikke kan løses, opsige den berørte tjeneste uden strafgebyr.
Webstedsspecifikke tjenester (ingen operationelle kundedata)
Disse kører udelukkende på det offentlige websted. De modtager ingen operationelle kundedata og er ikke underdatabehandlere heraf; eventuelle tjenester, der sætter cookies, indlæses kun med samtykke.
| Udbyder | Formål | Placering | Overførselsgaranti |
|---|---|---|---|
| LinkedIn Insight Tag | Marketingmåling på offentlige sider — indlæses kun efter samtykke til marketingcookies, aldrig inde i applikationen eller for indloggede brugere | EU / USA | Samtykke; LinkedIn DPA med Standard Contractual Clauses |
9. Konsekvensanalyse for databeskyttelse (DPIA)
Kunder, som dataansvarlige, afgør, om deres behandling i YARDtwin kræver en DPIA. Et DPIA-inputpakke er tilgængeligt for kunder til brug ved deres egen DPIA. YARDtwin behandler primært forretningsmæssige driftsdata (doktidsplaner, transportørnavne, køretøjsregistreringer) frem for følsomme personoplysninger.
10. Databeskyttelse via design og standardindstillinger (art. 25)
Via design: Multilejers-arkitektur med obligatorisk lejer-isolation. RBAC indbygget i hvert API-endpoint. Adgangskoder gemmes aldrig i klartekst. Minimal dataindsamling på hvert trin.
Som standard: Nye konti har minimale rettigheder. Valgfrie felter er reelt valgfrie. Nyhedsbrev kræver aktivt samtykke. Datasynlighed begrænset af rolle.
11. Overholdelsesstatus og løbende forbedringer
Løst (pr. maj 2026)
- ✓ Migrering til PostgreSQL Flexible Server (Azure-administreret, transparent datakryptering i hvile, 7-dages point-in-time-gendannelse)
- ✓ Migrering til Microsoft Azure (Sverige Central + Norge Øst, EEA) med App Service + ACR + Key Vault
- ✓ Hemmelighedshåndtering via Azure Key Vault (ingen hemmeligheder i .env eller container-images; managed-identity-adgang)
- ✓ Automatiseret DSAR-autoeksport (POST /api/v1/dsar/export/by-email — art. 15 / 20)
- ✓ Automatiseret DSAR-autosletning (POST /api/v1/dsar/erase/by-email — art. 17 med overholdelse af revisionsopbevaring)
- ✓ Cookiebanner v2 med fire kategorier (nødvendige / funktionelle / analyse / marketing) samt Afvis / Tilpas / Accepter alle
- ✓ Revisionering af isolation på tværs af lejere automatiseret cross-tenant-sweep i release-gaten, før hver udgivelse: den kalder API'et som én organisation med en anden organisations post-ID'er, og udgivelsen blokeres, hvis nogen af den pågældende organisations data kan læses eller ændres
- ✓ CI/CD-sikkerhedspipeline: npm audit + Trivy + Semgrep + gitleaks + ZAP DAST
- ✓ Schema-drift-varsling på Application Insights (15-minutters vindue)
- ✓ End-to-end /health/db-write-probe verificerer skrivbar DB ved hver udrulning
- ✓ App Insights schema-drift Action Group sender e-mail til stifterens kontakt på admin@yardtwin.com ved Postgres-fejl af typen "column / relation does not exist"
- ✓ Kørekortbilleder og underskrifter (signature_data) beskyttet med AES-256-kryptering i hvile i Azure Storage og Azure Database for PostgreSQL (nøgler administreret af Microsoft) og adgang begrænset efter rolle og organisation
- ✓ Automatiseret oprydning ved dataopbevaringsgrænse (konfigurerbar pr. site; pii-cleanup-worker)
- ✓ 30-dages prøveperiode harmoniseret overalt (tilmelding, marketingside, vilkår, e-mails)
- ✓ End-to-end regressionstest med 5.000 lastbiler dækker alle Site Admin-endepunkter med yard-view-fidelitetspåstande ved hver overgang (53.650/53.651 = 100 %)
- ✓ Datainventar og fortegnelse over behandlingsaktiviteter (Art. 30) offentliggjort
- ✓ Register over underdatabehandlere vedligeholdes og gennemgås årligt
- ✓ Privacy by design og privacy by default dokumenteret (Art. 25)
- ✓ Web Application Firewall (Azure Front Door WAF, Prevention mode) beskytter yardtwin.com med tilpassede regler for hastighedsbegrænsning på endpoints til godkendelse og kontogendannelse samt L7-DDoS-afbødning på platformsniveau. Der er ikke tilknyttet et administreret OWASP-regelsæt; det kræver Front Door Premium-niveauet
- ✓ Automatiseret bruddetektering — breach-monitor-arbejder (spidser i mislykkede logins, loginforsøg på én konto fra mange IP-adresser, vellykkede logins fra en IP-adresse, der ikke er set for den pågældende bruger i 30 dage), 5xx-spike-alarm, schema-drift-alarm og webstedets tilgængelighedstest
- ✓ Brudregister persistent tabel med fuld tilstandsmaskine og DPC-deadline-nedtælling, synlig i SuperAdmin-panelet
- ✓ Action Group
yardtwin-breach-actionssender e-mail til stifterens kontakt på admin@yardtwin.com ved hver detektion
Tilbageværende forbedringer
Der er endnu ikke gennemført en tredjeparts penetrationstest; en uafhængig test er planlagt inden den første enterprise-idriftsættelse. En intern white-box-koderevision blev gennemført i oktober 2026, og alle kritiske fund blev udbedret. Prioritet: Høj. Mål: inden den første enterprise-idriftsættelse.
YARDtwin Ltd har ikke udpeget en lovpligtig databeskyttelsesrådgiver: ingen af betingelserne i artikel 37, stk. 1 (offentlig myndighed; kerneaktiviteter der kræver omfattende, regelmæssig og systematisk overvågning; kerneaktiviteter bestående af omfattende behandling af særlige kategorier af oplysninger) finder anvendelse på selskabets behandling. Ansvaret for databeskyttelse påhviler en navngiven person hos YARDtwin Ltd, der kan kontaktes via rollepostkassen dpo@yardtwin.com, som er offentliggjort i denne politik, privatlivspolitikken, DPA'en og Trust Center. Vi offentliggør kontaktadressen frem for den pågældendes navn. En formel udpegning med underretning til Data Protection Commission (DPC) i Irland vil blive foretaget, hvis en kundekontrakt eller en ændring i behandlingen kræver det. Status: besluttet den 26. september 2026. Gennemgås ved hver ISMS-ledelsesgennemgang.
Certificeringsprogram i gang; certificeringsaudit planlagt til Q1 2027; certifikat målrettet Q1 2027. Prioritet: Mellem. Mål: Q1 2027.
Ikke opnået. Tilgængeligt på forespørgsel efter ISO 27001-certificering. Prioritet: Lav. Mål: på kundens anmodning, efter ISO 27001.
Uploadede filer er geo-redundante (Norge Øst → Norge Vest) siden oktober 2026; database-højtilgængelighed er planlagt inden den første enterprise go-live. Indtil da gendannes et databaseudfald via point-in-time-gendannelse (7-dages vindue). Prioritet: Mellem. Mål: inden den første enterprise go-live.
Standardkontraktbestemmelser er på plads for alle overførsler uden for EØS; overførselskonsekvensvurderinger er ved at blive færdiggjort (mål: november 2026). Prioritet: Mellem. Mål: november 2026.
Et privat bug bounty-program (HackerOne / Intigriti) er planlagt efter den anden rene eksterne penetrationstest og giver kontinuerlig ekstern dækning mellem årlige tests. Prioritet: Lav. Mål: 2027.
12. Kontakt og databeskyttelse
Databeskyttelseskontakt: dpo@yardtwin.com — en rollepostkasse, der overvåges af den person hos YARDtwin Ltd, der er ansvarlig for databeskyttelse (se 11.2). Vi offentliggør kontaktadressen frem for en enkeltpersons navn.
Generelle henvendelser: admin@yardtwin.com
Registreredes anmodninger: Indsend via vores DSAR Portal
Databehandleraftale: Gennemse og accepter på /dpa
Tilsynsmyndighed: Data Protection Commission (DPC), Irland · www.dataprotection.ie · +353 (0)761 104 800