Cookie Policy
A jogi dokumentum magyar nyelvű változata hamarosan elérhető. Addig az angol nyelvű, hatályos szöveget közöljük, és az angol változat az irányadó.
Hatályos: 2026. november 13.
Deskadora Europe SASU, 60 Rue François 1er, 75008 Paris, France ("Operator", "we", "us", "Deskadora") uses cookies, local storage and similar technologies on deskadora.com, partner.deskadora.com and app.deskadora.com and in the booking widget. This policy explains what we use, why, and how you control it. If the Operator changes (see clause 19.2), these terms apply to its successor in the same way.
1. Scope and status
1.1 This policy covers the website (deskadora.com), the partner dashboard (partner.deskadora.com), the guest app and the booking widget (app.deskadora.com), our internal admin tool, our staff app and our API (api.deskadora.com).
1.2 It follows the GDPR, the UK GDPR where it applies, and the ePrivacy Directive as implemented in France (article 82 of the Loi Informatique et Libertes). The Privacy Policy explains how we handle personal data more generally.
1.3 Cookies set by third parties (Google, Meta, Stripe, Cloudflare, Sentry) are set by their code, and their exact names and lifetimes can change without notice. The lists below name the cookies we expect. They are not an exhaustive list of vendor-set cookies.
2. What these technologies are
2.1 A cookie is a small text file a website stores on your device. Local storage and session storage are browser storage areas that work in a similar way: local storage stays until it is cleared, session storage is cleared when you close the tab.
2.2 We also use service-worker caches and IndexedDB (for push notifications and offline pages) and, in our staff app, storage on the phone itself. We call all of these "cookies and similar technologies".
2.3 A cookie is first party when we set it and third party when another company sets it through its code on our pages.
3. Our categories
3.1 Strictly necessary: needed to log in, keep a session secure, remember a language or consent choice, take a payment or protect a form from bots. These do not need consent.
3.2 Preferences: remember choices such as language or a closed banner. We treat the ones set only after you act as part of the service you asked for. The language cookies set on your first visit are described in clause 7.
3.3 Analytics: measure how our sites are used (our analytics service and, after consent, error-monitoring session telemetry). These need your consent.
3.4 Marketing: measure and optimise our advertising (our advertising pixel, advertising signals and the matching server-side events). These need your consent.
3.5 Security and diagnostics: bot protection and error monitoring (error reports).
4. How consent works
4.1 On your first visit to the website, the partner dashboard or the guest app, a banner offers three choices: to accept, to reject or to open the settings. On the website the buttons read "Accept all", "Decline" and "Settings"; in the partner dashboard and the guest app they read "Accept", "Reject" and "Cookie settings". The settings have one switch for analytics and one for marketing; strictly necessary is always on.
4.2 Your choices are stored in two first-party cookies: dsk_consent_analytics (180 days) and dsk_consent_marketing (365 days). They contain only "true" or "false".
4.3 Each hostname stores its own copy. A choice made on deskadora.com is not seen on partner.deskadora.com or app.deskadora.com, and you will be asked again on each.
4.4 No analytics script or service and no session replay is loaded before you accept analytics. No advertising pixel is loaded before you accept marketing.
4.5 If you have accepted analytics earlier, our analytics service starts on your next page load without asking again, until the cookie expires or you change your choice.
4.6 You can change or withdraw your choice at any time, as clause 15 explains. Withdrawing analytics stops analytics and session replay from running on your next action.
4.7 Withdrawing consent does not delete cookies that our analytics and advertising providers already placed in your browser (_ga, _ga_<id>, _gcl_au, _fbp, _fbc). Clause 15.3 explains how to delete them in your browser.
4.8 We do not keep a server-side log of your consent choices. The choice exists only in the cookies on your device.
4.9 Some of our own pages that handle your request, such as the contact form and the demo-call form, read dsk_consent_marketing on our server and only send details to our advertising measurement provider's server-side conversion interface when it is "true".
4.10 When a venue signs up, the signup form sends your banner marketing choice to our server. A signup event is sent to that interface only if you ticked the marketing box on the signup form and your banner marketing choice is "true".
4.11 We do not send a server-side advertising conversion event for subscription renewals.
5. Booking widget on restaurant websites
5.1 Restaurants can embed our booking widget on their own websites. The embed script creates an iframe that loads app.deskadora.com. The script itself sets no cookies or storage.
5.2 Inside the iframe, the widget runs the same code as our guest app: the cookie banner, the session language cookie, and, after consent, analytics (two properties), the advertising pixel and error monitoring. At the deposit step, our payment processor's script is loaded to take the card.
5.3 Before you choose, no analytics, advertising pixel or payment cookie is set in the widget, and no analytics or session replay request is made.
5.4 The widget is shown inside another website, so your browser does not keep our consent cookies there (they are not marked for cross-site use). We tested this on 9 October 2026, with and without the browser's third-party cookie blocking: the banner appears again each time you open the widget, and your choice does not carry over to the restaurant's own site or to app.deskadora.com. The only cookie present inside the widget in the test was a Cloudflare cookie (cf_clearance) kept in partitioned form.
5.5 The restaurant's own website is the restaurant's responsibility, including its own cookies. This policy covers only what our widget sets.
6. Cookies and storage by surface
6.1 The first three tables list what is set without requiring consent. "Before consent" says whether it can be present before you make a choice on the banner.
Website (deskadora.com)
6.2 Strictly necessary and preference items on the website.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
dsk_consent_analytics | Cookie | First party | Stores your analytics choice | Strictly necessary | 180 days | No (set when you choose) |
dsk_consent_marketing | Cookie | First party | Stores your marketing choice; also read by our server to gate server-side advertising events | Strictly necessary | 365 days | No (set when you choose) |
dsk_lang | Cookie | First party | Remembers language for the redirect from the home page | Preference | 365 days | Yes |
NEXT_LOCALE | Cookie | First party (next-intl) | Current language | Preference | Session | Yes |
dsk_locale_dismissed | Cookie | First party | Remembers that you closed the language suggestion | Preference | 30 days | No (set when you close it) |
dsk_demo_call_done | Session storage | First party | A demo call was requested in this tab | Preference | Tab | No |
dsk_auth | Cookie (read only) | First party, set by partner | The website only reads it to show "Login" or "My account" | Strictly necessary | See partner table | Not set on the website |
6.3 Third-party items on the website that are not subject to the banner. Before you make any choice, the website sets only dsk_lang (365 days, first party) and, in a headless (automated) browser, the Cloudflare cookie cf_clearance (365 days, partitioned, set by a bot challenge; it was not seen in a normal browser).
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
Cloudflare Turnstile iframe and cookies (for example cf_clearance, __cf_bm) | Cookie, iframe | Cloudflare (third party) | Bot protection on the demo-call and general-inquiries forms | Strictly necessary / security | Set by Cloudflare | Yes, on those forms |
6.3A A scan of the public website pages on 9 October 2026 recorded these states. After "Refuser", dsk_consent_analytics (180 days) and dsk_consent_marketing (365 days) are added, and no analytics or advertising host is contacted. After "Tout accepter", _ga and _ga_PMCCEGQMSP (400 days), _gcl_au (90 days) and _fbp (90 days) are added, and googletagmanager.com, google.fr and connect.facebook.net are contacted. The banner buttons in the French version are "Paramètres", "Refuser" and "Tout accepter".
6.3B Before you make any choice, on 9 October 2026 the pages of the website and of the guest app that we scanned fetched country-flag images from purecatamphetamine.github.io (GitHub Pages), a third-party host.
6.4 Items on the website that need consent.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
_ga, _ga_<id> | Cookie | Google (third-party code, first-party cookie on our domain) | Google Analytics 4 | Analytics | Set by Google | No |
_gcl_au | Cookie | Advertising signals; only if both analytics and marketing are accepted | Marketing | Set by Google | No | |
_fbp, _fbc | Cookie | Meta (SameSite=None; Secure for _fbc) | Meta browser and ad-click identifiers | Marketing | 90 days | No |
| Sentry session storage and Replay (names set by Sentry) | Session storage | Sentry | Session replay of error sessions, masked | Analytics | Tab | No |
Partner dashboard (partner.deskadora.com)
6.5 Strictly necessary and preference items on the partner dashboard.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
dsk_sid | Cookie, HttpOnly, SameSite=Lax, Secure, domain .deskadora.com | First party | Session id checked by the page guard | Strictly necessary | 30 days | No (set at login) |
dsk_refresh_token | Cookie, HttpOnly, Secure, SameSite=None, domain .deskadora.com, set by api.deskadora.com | First party | Keeps your session signed in | Strictly necessary | Up to 30 days | No (set at login or signup) |
dsk_auth | Cookie, SameSite=Lax, Secure, domain .deskadora.com, not HttpOnly | First party | Non-secret "signed in" flag for the website menu | Strictly necessary | 30 days | No |
dsk_loc_id | Cookie, domain .deskadora.com | First party | Selected branch | Strictly necessary | 30 days | No |
dsk_device_id | Cookie, SameSite=Lax, Secure in production | First party | Per-browser device id, shown in your session list and used to detect unfamiliar devices | Strictly necessary (security) | 1 year | Yes: created when you submit the login or registration form, even if you have not used the banner |
sidebar_state | Cookie | First party | Sidebar open or closed | Preference | 7 days | No |
dsk_consent_analytics, dsk_consent_marketing, NEXT_LOCALE | Cookie | First party | As in clause 6.2 | As above | As above | As above |
6.6 Third-party items on the partner dashboard not subject to the banner. A read of the partner dashboard on 9 October 2026 found the cookies listed in clause 6.5, with the lifetimes stated there, and, with consent, _ga, _ga_LYYT9PDSK5 and _ga_PMCCEGQMSP (13 months), _gcl_au (3 months) and _fbp (3 months). With consent it contacted googletagmanager.com, connect.facebook.net, facebook.com and the Meta Pixel event relay on *.ecs.us-west-2.on.aws (part of the Pixel, United States).
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
__stripe_mid, __stripe_sid | Cookie, SameSite=Strict | Stripe (third party) | Fraud prevention | Strictly necessary | 1 year, 30 minutes | No: only on the Billing page when you update a payment method, after login (read on 9 October 2026) |
| Cloudflare Turnstile and cookies | Cookie, iframe | Cloudflare | Bot protection on the sign-in, registration and password reset pages | Strictly necessary / security | Set by Cloudflare; no Cloudflare cookie was seen on these pages in a normal browser on 9 October 2026 | Yes |
Facebook JavaScript SDK (for example fbsr_*, if set) | Script, cookie | Meta (third party) | WhatsApp Embedded Signup in Settings, after you log in | Strictly necessary for that feature you started | Set by Meta | No: loaded only after login in Settings |
6.7 Items on the partner dashboard that need consent.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
_ga, _ga_<id> | Cookie | Google Analytics 4 | Analytics | Set by Google | No | |
_gcl_au | Cookie | Advertising signals, if analytics and marketing are both accepted | Marketing | Set by Google | No | |
_fbp, _fbc | Cookie | Meta | Meta identifiers | Marketing | 90 days | No |
| Sentry session storage and Replay | Session storage | Sentry | Masked error-session replay | Analytics | Tab | No |
6.8 If an administrator of ours impersonates a venue account to give support (with a one-time code emailed to the venue administrator), the same dsk_sid, dsk_refresh_token, dsk_auth and dsk_loc_id cookies are set for that support session.
Guest app and booking widget (app.deskadora.com)
6.9 Strictly necessary and preference items in the guest app and widget.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
dsk_consent_analytics, dsk_consent_marketing | Cookie | First party | Your choices | Strictly necessary | 180 days, 365 days | No |
NEXT_LOCALE | Cookie | First party | Language | Preference | Session | Yes |
dsk_refresh_token | Cookie, HttpOnly, Secure, SameSite=None, domain .deskadora.com | First party | Only present if a venue account signed in on a deskadora.com subdomain; not set for ordinary guests | Strictly necessary | Up to 30 days | No |
dsk_sid | Local storage | First party | Session id for live connection reconnect, after a signed-in token refresh | Strictly necessary | Until cleared | No |
6.10 Stripe on the guest app and widget. The deposit step loads Stripe.js (hosts js.stripe.com and m.stripe.network), which sets __stripe_mid and __stripe_sid as described in clause 7.3.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
__stripe_mid, __stripe_sid | Cookie, SameSite=Strict | Stripe (third party) | Fraud prevention while you pay a deposit | Strictly necessary | 1 year, 30 minutes | No: loaded only at the deposit step |
6.11 Items in the guest app and widget that need consent.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
_ga, _ga_<id> (one per property) | Cookie | Google Analytics 4, two properties | Analytics | Set by Google | No | |
_gcl_au | Cookie | Advertising signals if analytics and marketing both accepted | Marketing | Set by Google | No | |
_fbp, _fbc | Cookie | Meta | Meta identifiers; Pixel events on venue booking pages | Marketing | 90 days | No |
| Sentry session storage and Replay | Session storage | Sentry | Masked error-session replay | Analytics | Tab | No |
6.11A A read of the guest app landing page on 9 October 2026 found the consent cookies of clause 6.9 and, with consent, _ga, _ga_PMCCEGQMSP and _ga_LYYT9PDSK5 (400 days), _gcl_au and _fbp (90 days), and contacted googletagmanager.com, google.fr, connect.facebook.net, region1.analytics.google.com and stats.g.doubleclick.net. The banner buttons are "Paramètres des cookies", "Refuser" and "Accepter".
6.12 First-party menu-scan items in the guest app are described in clause 9.
Admin tool (internal)
6.13 Our internal admin tool, used only by our staff, sets dsk_admin_refresh_token (HttpOnly, Secure, SameSite=None, set by api.deskadora.com), session-storage keys dsk:admin:token and dsk:admin:employeeId, local-storage key dsk:admin:openTabs, and sidebar_state (7 days). It uses no analytics, advertising, error-monitoring, payment or bot-protection tools. It has no banner because it stores only what is strictly necessary.
Staff app
6.14 Our staff app is described in clause 13.
API (api.deskadora.com) and OAuth connector
6.15 Cookies set by our API.
| Name | Type | Provider | Purpose | Category | Lifetime | Before consent |
|---|---|---|---|---|---|---|
dsk_refresh_token | HttpOnly, Secure, SameSite=None, domain .deskadora.com | First party | Refresh token for venue accounts; rotated | Strictly necessary | 30 days at login; rotation resets to the token expiry | No (set at login or signup) |
dsk_admin_refresh_token | HttpOnly, Secure, SameSite=None | First party | Admin refresh token (internal) | Strictly necessary | Until token expiry | No |
_dsk_oidc_session | Signed, HttpOnly, Secure, SameSite=None | First party | Session for the owner connector (OAuth) | Strictly necessary | 14 days | No (set when an owner connects an AI client) |
_dsk_oidc_ia, _dsk_oidc_resume | Signed, HttpOnly, Secure, SameSite=Lax | First party | Short-lived state during the owner connector sign-in and consent | Strictly necessary | Library default, about 1 hour | No |
6.16 The connector's own service (mcp) sets no cookies and no storage.
7. Strictly necessary and preference cookies
7.1 Strictly necessary cookies are those in clauses 6.2, 6.3, 6.5, 6.6, 6.9, 6.10, 6.13 and 6.15, namely: dsk_sid (30 days, HttpOnly), dsk_refresh_token (up to 30 days, HttpOnly), dsk_auth, dsk_loc_id, dsk_device_id (1 year), the _dsk_oidc_* cookies for the owner connector, the two consent cookies, Cloudflare Turnstile and Cloudflare cookies, and Stripe's __stripe_mid and __stripe_sid.
7.2 dsk_device_id is set when you submit the login or registration form on the partner dashboard, before and regardless of any banner choice. It is a random identifier used for security and for the list of your sessions and devices. We treat it as strictly necessary for security.
7.3 Stripe.js sets __stripe_mid (1 year, SameSite=Strict) and __stripe_sid (30 minutes, SameSite=Strict) only on pages where it is loaded: the deposit step of a booking and the billing page of the partner dashboard (read on 9 October 2026). Cloudflare Turnstile runs only on the website's demo-call and general-inquiries forms and on the partner login, registration and forgot-password pages; no Cloudflare cookie was seen on partner pages in a normal browser.
7.4 NEXT_LOCALE and dsk_lang are preference cookies that store the language you use, so a page opens in it. They are set on your first visit because language selection is part of delivering the page you requested.
7.5 Without strictly necessary cookies the sites cannot sign you in or keep you signed in, and payments and forms may fail.
8. Local storage and session storage
8.1 The partner dashboard uses these keys. Session storage (cleared when the tab closes): dsk:token (your access token and session id for this tab), dsk:buildIdReloaded (prevents a reload loop after an update). Local storage: dsk:openTabs (tab heartbeat, kept), dsk:token:ping and dsk:token:pong (tab handshake). All are strictly necessary.
8.2 The partner dashboard also stores these user-interface choices in local storage after you act, each persisting until cleared: deskadora_trial_banner_dismissed, deskadora_checklist_collapsed, deskadora_onboarding_completed, pwa_install_dismissed, dsk_template_draft (a message template draft, removed after it is read) and possibly theme. These are preferences.
8.3 The guest app stores dsk_sid in local storage (clause 6.9) and, in session storage, the two keys described in clause 9. The website stores dsk_demo_call_done in session storage (clause 6.2).
8.4 The partner dashboard registers a service worker with caches (offline page) and, only after you grant the browser push permission, push notification storage in IndexedDB (firebase-messaging-database, firebase-installations-database).
9. First-party menu-scan statistics
9.1 When you open a venue's digital menu in the guest app, the page creates a random identifier for the browser tab (deskadora_session_id) and a list of venue ids already counted in this tab (deskadora_tracked_locations), both in session storage, which is cleared when the tab closes.
9.2 The page sends this identifier to our server with the venue, menu and QR-code ids, the language, and the device type, operating system and browser family derived from your browser's user agent. Our server also derives an approximate country and city from your IP address using a locally stored database. The venue sees the resulting counts, not individuals.
9.3 This measurement does not use the banner and runs before you make a choice. Whether it falls within an exemption from consent or needs consent is under review.
10. Marketing
10.1 With your consent we use an advertising pixel to measure our advertising and to build audiences. It sets _fbp (browser id) and _fbc (ad-click id, built from the fbclid in the link you clicked), both lasting 90 days, and can send the advertising provider your page views and booking-step events, which are InitiateCheckout and Schedule on venue booking pages.
10.2 The advertising pixel is added to a page only when dsk_consent_marketing is "true" at the time the page is loaded, so after you accept it starts from the next page you load.
10.3 With your consent we also send some events from our server to the advertising provider (its server-side conversion interface): contact-form and demo-request events, and a signup event for venues (clauses 4.9 to 4.11). These can include hashed contact details, your IP address, your browser's user agent and the _fbp and _fbc values.
10.4 Advertising signals (ad_storage, ad_user_data, ad_personalization, and the _gcl_au cookie) follow your marketing choice. Because the analytics script loads only after you accept analytics, you must accept both analytics and marketing for advertising signals to be enabled.
11. Security and diagnostics
11.1 We send error reports from your browser to our error-monitoring provider so we can find and fix faults, whether or not you consent. A report contains the error, the page address and browser details; our error-monitoring provider is set not to store IP addresses (since 9 October 2026).
11.2 Before an error report leaves your browser, we remove email addresses and phone numbers from its text.
11.3 Session replay is not loaded until you accept analytics. Once you do, it records only when an error occurs: the page is held in your browser's memory and is sent to us only if an error happens, and it is never a continuous recording. All text and form inputs are masked and media is blocked. Withdrawing analytics stops it. Performance tracing and browser session tracking also run only after you accept analytics.
11.4 We send error reports without asking for your consent because we rely on our legitimate interest in the security and quality of the service. Session replay is different: it needs your analytics consent (clause 11.3).
11.5 We use bot protection on sign-in, registration, password-reset and demo-call forms to stop automated abuse. It runs a check in your browser and returns a token to us.
12. Push notifications and service workers
12.1 In the partner dashboard, if you allow browser notifications, our push notification provider stores a push registration in IndexedDB and our server stores a push token for your device, so we can send booking alerts. You can withdraw by blocking notifications in your browser.
12.2 The service worker keeps an offline page in the browser cache.
13. Staff app
13.1 Our staff app is a mobile app and sets no cookies. It stores on the device: your session (including an access token, held unencrypted in the app's local store), a cache of data for 24 hours, an offline queue, settings and language, and a push token. Your PIN is held in the device's secure keychain or keystore. The app uses no advertising identifier and no analytics SDK.
13.2 The staff app sends crash and error reports to our error-monitoring provider from the moment it starts. It has no consent screen for this.
14. Third-party requests that reveal your IP address
14.1 Loading some pages makes your browser contact other companies directly, which then see your IP address and browser details, even without a cookie.
14.2 Google Fonts: none. Our fonts are served from our own domain.
14.3 Flag icons: language and country selectors load flag images from a public content delivery network (purecatamphetamine.github.io, hosted on GitHub Pages).
14.4 Google Maps: the About tab of a venue page in the guest app shows a Google Maps embed. Google may set its own cookies when it loads.
14.5 Unsplash: the public demo builder (app.deskadora.com, path /try) loads sample photographs from images.unsplash.com.
14.6 Cloudflare: our traffic goes through Cloudflare (DNS, delivery and security), and Turnstile loads from challenges.cloudflare.com.
14.7 Google (googletagmanager.com) and Meta (connect.facebook.net) receive requests only after you consent, as described in clauses 4.4 and 10.
15. How to change your choices
15.1 Use the "Your Privacy Choices" link in the footer of the website, the partner dashboard and the guest app to open the banner settings. Your choice applies to the browser, device and hostname where you make it.
15.2 You can also block or delete cookies in your browser. If you delete the consent cookies, the banner returns on your next visit. If you block strictly necessary cookies, sign-in, payments and forms may stop working.
15.3 Because withdrawing consent does not delete cookies already placed (clause 4.7), delete these in your browser settings after withdrawing: _ga, _ga_<id>, _gcl_au, _fbp, _fbc. In Chrome: Settings, Privacy and security, Third-party cookies or Cookies and other site data, See all site data, search for "deskadora". In Firefox: Settings, Privacy and Security, Cookies and Site Data, Manage Data. In Safari: Settings, Privacy, Manage Website Data. In Edge: Settings, Cookies and site permissions, Manage and delete cookies.
15.4 You can also use your browser's private mode or tracking-protection features, and you can opt out of analytics with the analytics provider's browser add-on.
16. International transfers
16.1 Some providers named here may process data outside the European Economic Area. The current list of our sub-processors, with where they process data and the safeguards we rely on, is at [link to the sub-processors page].
17. Children
17.1 Our sites and apps are not directed at children and are intended for people aged 18 or over. We do not knowingly set analytics or marketing cookies on a child's device.
18. Your rights and contact
18.1 You can ask for access, correction, deletion, restriction or objection for data collected through these technologies, and withdraw consent at any time, by writing to [email protected].
18.2 You may complain to the supervisory authority of your country (for France, the CNIL, which is also our lead authority) or to the ICO in the United Kingdom (ico.org.uk).
18.3 Deskadora Europe SASU, 60 Rue François 1er, 75008 Paris, France. Email: [email protected].
19. Changes and the Operator
19.1 We will update this policy when we add or change cookies or categories. When we add a new cookie category we ask for your consent again before setting it. The date at the top shows the current version.
19.2 We may transfer our rights and obligations under this policy to another company that operates Deskadora, and we will tell customers by notice on our sites before the transfer takes effect. References to the Operator then mean that company.