Cookie Policy
What we use and why
Cookies are small pieces of data your browser stores and sends back to our server when you use Beauty Danmark. Local storage and session storage are similar, but the data stays in your browser only and is not sent automatically with every request. Session storage is cleared when you close the browser tab.
We use these technologies to run the site securely, remember your choices (such as language and theme), and keep temporary progress when you fill in forms. We also log anonymised on-site behaviour — such as visit counts and feature usage — via a first-party cookie, so we can improve the service and monitor performance. We do not set advertising or third-party tracking cookies on our own behalf. Some map and payment providers accessed in your browser may use their own cookies; see Third-party services below.
Strictly necessary cookies
These cookies are required for secure sign-in, completing two-factor authentication, and recording that you have seen our cookie information.
better-auth.session_token (and __Secure-better-auth.session_token)
- Type: Cookie (HTTP-only on the server; name may include
__Secure- when using HTTPS).
- Purpose: Keeps you signed in after you authenticate with Better Auth.
- Duration: Until you sign out or the session expires as configured by the service.
- Where it is used: Across authenticated areas of Beauty Danmark.
better-auth.two_factor (and variants)
Possible names include: better-auth.two_factor, __Secure-better-auth.two_factor, better-auth-two_factor, and __Secure-better-auth-two_factor (Better Auth may vary the prefix and separator).
- Type: Cookie (HTTP-only where set by the authentication flow).
- Purpose: Holds a short-lived challenge while you complete two-factor authentication (2FA).
- Duration: Short-lived; only during the sign-in flow; cleared when verification finishes or you cancel.
- Where it is used: Sign-in and 2FA verification flows.
pending_auth_redirect
- Type: Cookie (HTTP-only).
- Purpose: Stores where you should go after login and optional “add favorite” intent while you complete 2FA.
- Duration: 10 minutes (600 seconds).
- Where it is used: After password sign-in when 2FA is required, until 2FA succeeds or the flow is cancelled.
cookie_consent
- Type: Cookie (HTTP-only).
- Purpose: Records that you have acknowledged our cookie information (stored value is the consent version, e.g.
v1).
- Duration: 1 year.
- Where it is used: Site-wide; tied to the cookie consent notice.
Functional cookies
These cookies remember choices you make so the site works better for you. They are not strictly required for every page load or for baseline security, but some features depend on them.
preferred_language
- Type: Cookie (readable by scripts; not HTTP-only in the server action that sets it).
- Purpose: Remembers your language choice (
da or en) so pages load in the right locale.
- Duration: 1 year.
- Where it is used: Language switching and routing across Danish and English URLs.
pending_favorites
- Type: Cookie (not HTTP-only; may be read client-side).
- Purpose: Temporarily remembers salon IDs you favourited before you create an account or sign in, so they can be applied after authentication.
- Duration: 30 days.
- Where it is used: Favourites feature when you are not yet logged in.
user_location:v1 (and legacy user_location)
- Type: Cookie (not HTTP-only on the paths that set it; client may also set the versioned name).
- Purpose: Remembers map and search location (coordinates and related data) so we do not have to ask every time.
- Duration: 30 days. Older
user_location values may be migrated to the versioned cookie and removed.
- Where it is used: Maps, search, and location-aware store browsing.
Analytics cookies
We use a single first-party cookie to log anonymised on-site behaviour (visits, clicks, impressions). The data stays with us and is used solely to improve the service and monitor performance. The cookie contains only a random ID — no name, email, or other personal information — and the data is not shared with third parties.
bdk_vid
- Type: Cookie (HTTP-only).
- Purpose: Assigns you an anonymous visitor ID so we can count unique visits, page views, and actions (clicks on phone, booking, website, social links, and search-result impressions) without recording personal data. IP addresses are hashed with a daily-rotating salt and never stored in plain text.
- Duration: Up to 400 days (rolling renewal).
- Where it is used: Site-wide; only for internal statistics on the Beauty Danmark dashboard.
Local storage
Data in local storage stays on your device until you or the site clears it. It is not sent to our servers automatically.
theme
- Type: Local storage (set by next-themes, default key
theme).
- Purpose: Remembers your interface theme choice (light, dark, or system).
- Duration: Until you clear site data or change the setting.
- Where it is used: Site-wide appearance (theme toggle).
bd-store-wizard-draft-v2 (and legacy bd-store-wizard-draft-v1)
- Type: Local storage.
- Purpose: Saves progress in the “new store” creation wizard so you can continue later.
- Duration: Drafts older than 7 days are discarded automatically; you can clear sooner by finishing or abandoning the flow.
- Where it is used: Dashboard store creation wizard.
store-visual-edit-draft-<storeId>
- Type: Local storage (one key per store, e.g.
store-visual-edit-draft-123).
- Purpose: Saves a draft of the visual store editor for that store.
- Duration: Drafts older than 7 days are discarded automatically.
- Where it is used: Store visual editor in the dashboard.
bd_company_dashboard_welcome_collapsed:<userId>
- Type: Local storage (includes your user id in the key).
- Purpose: Remembers that you collapsed the company dashboard welcome banner so it stays out of the way.
- Duration: Until you clear site data; removing the value shows the banner again.
- Where it is used: Company dashboard welcome banner.
email_resend_cooldown
- Type: Local storage.
- Purpose: Stores the next allowed time for clicking “resend verification email” so the action is not abused.
- Duration: Until the cooldown expires or you clear site data.
- Where it is used: Email verification page.
Session storage
Session storage is cleared when you close the browser tab. It is not sent to our servers automatically.
partner-wizard-progress
- Type: Session storage.
- Purpose: Saves progress on the multi-step “Become partner” signup flow so you do not lose data when moving between steps.
- Duration: Until the tab is closed or you complete / clear the flow.
- Where it is used: Public become-partner wizard.
userLocation
- Type: Session storage (separate from the
user_location:v1 cookie).
- Purpose: Caches recent coordinates used for recommendations and nearby search; expires after 30 minutes from the stored timestamp.
- Duration: Entry removed after 30 minutes or when the tab data is cleared.
- Where it is used: Location context and recommended stores on the dashboard.
Third-party services that may set cookies
When you use parts of Beauty Danmark that load content or complete payments in the browser, third parties may set or read their own cookies or similar storage. We do not control those cookies. Examples:
- Mapbox — map tiles may be loaded from
api.mapbox.com.
- OpenStreetMap — map tiles may load from
tile.openstreetmap.org as a fallback.
- Vercel Blob — images and assets may be served from Vercel’s blob storage host (browser connections only).
- QuickPay — payment flows may open QuickPay pages where QuickPay’s own cookies and policies apply.
Use each provider’s documentation and your browser settings if you want to limit third-party storage.
Managing cookies and site data
You can delete or block cookies and clear local storage / session storage through your browser settings. Features that depend on the items above may stop working: for example sign-in, language, map location, favourites before login, saved form drafts, theme, and cooldown timers.
Each browser handles this differently. Look for “Cookies”, “Site data”, or “Storage” in your browser’s help or privacy settings.
If you have questions about how we use cookies and browser storage, contact us at kontakt@beautydanmark.dk.
Last updated: May 2026