Parter
Dataansvarlig: Kunden (den virksomhed, der har accepteret Klirrys brugsvilkår).
Databehandler: Per Philip Alexander Hjelmberg, en enkeltmandsvirksomhed (enskild firma), Drottninggatan 12, 352 29 Växjö, Sverige, svensk momsregistreringsnummer SE850529273301 ("Klirry"), drevet af sin grundlægger.
Sammen kaldet "Parterne".
Hvornår denne DPA gælder. Denne DPA accepteres sammen med brugsvilkårene og er bindende før enhver behandling på Kundens vegne finder sted: den gælder fra det øjeblik, Kunden tilslutter en butik eller uploader data, også i Prøveperioden på 21 dage og på testkonti.
Bemærkning om omfang: Denne DPA regulerer kun Klirrys behandling af Ordredata — den aktivitet, hvor Klirry optræder som databehandler efter Kundens dokumenterede instrukser. Kontooplysninger (Kundens egne medarbejdere, der logger ind i Klirry) behandles af Klirry som selvstændig dataansvarlig, der bestemmer sine egne formål og midler, og reguleres af brugsvilkårene og privatlivspolitikken, ikke af denne DPA — se afsnittet "Vores to roller" i privatlivspolitikken. Hvor DPA'ens operationelle afsnit (f.eks. afsnit 7, sletning) beskriver en proces, der sletter både Ordredata og Kontooplysninger sammen, beskriver det kun den tekniske mekanisme; det udvider ikke artikel 28-forpligtelserne for databehandlere til Kontooplysninger.
Definitioner
| Begreb | Betydning |
|---|---|
| GDPR | Europa-Parlamentets og Rådets forordning (EU) 2016/679 |
| Personoplysninger | Enhver oplysning om en identificeret eller identificerbar fysisk person (GDPR art. 4(1)) |
| Behandling | Enhver aktivitet, der udføres med Personoplysninger (GDPR art. 4(2)) |
| Dataansvarlig | Kunden — den enhed, der afgør formålene med og midlerne til Behandlingen |
| Databehandler | Klirry — behandler Personoplysninger på vegne af den Dataansvarlige |
| Underdatabehandler | Enhver tredjepart, som Klirry anvender til at Behandle den Dataansvarliges Personoplysninger |
| Registreret | Den fysiske person, hvis Personoplysninger Behandles |
| Ordredata | Data på ordreniveau, optegnelser over betalings- og fragtomkostninger og annoncedata, der importeres eller uploades for Kunden, som opregnet i bilag 1. Ingen slutforbrugers navn, e-mail, adresse eller telefonnummer importeres, men det eksterne ordre-ID og de øvrige ordrefelter er pseudonymiserede personoplysninger, som Kunden kan knytte tilbage til en person i sine egne systemer. |
| Tjenesterne | Klirrys software som en tjeneste for rentabilitet og beslutninger, beskrevet i brugsvilkårene, afsnit 3. |
Dokumentets opbygning
Denne DPA består af hoveddelen og fire bilag:
- Bilag 1 — Registrerede og kategorier af Personoplysninger
- Bilag 2 — Tekniske og organisatoriske foranstaltninger (TOM)
- Bilag 3 — Underdatabehandlere (genereret fra leverandørregisteret)
- Bilag 4 — Tilsluttede platforme: kundens egne platforme, som Klirry læser fra eller sender til efter kundens instruks (genereret fra det samme register; ikke underdatabehandlere)
1. Genstand, varighed, karakter og formål
1.1 Genstand
Klirry behandler Personoplysninger på vegne af den Dataansvarlige for at levere Tjenesterne: at beregne reelt overskud for den Dataansvarliges e-handelsvirksomhed ved at kombinere ordredata, optegnelser over betalingsgebyrer og fragtomkostninger, annonceforbrug, momssatser og den Dataansvarliges omkostningsindstillinger og omsætte den til beslutninger om annoncering, produkter, lande og markeder, betalingsmåder og fragt. Data fra Google Analytics 4, når den er tilsluttet, er kun et vejledende signal og indgår aldrig i overskudstallet.
1.2 Behandlingens karakter
- Indsamling: Ordredata og annonceforbrugsdata indsamles gennem den Dataansvarliges integrationer med sin e-handelsplatform og sine annoncekonti (skrivebeskyttede forespørgsler; se brugsvilkårene §3 for de eneste objekter, Klirry opretter på en platform) og fra filer, som den Dataansvarlige uploader (for eksempel afregningsfiler fra betalingsudbydere og fragtfakturaer).
- Opbevaring: Data opbevares i EU på Klirrys infrastruktur (se bilag 2).
- Aggregering: Ordredata aggregeres pr. dato, land, produkt, betalingsmåde, forsendelsesmåde og kampagne for at beregne overskud og beslutninger.
- Ingen behandling til egne formål: Klirry bruger ikke Ordredata til egen markedsføring, videresalg, benchmarking eller analyse og bruger dem ikke til at træne AI-modeller.
1.3 Behandlingens formål
Det eneste formål med Behandlingen under denne DPA er at levere Tjenesterne som beskrevet i brugsvilkårene, §3 ("Hvad tjenesten gør").
1.4 Varighed
Behandlingen begynder, når Kunden tilslutter en datakilde eller uploader data, og fortsætter, indtil aftalen er ophørt, og genhentningsperioden i afsnit 7 er udløbet.
2. Databehandlerens forpligtelser
2.1 Dokumenterede instrukser
Klirry behandler kun Personoplysninger efter den Dataansvarliges dokumenterede instrukser. Tjenesterne, som Kunden har konfigureret dem, udgør det fuldstændige sæt af instrukser. Hvis Klirry mener, at en instruks strider mod databeskyttelsesretten, underretter Klirry den Dataansvarlige uden unødig forsinkelse.
2.2 Fortrolighed og supportadgang
Klirry sikrer, at alle personer, der er autoriseret til at behandle Personoplysninger, er underlagt en tavshedspligt. Adgang til Personoplysninger i produktion er begrænset til grundlæggeren og personer med et dokumenteret driftsbehov (mindste privilegium). Til support kan grundlæggeren åbne en konto som Kunden (impersonering); hver start og stop registreres i auditloggen med den handlende grundlægger og kontoen, og den impersonerede session vises som sådan i applikationen. Impersonering bruges kun til at besvare en supportanmodning eller undersøge en fejl.
2.3 Ingen behandling til egne formål
Klirry behandler ikke Ordredata til noget andet formål end at udføre Tjenesterne.
2.4 Internationale overførsler
Klirry overfører ikke den Dataansvarliges Personoplysninger til et land uden for EU/EØS eller til en international organisation, medmindre det sker efter den Dataansvarliges dokumenterede instrukser, eller hvor EU-retten eller en medlemsstats ret kræver det (hvorefter Klirry på forhånd underretter den Dataansvarlige, medmindre loven forbyder det). En tilladt overførsel sker kun under en mekanisme, der er gyldig efter GDPR kapitel V (en afgørelse om tilstrækkeligt beskyttelsesniveau eller standardkontraktbestemmelser med supplerende foranstaltninger, hvor det er nødvendigt). Ordredata hostes i EU; bilag 3 angiver regionen for hver underdatabehandler, herunder enhver overførsel uden for EU/EØS.
2.5 Sikkerhed og bistand (artikel 32–36)
Klirry gennemfører foranstaltningerne i bilag 2 (artikel 32) og bistår, under hensyntagen til behandlingens karakter og de oplysninger, der er til rådighed, den Dataansvarlige med at sikre overholdelse af artikel 32 til 36: anmeldelse af brud på persondatasikkerheden (afsnit 5), konsekvensanalyser vedrørende databeskyttelse og forudgående høring ved på skriftlig anmodning inden for 30 kalenderdage at levere oplysningerne om den behandling, der beskrives i denne DPA.
3. Godkendelse af underdatabehandlere
3.1 Generel godkendelse
Den Dataansvarlige giver Klirry en generel skriftlig godkendelse til at anvende Underdatabehandlere til at levere Tjenesterne, med forbehold for dette afsnit.
3.2 Nuværende Underdatabehandlere
Underdatabehandlerne er opført i bilag 3, genereret fra samme register som den offentlige side /legal/subprocessors, så de to ikke kan afvige. Bilag 3 er en del af denne DPA. En leverandør markeret "Ikke anvendt endnu" tilføjes først efter varslingen i afsnit 3.3. Værktøjer, som Klirry bruger som dataansvarlig til egne formål (fakturering, nyhedsbrev, webstedsanalyse), er ikke Underdatabehandlere af den Dataansvarliges data; de fremgår af den offentlige side kun af hensyn til gennemsigtighed.
3.2a Videreførelse af forpligtelser og ansvar
Klirry pålægger hver Underdatabehandler ved skriftlig kontrakt databeskyttelsesforpligtelser, der ikke er mindre beskyttende end dem i denne DPA (artikel 28(4)), og er fortsat fuldt ansvarlig over for den Dataansvarlige for opfyldelsen af Underdatabehandlernes forpligtelser.
3.3 Ændringer af Underdatabehandlere
Klirry underretter den Dataansvarlige om enhver påtænkt tilføjelse eller udskiftning af en Underdatabehandler mindst 30 dage i forvejen på e-mail til den Dataansvarliges kontoadresse.
3.4 Ret til at gøre indsigelse
Den Dataansvarlige kan gøre indsigelse mod en ændring ved skriftlig meddelelse til privacy@klirry.com inden for 14 dage efter varslingen. Hvis Parterne ikke kan løse indsigelsen inden for 30 dage, kan den Dataansvarlige opsige Tjenesterne med forholdsmæssig refusion af forudbetalte gebyrer for den ubrugte periode.
4. Bistand med de registreredes rettigheder
4.1 Bistandens omfang
Klirry bistår den Dataansvarlige med at besvare anmodninger efter GDPR art. 15–22 ved at:
- levere en dataeksport af alle Ordredata og Kontooplysninger, der opbevares for Kundens tenant, i JSON eller CSV, gennem selvbetjeningseksporten (Indstillinger → Eksportér dine data; formatet er dokumenteret på
/legal/export-format); - levere endelig sletning efter afsnit 7;
- besvare skriftlige anmodninger om teknisk bistand inden for 30 kalenderdage.
4.2 Begrænsning for slutforbrugeres anmodninger
Klirry gemmer ikke slutforbrugeres navne, e-mailadresser, telefonnumre eller adresser, så en slutforbruger, der kontakter Klirry direkte, kan ikke knyttes til en post. Sådanne anmodninger håndteres af den Dataansvarlige, som kan identificere ordren i sin egen butik og give Klirry ordreidentifikatoren, så Klirry kan bistå. Ordreposter forbliver pseudonymiserede personoplysninger, som den Dataansvarlige kan knytte tilbage (bilag 1, A1.2); dette afsnit begrænser, hvordan en anmodning kan nå Klirry, ikke hvad dataene er.
5. Anmeldelse af brud på persondatasikkerheden
5.1 Klirrys forpligtelser
Ved et brud på persondatasikkerheden, der berører den Dataansvarliges data, skal Klirry:
1. underrette den Dataansvarlige uden unødig forsinkelse og senest inden for 24 timer efter at være blevet bekendt med bruddet. Underretningen kan gives i etaper: en første underretning med det, der er kendt, efterfulgt af resten, efterhånden som det bliver kendt; 2. give de oplysninger, der kræves efter GDPR art. 33(3): bruddets karakter og det omtrentlige antal registrerede og poster, et kontaktpunkt, de sandsynlige konsekvenser og de trufne eller foreslåede foranstaltninger; 3. samarbejde med den Dataansvarlige, så denne kan opfylde sine egne pligter over for tilsynsmyndigheder og Registrerede; 4. ikke informere tredjeparter om bruddet på den Dataansvarliges vegne, medmindre loven kræver det.
5.2 Intern procedure
Klirry har en hændelsesprocedure og et hændelsesregister, der følger den korteste frist, der gælder: 24 timer (Dataansvarlig, Shopify), 48 timer (Stripe), 72 timer (tilsynsmyndighed, IMY, hvor Klirry selv er dataansvarlig).
6. Tekniske og organisatoriske foranstaltninger (bilag 2)
Foranstaltningerne er opført i bilag 2. Klirry kan opdatere dem, forudsat at sikkerhedsniveauet ikke sænkes.
7. Sletning og tilbagelevering ved ophør
7.1 Genhentningsperiode
Når aftalen er ophørt (opsigelse fra den Dataansvarlige, en prøveperiode, der aldrig betales, eller en pause på grund af manglende betaling), har den Dataansvarlige en genhentningsperiode, hvor alle Ordredata og Kontooplysninger kan downloades i JSON eller CSV: mindst 30 kalenderdage efter opsigelse; 30 kalenderdage fra Prøveperiodens udløb for en prøvekonto, der aldrig bliver en betalende konto (sletning dag 51 efter kontoens oprettelse); 60 kalenderdage fra pausen for en konto, der er sat på pause på grund af manglende betaling. For en Shopify-butik slettes dataene inden for 30 dage efter den sletteanmodning (redact), Shopify sender efter afinstallation.
7.2 Hvad der slettes, og hvad der beholdes
Efter genhentningsperioden sletter Klirry permanent alle Personoplysninger vedrørende Kundens tenant: Ordredata (ordrer, ordrelinjer, attributionsresultater, beslutninger), annonceforbrugsdata, optegnelser over betalingsgebyrer og fragtomkostninger, omkostningskonfiguration, forbindelser og deres loginoplysninger, brugere, sessioner og tokens samt de driftsoptegnelser, der opstår ved Kundens brug af produktet (feedback, notifikationsindstillinger, status for omkostningsgennemgang, klassifikationshistorik, beslutningskvitteringer, opgaver, leveringsloggen for transaktionelle e-mails). Sletningen udføres i batchede transaktioner af den automatiske sletningspipeline.
De eneste data, der beholdes, er opført udtømmende nedenfor, hver med opbevaringstid og retsgrundlag. Dette er den ene opbevaringstabel, der bruges i privatlivspolitikken, denne DPA, fortegnelsen over behandlinger, dataoversigten og siden om sletning af data. Ordredata står aldrig i denne tabel: de slettes.
| Data | Opbevaring | Retsgrundlag |
|---|---|---|
| Kundedata, mens kontoen findes (ordrer, ordrelinjer, annonceforbrug, omkostninger, forbindelser, brugere, indstillinger, rapporter) | Så længe kontoen findes | Kontrakt; for Ordredata Kundens instruks som dataansvarlig (GDPR art. 28) |
| Kundedata efter opsigelse, efter en prøveperiode, der aldrig betales, eller efter pause på grund af manglende betaling | Genhentningsperiode med fuld JSON/CSV-eksport, derefter endelig sletning bekræftet på e-mail: efter opsigelse mindst 30 dage; efter en prøveperiode, der aldrig betales, 30 dage fra prøveperiodens udløb (dag 51 efter kontoens oprettelse); efter pause på grund af manglende betaling 60 dage fra pausen (dag 7 efter den første mislykkede betaling) | EU's dataforordning art. 25(2); GDPR art. 28(3)(g) |
| Shopify-butiksdata efter afinstallation af appen (shop/redact) | Slettes inden for 30 dage efter sletningsanmodningen | Shopify API Terms 6.2.3 |
| Egne fakturaer, kreditnotaer og regnskabsmateriale, herunder VIES-resultatet og stedsbeviset bag hver faktura | 7 år efter regnskabsårets udgang | Bokföringslagen (1999:1078) 7 kap. 2 §; GDPR art. 6(1)(c) og 17(3)(b) |
| Momsoptegnelser for One-Stop Shop (OSS) | 10 år efter transaktionsårets udgang | Mervärdesskattelagen (2023:200); GDPR art. 6(1)(c) |
| Bevis for accept: vilkårenes version, tidspunkt, konto, accepterende bruger, acceptmetode | 10 år fra accepten (den almindelige forældelsesfrist), pseudonymiseret, når kontoen er slettet | GDPR art. 6(1)(f) og 5(2): bevis for aftalen i et retskrav |
| Auditlog over sikkerhedsrelevante handlinger | Mens kontoen findes; efter sletning 6 måneder, pseudonymiseret, derefter slettet | GDPR art. 6(1)(f): sikkerhed, forebyggelse af svig, retskrav |
| Nøglebaseret HMAC-identifikator brugt til at opdage misbrug af prøveperioder (kan ikke omskabes uden nøglen; pseudonymiseret, ikke anonym). Den blokerer en anden prøveperiode kun, når den tidligere prøveperiode aldrig blev betalt | 12 måneder fra den første prøveperiodes start | GDPR art. 6(1)(f): forhindre gentagne gratis prøveperioder |
| Supportkorrespondance (e-mails mellem en kunde og Klirrys support) | 12 måneder efter den sidste besked i samtalen | GDPR art. 6(1)(f): besvare opfølgende spørgsmål og forsvare et krav; slettes derefter |
| Undertrykkelsesliste for e-mail (en adresse, der er returneret, har klaget eller har afmeldt sig; kun adressen, uden kobling til en konto) | Ingen fast udløbsdato: opbevares, så adressen aldrig mailes igen, indtil ejeren beder om fjernelse | GDPR art. 6(1)(f); ePrivacy og Marknadsföringslagen (2008:486) 19 § |
| Sletningsbekræftelser (dato og rækkeantal, med en hash i stedet for kontoen) | 3 år | GDPR art. 5(2) og 17: bevis for, at sletning har fundet sted |
| Anmodninger fra Meta om sletning af data (tilfældig bekræftelseskode, en nøglestyret hash af Metas bruger-id, status og datoer; ikke navn eller e-mail) | 3 år | GDPR art. 5, stk. 2, og 17: bevis for, at den sletning, Meta videresendte, blev gennemført |
| Transaktionsmails i jobkøen (modtageradresse og de værdier, der indsættes i meddelelsen) | En sendt mail: 1 time, og værdierne ryddes i samme øjeblik, den sendes. En mail, der mislykkedes endegyldigt: værdierne ryddes ved sidste forsøg, og jobbet gemmes højst 7 dage | GDPR art. 6, stk. 1, litra b og f: levere meddelelsen og fejlfinde en mislykket levering |
| Nøglebaseret HMAC af en transportørs sporingsnummer på en ordre | 180 dage efter ordredatoen | Databehandler: Kundens instruks (matching af transportørfakturaer) |
| Nyhedsbrevstilmeldinger | Indtil afmelding; en afmeldt adresse bliver på undertrykkelseslisten; en ubekræftet tilmelding slettes efter 30 dage | GDPR art. 6(1)(a) samtykke; Marknadsföringslagen 19 § |
| Webstedsanalyse (kun efter den besøgendes samtykke) | 13 måneder | GDPR art. 6(1)(a) samtykke; ePrivacy |
| Fejlrapporter (Sentry) | Højst 30 dage | GDPR art. 6(1)(f): holde tjenesten kørende |
| Krypterede databasesikkerhedskopier | Dumps før udgivelse: 14 dage. En natlig kopi uden for serveren er endnu ikke i drift og vil blive opbevaret højst 30 dage. Slettede data forsvinder fra sikkerhedskopierne inden for den tid | GDPR art. 32: tilgængelighed og genoprettelse |
| Posten om en sletningsanmodning (status og den adresse, bekræftelsen blev sendt til) | 7 dage efter at sletningen er bekræftet pr. mail; det varige bevis er sletningsattesten (3 år, ingen personoplysninger) | GDPR art. 6, stk. 1, litra f: vise kunden, at sletningen blev gennemført |
| Tokens til nulstilling af adgangskode, mailbekræftelse og invitation (hashede; en invitation indeholder også den inviteredes mailadresse), samt affiliatepartneres loginlinks og sessioner (hashede) | 7 dage efter at tokenet udløb eller blev brugt | GDPR art. 6, stk. 1, litra f: sikker login og svar på spørgsmål om udløbne links |
| Log over hændelser, Stripe har sendt (hændelses-id, type, en nyttelast uden personoplysninger), så dubletter ignoreres | 90 dage efter modtagelsen | GDPR art. 6, stk. 1, litra f: behandle hver faktureringshændelse én gang og fejlfinde |
| Et klik på et partnerlink, som ingen tilmelding fulgte efter (kun partner og tidspunkt; ingen besøgsidentifikator) | 120 dage efter klikket. Et klik, der førte til en tilmelding, bliver et anonymt tal for partneren, når kontoen slettes | GDPR art. 6, stk. 1, litra f, og art. 5, stk. 1, litra e: kreditere en partner inden for attributionsvinduet på 90 dage |
| Kontaktoplysninger for en affiliatepartner (navn eller etiket, kontaktadresse, udbetalingsmetode) | Så længe partneraftalen gælder; slettes 12 måneder efter, at partneren er suspenderet eller, hvis aldrig aktiveret, efter sidste ændring. Udbetalingsbilag følger rækken for fakturaer | GDPR art. 6, stk. 1, litra b partneraftalen; litra f gennemgangen for svindel bagefter |
| Baggrundsjob, der mislykkedes endegyldigt (tenant- og forbindelses-id og fejlteksten), gemt til fejlfinding | 30 dage efter fejlen (mailjob: højst 7 dage, se rækken for mailkøen) | GDPR art. 6, stk. 1, litra f: fejlfinde og genkøre et mislykket job |
| IP-adresse i en nøgle til hastighedsbegrænsning (Redis), for at bremse misbrug af login og API | 2 minutter efter sidste anmodning; tællere for andet-faktor-forsøg 30 minutter | GDPR art. 6, stk. 1, litra f: beskytte konti mod gætteri |
| Applikations- og proxylogs på serveren (sti, status, tid; hemmeligheder og personoplysninger fjernes før logning) | Roteres efter størrelse, ikke efter tid: højst 250 MB pr. container og 1 GB værtsjournal; ældre linjer overskrives. Fejldetaljer ud over det findes i fejlovervågningen (30 dage) | GDPR art. 6, stk. 1, litra f, og art. 32: drive og sikre tjenesten |
7.3 Bekræftelse af sletning
Klirry sender en bekræftelse af sletningen til den Dataansvarliges kontoadresse inden for 5 arbejdsdage efter sletningen med dato og berørte tabeller (antal, ikke indhold).
7.4 Afbrudt ophør
Hvis den Dataansvarlige genaktiverer sit abonnement inden for genhentningsperioden, annulleres sletningen, og intet er slettet.
8. Revisionsret
8.1 Information
Klirry stiller al information til rådighed for den Dataansvarlige, som er nødvendig for at påvise overholdelse af GDPR art. 28, herunder denne DPA og dens bilag, de relevante dele af sin sikkerhedsdokumentation og, når de findes, sammendrag af tredjepartsrevisioner eller penetrationstest.
8.2 Revisioner og inspektioner
Den Dataansvarlige (eller en revisor, som denne udpeger under tavshedspligt) kan revidere Klirrys overholdelse af denne DPA. Revisioner gennemføres først ved dokumentation og sikkerhedsrapporter; hvor det ikke er nok, ved en inspektion med rimeligt varsel (normalt 30 dage), i arbejdstiden, én gang om året, medmindre der foreligger et brud, eller en tilsynsmyndighed kræver mere, uden urimelig forstyrrelse af tjenesten og uden adgang til andre kunders data. Klirrys samtykke kræves ikke til en revision, som GDPR giver den Dataansvarlige ret til; disse praktiske regler regulerer kun, hvordan den gennemføres. Platformsoperatører (for eksempel Shopify) kan også gennemgå Klirry, som deres vilkår kræver.
8.3 Ansvar
Klirrys ansvar efter denne DPA følger begrænsningen i brugsvilkårene, §13 ("Ansvar") — det højeste af de gebyrer, der er betalt i de 12 måneder før kravet, og 10.000 SEK, med de samme undtagelser for forsæt, grov uagtsomhed og ansvar, der ikke kan begrænses ved lov — medmindre præceptiv lov kræver andet.
9. Lovvalg og værneting
Denne DPA er underlagt svensk ret, ligesom brugsvilkårene (§20). Tvister afgøres af samme domstol som efter brugsvilkårene: Växjö tingsrätt (Växjö byret) som første instans.
10. Platformsspecifikke bestemmelser
Google Ads (Google Ads API Terms §7(B)). Hvor den Dataansvarlige tilslutter en Google Ads-konto, er denne DPA den skriftlige kontrakt med Google Ads-programkunden, som kræves efter §7(B)(i): den beskriver behandlingen, og Klirry bekræfter, at det behandler personoplysninger i overensstemmelse med den Dataansvarliges egne forpligtelser efter Googles gældende databeskyttelsesvilkår (§7(B)(ii)) — kun for at levere Tjenesterne, uden videre brug, salg eller brug til benchmarks eller AI-træning.
Shopify, Meta og andre. Platformdata bruges kun for den Dataansvarlige, der tilsluttede dem, holdes adskilt fra alle andre kunders data og bruges ikke på tværs af kunder.
Indgåelse
Denne DPA er en del af, og indgås når Kunden accepterer, brugsvilkårene (herunder accept under tilmelding eller ved installation fra Shopify); ingen særskilt underskrift kræves. En Kunde, der har brug for en underskrevet kopi, kan anmode om en på privacy@klirry.com.
Bilag 1 — Registrerede og kategorier af Personoplysninger
A1.1 Kategorier af Registrerede
| Kategori | Beskrivelse | Bemærkninger |
|---|---|---|
| Kontobrugere | Kundens medarbejdere, der bruger Klirrys dashboard | Kun arbejds-e-mail (intet navnefelt). Den dataansvarliges område; vist til information (A1.4). |
| Slutforbrugere | Kundens butikskunder, hvis ordrer importeres | Ingen direkte kontaktoplysninger (navn, e-mail, telefon, adresse) importeres. Ordreposter forbliver pseudonymiserede personoplysninger, som den Dataansvarlige kan knytte tilbage. Se A1.2. |
A1.2 Kategorier af Personoplysninger — Ordredata
| Felt | Kategori | Formål | Bemærkninger |
|---|---|---|---|
| Eksternt ordre-ID | Pseudonymiseret identifikator | Fjernelse af dubletter og opdatering | Pseudonymiserede personoplysninger: den Dataansvarlige kan slå det op i sin butik for at nå en navngiven person |
| Ordrenummer | Pseudonymiseret identifikator | Reference i dashboardet og eksporten | Som ovenfor |
| Ordredato og tidspunkt | Tidsmæssig | Periodeaggregering | ISO 8601 |
| Bestemmelsesland | Geografisk (landeniveau) | Momsopslag | Kun land — intet under landeniveau |
| Valuta, ordretotal, momsbeløb, opkrævet fragt, rabat | Finansiel | Overskudsberegning | Heltal i mindste enhed |
| Navn på betalingsmåde | Operationel | Fordeling af betalingsgebyrer | For eksempel "klarna", "card" — ingen kortnumre |
| Navn på forsendelsesmåde; flag for sporet forsendelse | Operationel | Fordeling af fragtomkostning | Navn i fritekst passerer et personoplysningsfilter |
| Finansiel status, leveringsstatus, refunderet beløb | Operationel / Finansiel | Nettoomsætning, håndtering af refusioner | |
| Ordrelinjer: SKU, titel, antal, enhedspris | Operationel | Fordeling af vareomkostning | Titel i fritekst passerer et personoplysningsfilter |
Kampagneparametre fra landingssidens adresse: utm_source, utm_medium, utm_campaign, utm_content | Markedsføring | Annonceattribution | Fritekst |
fbclid_present, gclid_present | Markedsføring | Annonceattribution | Booleske værdier for til stede/ikke til stede; selve klikidentifikatoren gemmes aldrig |
tracking_hmac | Pseudonymiseret identifikator | Matche transportørfakturaer med ordrer | En nøglebaseret HMAC pr. kunde af transportørens sporingsnummer; selve nummeret gemmes ikke; ryddes 180 dage efter ordredatoen |
| Afregningsposter fra betalingsudbydere (Stripe, Klarna, PayPal) | Finansiel | Faktiske betalingsgebyrer pr. ordre | Udbyder, opkrævningsreference, gebyrbeløb, valuta, tidspunkt for indløsning; fra udbyderens API eller en uploadet fil (for eksempel Klarna-afregning) |
| Transportørfakturalinjer (PostNord, DHL, GLS) | Finansiel | Faktisk fragtomkostning pr. ordre | Transportør, fakturareference, omkostning, valuta, matchet via tracking_hmac; uploadet af den Dataansvarlige |
| Annoncedata (Meta, Google Ads; TikTok når tilgængelig) | Markedsføring | Annonceforbrug og resultater | Identifikatorer og navne på kampagne, annoncesæt og annonce, forbrug, klik, visninger pr. dag; ingen data om de personer, der ser annoncerne |
| Sammendragsdata fra Google Analytics 4 (når tilsluttet) | Markedsføring | Kun vejledende signal | Aggregerede sessioner og konverteringer; indgår aldrig i overskudstallet |
| Omkostningsindstillinger indtastet af den Dataansvarlige | Operationel | Overskudsberegning | Ikke personoplysninger om slutforbrugere |
A1.3 Udtrykkelig negativliste — data, der IKKE indsamles
Udelukket på adapterens forespørgselsniveau (ikke hentet, ikke tilknyttet, ikke fjernet efter hentning):
- Kundens navn, e-mail, telefon, adresse (gade, postnummer, by)
- IP-adresse, user agent, browseroplysninger for slutforbrugere
- Rå sporingsnumre fra transportører og rå klikidentifikatorer
- Geografiske data under landeniveau
- Svenske personnumre eller tilsvarende
- Betalingskortnumre eller bankoplysninger
- Navne på medarbejdere eller sælgere ved refusioner
- Brugerdefinerede attributter, ordrenoter og andre fritekstfelter, der vender mod kunden (undtagen produktets
title, som passerer personoplysningsfilteret)
Disse udelukkelser håndhæves i Klirrys kode til dataindlæsning, ikke kun ved politik.
A1.4 Kontooplysninger (den dataansvarliges område, til information)
| Felt | Bemærkninger |
|---|---|
| Arbejds-e-mailadresse | Loginidentifikator |
| Adgangskode (argon2id-hash) | Kun hash |
| Rolle (ejer / medlem) | Adgangsstyring |
| TOTP-hemmelighed (krypteret med AES-256-GCM) | Hvis tofaktorautentificering er slået til |
| Poster i auditloggen | Handling, handlende bruger, tid, renset metadata |
Kontooplysninger behandles af Klirry som dataansvarlig og ligger uden for denne DPA's artikel 28-omfang.
Bilag 2 — Tekniske og organisatoriske foranstaltninger (TOM)
Følgende kontroller er gennemført pr. datoen for denne DPA.
| # | Kontrol | Gennemførelse |
|---|---|---|
| 1 | Kryptering i hvile — loginoplysninger | AES-256-GCM med tilfældig 12-byte IV; nøgler gemmes adskilt fra data |
| 2 | Tenantisolering — Row Level Security | PostgreSQL RLS på alle tenanttabeller; manglende kontekst → nul rækker; en RLS-testsuite køres før hver udgivelse |
| 3 | Autentificering | argon2id-hashing af adgangskoder; blokering af almindelige adgangskoder; valgfri TOTP |
| 4 | Hastighedsbegrænsning | Glidende vindue i Redis til hastighedsbegrænsning på alle autentificeringsendepunkter |
| 5 | Indtag uden personoplysninger | Adaptere henter aldrig kunders navne, e-mailadresser, adresser eller telefonnumre; et personoplysningsfilter er en anden forsvarslinje |
| 6 | Logning uden personoplysninger | Central logger renser e-mail- og tokenmønstre før udskrivning |
| 7 | Datalagring i EU | Produktionsdatabase og applikation kører på Hetzners infrastruktur i Tyskland. Fejlovervågning bruger en EU-datalokation hos en amerikansk udbyder (bilag 3, med standardkontraktbestemmelser); e-maillevering bruger en EU-udbyder |
| 8 | Sikkerhedskopier | Krypterede (age) databasedumps tages og genoprettelsesverificeres før hver udgivelse og ryddes efter 14 dage. En planlagt natlig kopi uden for serveren til en Hetzner Storage Box (højst 30 dage) er forberedt, men endnu ikke i drift; denne række opdateres, når den er det |
| 9 | Adgangslog | Hver autentificerings-, admin- og omkostningsskrivehandling registreres i en append-only auditlog; supportimpersonering logges |
| 10 | Hemmelighedsscanning | gitleaks pre-commit-hook og i testkørslen før udgivelse; egne regler for platformsnøgler |
| 11 | Scanning for sårbarheder i afhængigheder | pnpm audit --audit-level=high i testkørslen før udgivelse |
| 12 | Sikkerhedsheadere | CSP, HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy |
| 13 | CSRF-beskyttelse | Kontrol af Sec-Fetch-Site / Origin på alle muterende endepunkter |
| 14 | Inputvalidering | Zod-skemavalidering på alle API-input; grænse for kropsstørrelse |
| 15 | Fratrædelsesprocedure | Tjekliste til at tilbagekalde adgang, når en person stopper |
| 16 | Hændelseshåndtering | Skriftlig procedure med fristerne 24/48/72 timer og et hændelsesregister |
| 17 | Udgivelsesport | Hver udgivelse består hele testkørslen (lint, typer, enhed, RLS, integration, ende-til-ende) og en genoprettelsesverificeret sikkerhedskopi, før den sættes i drift |
Klirry kan til enhver tid styrke disse foranstaltninger, men vil ikke svække dem væsentligt.
Bilag 3 — Underdatabehandlere
| Underdatabehandler | Formål | Region | Personoplysninger | Status |
|---|---|---|---|---|
| Hetzner Online GmbH | Cloud-hosting: servere, database, lagringsvolumener og krypterede sikkerhedskopier | Tyskland (Falkenstein) | Alle Ordredata og alle Kontooplysninger | Anvendt |
| Scaleway SAS | Kun transaktionelle e-mails: konto-, sikkerheds-, prøveperiode- og meddelelsesmails (aldrig markedsføring) | Frankrig (Paris, fr-par) | E-mailadresser på Kundens brugere og indholdet af de beskeder, der sendes til dem | Ikke anvendt endnu; 30 dages varsel (3.3) |
| Functional Software, Inc. (Sentry) | Fejlovervågning og nedbrudsrapportering | EU-datalokation (de.sentry.io); udbyderen er et amerikansk selskab | Rensede stakspor og tenant- eller brugeridentifikatorer (UUID'er); ingen personoplysninger efter konfigurationen (et beforeSend-filter fjerner personoplysninger, herunder svenske personnumre) | Ikke anvendt endnu; 30 dages varsel (3.3) |
En leverandør markeret "Ikke anvendt endnu" tilføjes først efter varslingen i afsnit 3.3, under en skriftlig aftale, der opfylder afsnit 3.2a, og kun hvis den behandler data i EU/EØS eller under en gyldig mekanisme i kapitel V (afsnit 2.4).
Bilag 4 — Tilsluttede platforme (datakilder, du vælger)
Platformene nedenfor er kundens egne: kunden vælger at tilslutte dem, og Klirry læser fra dem (eller, for et meddelelsesmål, sender til dem) efter kundens dokumenterede instruks i henhold til denne databehandleraftale. De er datakilder og mål, som kunden vælger, ikke underdatabehandlere hos Klirry: Klirry bruger dem ikke til at behandle kundens data. Adgangen er skrivebeskyttet, hvor tabellen angiver det, og kunden kan til enhver tid tilbagekalde den på den måde, den sidste kolonne beskriver.
| Platform | Rolle | Hvad Klirry læser eller sender | Adgang | Sådan tilbagekalder du adgangen |
|---|---|---|---|---|
| Shopify | Kildeplatform og betalingskanal. Shopify Inc. (Canada) og Shopify Commerce Singapore Pte. Ltd. er Klirrys modparter under Partner Program Agreement; forhandleren har aftale med Shopify International Limited (Irland). Klirry læser ordrer og produkter med tilladelserne read_orders og read_products; Shopify er en selvstændig dataansvarlig for sine egne data og ikke underdatabehandler for Klirry. | Ordrer og produkter (tilladelserne read_orders og read_products). Intet kundenavn, ingen mailadresse, adresse eller telefon gemmes | Skrivebeskyttet | Afinstaller appen i Shopify-admin, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| Meta | Kildeplatform for annonceforbrug og resultater (tilladelsen ads_read). Meta er en selvstændig dataansvarlig; Klirry er ikke Metas databehandler, og Meta er ikke Klirrys underdatabehandler. | Annonceudgifter og resultater pr. annoncekonto (tilladelsen ads_read) | Skrivebeskyttet | Fjern Klirry blandt tilsluttede apps i dine Meta-virksomhedsindstillinger, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| Kildeplatform for Google Ads-forbrug (planlagt) og Google Analytics 4 som vejledende signal (planlagt, aldrig i overskudstallet). Google er en selvstændig dataansvarlig. | Google Ads-udgifter og Google Analytics 4-sessioner (begge planlagt; aldrig en del af overskudstallet) | Skrivebeskyttet | Fjern Klirry under tredjepartsadgang i din Google-konto, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) | |
| TikTok | Planlagt kildeplatform for annonceforbrug. Ikke tilsluttet i dag. TikTok er en selvstændig dataansvarlig. | Annonceudgifter (planlagt; ikke tilsluttet i dag) | Skrivebeskyttet | Fjern Klirry i dine TikTok-virksomhedsindstillinger, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| WooCommerce | Forberedt, tilbydes endnu ikke kunder. Kildeplatform: din egen WooCommerce-butik, som du selv driver. Klirry kalder butikkens REST-API på den adresse, du angiver. Butiksejeren er dataansvarlig; Klirry er ikke butikkens databehandler, og butikken er ikke Klirrys underdatabehandler. | Ordrer og ordrelinjer fra butikkens REST-API. Intet kundenavn, ingen mailadresse, adresse eller telefon gemmes | Skrivebeskyttet (en læsenøgle, du opretter) | Slet REST API-nøglen i WooCommerce (Indstillinger, Avanceret, REST API), eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| PrestaShop | Forberedt, tilbydes endnu ikke kunder. Kildeplatform: din egen PrestaShop-butik, som du selv driver. Klirry kalder butikkens Webservice på den adresse, du angiver. Butiksejeren er dataansvarlig; Klirry er ikke butikkens databehandler. | Ordrer og ordrelinjer fra butikkens Webservice. Intet kundenavn, ingen mailadresse, adresse eller telefon gemmes | Skrivebeskyttet (en Webservice-nøgle, du opretter) | Slet nøglen under Avancerede parametre, Webservice i PrestaShop, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| Shopware 6 | Forberedt, tilbydes endnu ikke kunder. Kildeplatform: din egen Shopware 6-butik. Klirry kalder butikkens Admin-API på den adresse, du angiver. Butiksejeren er dataansvarlig; Klirry er ikke butikkens databehandler. | Ordrer og ordrelinjer via en søgeanmodning (en læsning; der sendes ingen ændringer). Intet kundenavn, ingen mailadresse, adresse eller telefon gemmes | Skrivebeskyttet (en integration, du opretter) | Slet integrationen under Indstillinger, System, Integrationer i Shopware, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| BigCommerce | Forberedt, tilbydes endnu ikke kunder. Kildeplatform. BigCommerce er selvstændigt dataansvarlig for egne data; Klirry er ikke dens databehandler, og BigCommerce er ikke Klirrys underdatabehandler. | Ordrer (REST-API v2). Intet kundenavn, ingen mailadresse, adresse eller telefon gemmes | Skrivebeskyttet (en API-konto på butiksniveau med kun læseadgang til ordrer) | Slet API-kontoen i din BigCommerce-butik, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| Wix | Forberedt, tilbydes endnu ikke kunder. Kildeplatform. Wix er selvstændigt dataansvarlig for egne data; Klirry er ikke dens databehandler, og Wix er ikke Klirrys underdatabehandler. | Ordrer (søgning i eCommerce-ordrer, en læsning). Intet kundenavn, ingen mailadresse, adresse eller telefon gemmes | Skrivebeskyttet (en API-nøgle med tilladelsen Læs eCommerce-ordrer) | Slet API-nøglen i din Wix-konto, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| Quickbutik | Forberedt, tilbydes endnu ikke kunder. Kildeplatform. Quickbutik er selvstændigt dataansvarlig for egne data; Klirry er ikke dens databehandler, og Quickbutik er ikke Klirrys underdatabehandler. | Ordrer via butikkens API (kun JSON GET). Intet kundenavn, ingen mailadresse, adresse eller telefon gemmes | Skrivebeskyttet (butikkens API-nøgle, du opretter) | Slet eller forny API-nøglen i din Quickbutik-konto, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| PayPal | Forberedt, tilbydes endnu ikke kunder. Kilde til betalingsgebyrer. PayPal er selvstændigt dataansvarlig for egne data; Klirry er ikke dens databehandler, og PayPal er ikke Klirrys underdatabehandler. | Transaktioner og deres gebyrer fra rapporten Transaction Search. Intet betalernavn eller ingen mail gemmes | Skrivebeskyttet (en REST-app, du opretter med Transaction Search) | Slet REST-appen i PayPals udviklerpanel, eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| Stripe (din egen Stripe-konto) | Forberedt, tilbydes endnu ikke kunder. Kilde til betalingsgebyrer fra den Stripe-konto, DU har hos Stripe. Det er et andet forhold end Klirrys egen brug af Stripe til at fakturere sine kunder (se leverandørlisten): her er Stripe selvstændigt dataansvarlig for dine kontodata, og Klirry læser dem kun. | Betalinger og saldotransaktioner, for at lære de faktiske gebyrer. Ingen kortindehaver- eller kundeoplysninger gemmes | Skrivebeskyttet (en begrænset nøgle med Charges: Read og Balance Transactions: Read) | Slet den begrænsede nøgle i dit Stripe-panel (Developers, API keys), eller afbryd den i Klirry under Indstillinger, Forbindelser (Klirry holder straks op med at læse) |
| Slack (dit eget arbejdsområde) | Et mål, DU vælger: hvis du indsætter en indgående webhook-URL fra dit eget Slack-arbejdsområde, sender Klirry alarmer dertil ud over mail. Klirry har ikke noget eget Slack-arbejdsområde, der modtager kundedata. Slack er selvstændigt dataansvarlig for meddelelserne i dit arbejdsområde; Slack er ikke Klirrys underdatabehandler. | Intet læses. Klirry sender beslutningssætningen fra en alarmmail og et link til beslutningssiden til den webhook, du har oprettet | Kun afsendelse, til din egen webhook | Slet den indgående webhook i Slack, eller fjern Slack-adressen i Klirry under Indstillinger |
Ændringslog
Hver post angiver versionen, datoen og hvad der er ændret. En ændring af hovedversionens nummer er en væsentlig ændring: den varsles over for kunderne på e-mail mindst 30 dage, før den træder i kraft.
| Version | Dato | Ændring |
|---|---|---|
| 1.0 | 2026-10-10 | Første offentliggjorte version. |
| 1.1 | 2026-10-11 | Bilag 4 (tilsluttede platforme) tilføjet; opbevaringstabellen udvidet med nye klasser; Stripe markeret som planlagt indtil live-tilstand. Mindre ændring: ingen kunde er i live-tilstand endnu, ingen underdatabehandler tilføjes, og perioder bliver kun kortere eller gælder nye klasser, så der er ingen 30 dages varsel. |