1. Hvad er cookies (kort version)
En "cookie" er en lille tekstfil, som en hjemmeside lægger i din browser. Den bruges typisk til at huske dig mellem besøg — for eksempel hvilket sprog du har valgt, eller om du er logget ind.
Når vi i denne politik skriver "cookies", mener vi også andre lokale lagringsteknologier der virker på lignende måde:
- localStorage og sessionStorage — også små lagre i din browser, men håndteres lidt anderledes end klassiske cookies
- IndexedDB — en mere fleksibel browserdatabase
- Browser fingerprinting — teknikker der genkender din browser baseret på dens karakteristika (skærmstørrelse, fonts, osv.). Bruges af for eksempel Stripe til bedrageribekæmpelse.
Dansk lov (Cookiebekendtgørelsen) regulerer alle disse teknologier sammen. Det er ikkekun cookies i klassisk forstand — det er hvad der bliver gemt på din enhed (dit "terminaludstyr").
2. Hvilke kategorier af cookies vi bruger
Vi opdeler cookies i tre kategorier. Du kan give eller tilbagekalde samtykke for hver kategori separat (undtagen nødvendige, som er — netop — nødvendige for at tjenesten overhovedet kan virke).
2.1 Strengt nødvendige cookies (sættes altid, kræver ikke samtykke)
Disse cookies og lokale lagringsentries er nødvendige for at du overhovedet kan bruge Joey. De aktiveres når du logger ind, betaler, eller gør valg i cookie-banneren. Uden dem kan tjenesten ikke fungere.
| Navn / formål | Hvor sættes den | Type | Levetid | Hvorfor nødvendig |
|---|---|---|---|---|
Supabase auth-session (typisk sb-<project>-auth-token) | Supabase (vores autentificeringsleverandør) | localStorage | Indtil du logger ud eller sessionen udløber (typisk 7 dage med automatisk refresh) | Husker at du er logget ind så du ikke skal indtaste adgangskode for hver side. Uden den fungerer hele Joey-appen ikke. |
joey.consent.v1 | Joey selv | localStorage | 12 måneder eller indtil du ændrer dine valg | Husker dine cookie-valg så vi ikke spørger igen ved hvert sidebesøg. |
Stripe-cookies (for eksempel __stripe_mid, __stripe_sid) | Stripe (vores betalingsleverandør) | Cookies | Session til 1 år | Bedrageribekæmpelse under betaling. Kræves for at gennemføre betaling sikkert. |
Next.js interne cookies (for eksempel next-auth.session-token hvis aktiveret, locale-cookies) | Joey selv via Next.js | Cookies / localStorage | Session | Sikrer at routing og state håndteres korrekt mellem sider. |
Hvad du skal vide: Strengt nødvendige cookies kræver ikke samtykke under dansk og europæisk lov, fordi de er en forudsætning for at levere den tjeneste du har bedt om (login, betaling, valg-hukommelse). Det betyder også at du ikke kan slå dem fra og samtidig bruge Joey — hvis du blokerer dem i din browser, vil tjenesten ikke virke.
2.2 Analyse (kræver dit aktive samtykke, er som standard slået fra)
Vi bruger PostHog til at forstå hvordan Joey bliver brugt — hvilke funktioner er populære, hvor folk falder fra, hvilke fejl opstår. Det hjælper os med at gøre produktet bedre.
| Navn / formål | Hvor sættes den | Type | Levetid | Hvad den indeholder |
|---|---|---|---|---|
| PostHog product analytics | PostHog (EU Cloud, Frankfurt) | Ingen cookies eller localStorage — PostHog er konfigureret i persistence: 'memory'-mode | Kun i hukommelsen mens du har fanen åben. Når du lukker fanen, er alt væk. | Klik, sidevisninger, hvilke funktioner du bruger. Knyttes til en midlertidig session-ID der nulstilles ved hver session. |
| PostHog session-recording (10% stikprøve i produktion) | PostHog (EU Cloud, Frankfurt) | Ingen cookies eller localStorage — også memory-only | Kun i hukommelsen. Optagelser uploades løbende, men der gemmes ikke noget på din enhed. | Maskeret visuel optagelse af din session. Alle inputfelter er automatisk maskeret — vi ser ikke hvad du skriver, kun hvor du klikker. |
Hvad du skal vide:Joey's analyse-implementering er bevidst designet som "cookieless" — vi gemmer ingen analyse-data på din enhed. Strengt taget træder samtykke-kravet derfor først i kraft, hvis vi senere tilføjer cookies eller anden persistent lagring til analyse. Vi har valgt at bede om dit samtykke under "Analyse" alligevel, fordi PostHog stadig modtager data om din adfærd — selvom det er midlertidigt og maskeret.
Hvis du har valgt "Kun nødvendige" eller "Afvis alle" i cookie-banneren, deaktiveres PostHog helt (opt_out_capturing()-kald). Hvis du har valgt "Accepter alle" eller aktiveret "Analyse" i cookie-indstillinger, aktiveres PostHog (opt_in_capturing()-kald).
2.3 Markedsføring (kræver dit aktive samtykke, ingen er aktive i dag)
Vi bruger i dag ingen markedsføringscookies. Banneret tilbyder kategorien "Markedsføring", fordi vi forbereder en eventuel fremtidig integration med for eksempel Google Analytics 4, Google Ads eller Meta Pixel, så vi kan respektere dit valg fra dag ét, hvis vi tilføjer dem senere.
Google Consent Mode v2 sender som standard ad_storage: 'denied' oganalytics_storage: 'denied', så hvis vi senere tilføjer GA4 eller Meta Pixel, respekterer de straks din "afvis"-standard. Ingen markedsføringspixels er aktive i dag. Hvis vi tilføjer dem, opdaterer vi denne politik og varsler dig før de aktiveres.
3. Tredjeparter der sætter cookies eller modtager data
Selv om vi prøver at minimere antallet af tredjepartscookies, sætter visse leverandører deres egne cookies eller modtager data fra din browser. Her er hvem og hvorfor:
| Tredjepart | Kategori | Formål | Hvor data sendes |
|---|---|---|---|
| Supabase (auth) | Nødvendig | Login-session | Frankfurt, Tyskland (EU) |
| Stripe (betaling) | Nødvendig | Bedrageribekæmpelse under betaling | Dublin, Irland (EU primær) + global Stripe-infrastruktur |
| PostHog (analyse) | Analyse | Produktanalyse (memory-only, ingen lagring på din enhed) | Frankfurt, Tyskland (EU) |
| Sentry (fejlsporing) | Nødvendig (intern fejlhåndtering) | Indfangning af fejl og crashes. Sentry's klient-SDK sender stack traces og browser-metadata. Personoplysninger filtreres automatisk fra inden afsending. | EU-region |
Det fulde overblik over alle leverandører — også dem der ikke sætter cookies men behandler data — finder du på vores underdatabehandlere-side.
4. Hvordan giver og tilbagekalder du samtykke
4.1 Første gang du besøger Joey
Når du besøger joey.dk første gang, vises cookie-banneret nederst på siden. Banneret er ikkelukbar med et "X" — du skal aktivt vælge én af tre muligheder:
- "Accepter alle" — Du giver samtykke til både analyse og markedsføring.
- "Kun nødvendige" — Kun strengt nødvendige cookies sættes. Analyse og markedsføring forbliver slået fra.
- "Tilpas" — Du åbner cookie-indstillinger og vælger separat for analyse og markedsføring.
Indtil du har truffet et valg, sættes kun strengt nødvendige cookies. Analyse og markedsføring aktiveres aldrig før du har givet aktivt samtykke.
Hvad du skal vide:Vi bruger ikke forhåndsudfyldte ("pre-ticked") afkrydsningsfelter, og vi tolker ikke fortsat brug af siden som samtykke. Det er et bevidst designvalg for at overholde dansk og europæisk samtykkepraksis.
4.2 Hvor du finder dine valg gemt
Dit valg gemmes i din browser i en localStorage-entry kaldet joey.consent.v1. Den indeholder versionsnummer, tidsstempel for samtykke, og dine præferencer. Hvis du rydder din browsers data eller bruger en anden browser/enhed, vises banneret igen og du skal vælge på ny.
4.3 Hvordan du ændrer dine valg senere
Du kan til enhver tid ændre dit samtykke ved at klikke på "Cookie-indstillinger"nederst på en hvilken som helst side på joey.dk eller inde i selve appen. Dér kan du slå analyse og markedsføring til eller fra, eller trække dit samtykke tilbage helt ("Afvis alle").
Ændringer træder i kraft øjeblikkeligt for alle nye sidevisninger. For nuværende session betyder det, at for eksempel PostHog deaktiveres straks (posthog.opt_out_capturing() + stopSessionRecording()).
4.4 Cookies på enhedsniveau
Hvis du vil have endnu mere kontrol, kan du også styre cookies direkte i din browser via dens privatlivsindstillinger. Bemærk: Hvis du blokerer strengt nødvendige cookies, vil Joey ikke fungere — du kan ikke logge ind eller gennemføre betaling.
5. Hvor længe gemmes cookies
Cookies og lokale lagringsentries har forskellig levetid afhængigt af deres formål:
| Type | Typisk levetid | Eksempler |
|---|---|---|
| Session-baserede | Slettes når du lukker fanen eller browseren | PostHog memory-mode data, sessionStorage-entries, Stripe __stripe_sid |
| Korttidspersistente | Op til 24 timer | Visse Stripe bedrageribekæmpelse-cookies |
| Mellem persistens | 7 dage til 12 måneder | Supabase auth-session (typisk 7 dage), joey.consent.v1 (12 måneder) |
| Langtidspersistente | Op til 1 år eller mere | Stripe __stripe_mid (1 år), eventuelle fremtidige markedsføringspixels |
Når en cookie udløber, sletter din browser den automatisk. Hvis du gør noget der kræver den (for eksempel logger ind igen), sættes en ny.
6. Når vi opdaterer denne politik
Vi opdaterer denne politik når vi ændrer i hvilke cookies vi bruger — for eksempel hvis vi tilføjer en ny analyseleverandør, skifter den tekniske implementering af PostHog, eller justerer kategoriseringen efter ny lovgivning.
Større ændringer (for eksempel hvis vi tilføjer en ny tracking-leverandør) varsler vi mindst 30 dage før de træder i kraft. Vi opdaterer også versionsnummeret på joey.consent.v1, hvilket betyder at banneret vises igen så du kan tage stilling til de nye kategorier.
Mindre ændringer(sproglige justeringer, præciseringer) lægger vi op uden særskilt varsel, men opdaterer altid "sidst opdateret"-datoen øverst.
7. Hvis du har klager eller spørgsmål
Hvis du har spørgsmål til denne cookiepolitik eller til hvordan vi behandler dine data, kontakt os:
Email: toki@lykkeligai.dk
Post: Lykkelig AI, C/O Toki Wilkinson, Kong Hans Alle 87, 2860 Søborg
Klage til Datatilsynet
Hvis du mener at vi behandler dine personoplysninger i strid med GDPR eller dansk databeskyttelseslovgivning, kan du klage til Datatilsynet:
Datatilsynet, Borgergade 28, 5., 1300 København K
Tlf: 33 19 32 00 · Email: dt@datatilsynet.dk · Web: datatilsynet.dk
Klage til Erhvervsstyrelsen om cookieoverholdelse
Specifikt for cookies (Cookiebekendtgørelsen) er det Erhvervsstyrelsen der fører tilsyn. Du kan klage her:
Erhvervsstyrelsen, Langelinie Allé 17, 2100 København Ø
Web: erhvervsstyrelsen.dk