Last Updated: October 25, 2026
Version 1.7
What changed in version 1.7. The Functional category, which lets Mana Grove remember your preferences on this device between visits, is now on by default with notice wherever the Analytics and Advertising categories are: in Canada outside Quebec and in the United States outside California (unless your browser sends a Global Privacy Control signal there). You can turn it off at any time, and everywhere else it stays off until you turn it on. If you answered an earlier version of our cookie notice (version 4 or 5) in those two places and your answer left Analytics and Advertising on and Functional off, we show you the updated notice once, with Functional on by default as it is for everyone else there: it turns on when you close the notice, or when you select Save choices with its switch left on, and you can turn it off from Manage options. This includes a Functional switch you turned off yourself: we cannot tell it from one you never turned on, and answers to version 4 do not record where they were given. If your earlier answer turned off Analytics or Advertising, every choice in it stands, Functional included, and so does any answer to version 5 that you gave where we ask first. Section 3 now also lists two entries we keep in this tab when we can no longer confirm this browser's sign-in to your account and have to ask you to sign in again. Sections 2, 3, 4, 5.1 and 10 were updated to match.
1. What this policy covers
This policy covers cookies and device storage used by Mana Grove, a service of The Mana Grove Trading Cards Ltd.: browser cookies, localStorage and sessionStorage on the website, AsyncStorage in the mobile application when it is available, and the small number of third-party services our pages load (see sections 5 and 6).
We treat all of these the same way, because they all place or read information on your device. Calling something "not a cookie" does not change what it does.
2. How consent works
There are exactly four categories:
- Strictly necessary: always on. These cannot be switched off because the service cannot run without them.
- Functional: lets Mana Grove remember your preferences on this device between visits. On by default with notice in Canada outside Quebec, and in the United States outside California unless your browser sends a Global Privacy Control signal, like Analytics and Advertising; off by default everywhere else. Section 4 says exactly where.
- Analytics: lets us measure how Mana Grove is used. Turning it on or off controls Google Analytics, Microsoft Clarity (including its session recording) and our own measurement entries on your device, all listed in section 5. Whether it runs before you answer depends on where you are, and section 5.1 says exactly where. Turning it off does not stop the small, separate layer described in section 5.1, which has its own off switch.
- Advertising: lets the Google Ads tag and the Reddit Pixel measure our own advertising and show Mana Grove's advertising to you on those platforms. Whether this runs before you answer depends on where you are, and section 6 says exactly where.
Where we ask you first, nothing in the Functional category runs before you make a choice and nothing is pre-ticked there, and rejecting everything takes exactly one click, in the same place and with the same prominence as accepting everything. Where we tell you first (Canada outside Quebec and the United States outside California, sections 4, 5 and 6), the notice's Manage options button shows every switch as it actually is or, for a switch the notice is about to turn on, as it will be once you close the notice, so anything that is on, or about to be, can be turned off on the spot. An explicit refusal is honoured everywhere, in every region, with the single exception described under "What changed in version 1.7" above.
Advertising is its own category, and it is yours to control. We show no advertising on Mana Grove itself and we have no affiliate trackers; the Advertising category exists so that our own advertising on other platforms can be measured and, if you allow it, shown to people who have visited us. Like Analytics, whether it runs before you answer depends on where you are: on by default with notice in Canada outside Quebec and in the United States outside California (unless your browser sends a Global Privacy Control signal there), off until you turn it on everywhere else. Section 6 has the details and the controls.
You can change your mind at any time:
- "Cookie preferences" (on the web: the site footer, where the "Your Privacy Choices" link opens the same choices, or Settings → Privacy; in the app: Settings → Privacy): controls Functional, Analytics (Google Analytics, Microsoft Clarity and our own measurement entries listed in section 5) and Advertising.
- "Measurement settings" (on the web: the site footer, right beside Cookie preferences, or the same link under Settings → Privacy when you are signed in): your objection to the small layer described in section 5.1. It is a separate switch, and turning Analytics on or off does not change it. Objecting stops that layer even if Analytics is on, and deletes four of our own measurement entries from this device (section 5), but it does not change your Analytics or Advertising answers.
Withdrawing consent takes effect immediately: we stop using that category on the spot and delete what we stored on your device for it. Withdrawal does not undo processing that already happened, and if you are signed in we keep the record of your privacy choices as described in section 9.
If we materially change what a category is used for, we increase the notice version and ask you again. Categories you previously agreed to keep working for what you originally agreed to; nothing new starts until you answer, except where a notice tells you a category is on by default (section 4).
3. Strictly necessary
These keep you signed in, keep your session secure, let our network provider check for automated traffic, let you complete a subscription checkout, finish a sign-in you asked for and come back to the page you were on when we have to ask you to sign in again, keep the changes you made before they reach your account, stop a page from reloading in a loop and a sign-in from repeating in one, record the privacy choices you make (we have to store a refusal in order to honour it), let the free demo you opened, and the Scry searches you make on a public page without an account, run within their free allowance, and keep the demo's one reminder to once per tab.
| Name | Type | Platform | Purpose | Expiry |
|---|---|---|---|---|
csrf_token | Cookie (set by our server) | Web | Protects state-changing requests against cross-site request forgery | 1 hour |
cf_clearance | Cookie (set by Cloudflare, our network and security provider, on our own domain) | Web | Lets Cloudflare check whether a visit comes from a person's browser or from automated software. A small Cloudflare script, served from our own domain, is added to every page our site sends to your browser, and Cloudflare keeps the result of its check in this cookie. Cloudflare's cookie documentation describes its cookies as strictly necessary to provide the services its customers, such as Mana Grove, request from it. Our own code never reads it | 30 minutes by default, set by Cloudflare; it may be renewed while you keep browsing |
dc_demo | Cookie (set by our server) | Web | Lets the free demo you opened, and the Scry searches you make on a public page without an account, run within their free allowance. The demo's Grover answers and deck build only work in a browser that holds it, and so does saving a copy of your demo deck on our server while you create an account. The demo's allowances (Scry searches, Grover messages, deck builds and Tutor rounds) are counted against it, and so, separately, is the free allowance of Scry searches that our public pages give you without an account, which has its own limit for as long as the cookie lasts and a daily limit for the network you connect from, a limit that still applies if this cookie is cleared or blocked. It also limits how many event counts (section 5.1) this browser can send us. Together, these let us offer the demo and Scry search to anyone without an account while limiting abuse. It holds three things, signed by us so that an altered value is refused: a random session number, which is not linked to your name, email address or account; the time the session started; and whether this browser passed our anti-abuse challenge. It is set when you open a demo page, or when you run a Scry search on a public page without an account, and your browser then sends it with every request to Mana Grove | 24 hours, or until you sign in or create an account on this browser, whichever comes first |
Firebase Auth persistence: firebase:authUser:<project key>:[DEFAULT], and the firebaseLocalStorageDb and firebase-heartbeat-database databases | Local storage, session storage and IndexedDB (web); the app's private storage on the device (app) | Web + app | Keeps you signed in (a service you explicitly asked for). On the web, your sign-in is kept in local storage; if you sign in with your password and untick "Keep me logged in on this device", it is kept in session storage instead, for that tab session only. Either way, the middle of its name is our sign-in project's key, which is the same for every visitor. Our sign-in service also keeps two databases in this browser's IndexedDB storage and opens them on every visit, signed in or not. It opens firebaseLocalStorageDb to check that it could keep a sign-in there: that database holds your sign-in only if local storage is unavailable, or if an earlier version of our site put it there, in which case your next visit moves it to local storage; otherwise it stays empty. In firebase-heartbeat-database it records, at most once a day, that day's date and the versions of its own software, and it sends these records to Google the next time it contacts Google's sign-in servers, for example when you sign in or while you stay signed in; until then, at most 30 of them stay in this browser. When a page offers you a way to sign in, our sign-in service's hidden frame, which runs on our own domain, checks that it can use local storage and session storage and reads entries there whose names start with firebase: and include our project key (for example firebase:authEvent:<project key>:[DEFAULT]); the result of a sign-in you start in a sign-in window may be written there so that this page can receive it. The sign-in window itself, which also runs on our own domain, makes the same check and, before it takes you to the provider you chose, such as Google, keeps two entries in its own session storage: firebase:oauthHelperState, which describes the sign-in you started and has no project key in its name, and firebase:sessionId:<project key>:[DEFAULT], which lets it match the provider's answer to that sign-in. These entries are used only to finish that sign-in | Until sign-out, and, for a sign-in kept in session storage, at most until the tab session ends; the records in firebase-heartbeat-database until they are sent to Google; the two databases stay until you clear site data in your browser; the hidden frame's entries: in session storage, at most until the tab session ends; in local storage, until our sign-in service removes them or you clear site data in your browser; the sign-in window's two entries: at most until that window closes |
mg_cookie_consent_v1 | Local storage | Web + app | The record of the choices you made here | Until cleared |
dc_telemetry_opt_out | Local storage | Web + app | A legacy "do not measure this browser" objection, still honoured as an override | Until cleared |
mg_measurement_objection_v1 | Local storage | Web | The record of whether you have objected to the layer described in section 5.1 in "Measurement settings"; it also records an explicit "allowed" if you turn measurement back on after objecting | Until cleared |
plausible_ignore | Local storage | Web | Plausible's own "do not count this browser" switch. We set it when you object, so that the Plausible script stops counting this browser, and remove it if you turn measurement back on | Until you turn measurement back on, or until cleared |
mg_crash_opt_out | Local storage | Web + app (when the mobile application is available) | The record that you turned crash reporting off | Until cleared |
dc_attribution_install_sent | AsyncStorage | App (when the mobile application is available) | Records that install attribution was captured or refused, so a refusal is never re-fired | Until cleared |
dc_device_id | Local storage | Web | Used only to recognize this device for account security: device-session checks, two-factor "remember this device", and session revocation. Deliberately survives sign-out. Never used for measurement. | Until cleared |
dc_sync_ops_v1__<account>, dc_sync_cursor_v1__<account> | Local storage | Web | When you are signed in, keeps the changes to your collection and decks made on this browser that have not yet reached your account, and how far this browser has synced with your account, so that no change is lost if the connection drops. The name ends in your account's sign-in identifier | Until you sign out |
dc.auth.emailLinkPending | Local storage | Web | The email address you typed to receive a sign-in link, and when it was stored, kept on this browser so that the sign-in you asked for can finish here without asking for the address again; it is written only when a link is actually sent (when sign-in by emailed link is available) | Until you finish signing in, the link fails for good, or you sign out. It is never used after 24 hours, and an entry older than that is deleted the next time you open Mana Grove in this browser |
dc.auth.deviceSessionReauth, dc.auth.deviceSessionReauth.lastAt | Session storage | Web | When we can no longer confirm this browser's sign-in to your account and have to sign you out so that you can sign in again, the first remembers, in this tab, when that happened and the page you were on, so that the sign-in page can tell you why and take you back there afterwards; the second records when this tab last did so, so that it cannot happen again within 10 minutes and you are never caught in a sign-in loop | The first: until you sign in again or the tab session ends, and never used after 30 minutes; the second: tab session |
checkoutData_session, checkoutData_encrypted | Session storage | Web | Holds the checkout you started, for the length of the tab session (used when that checkout flow is available) | Tab session |
dc:preloadErrorReloadAt | Session storage | Web | One-shot guard that prevents a reload loop when part of the app fails to load | Tab session |
dc:routeChunkReloadAt | Session storage | Web | One-shot guard that prevents a reload loop when a lazy route chunk fails to load | Tab session |
dc.demoLeavePromptShown, dc.demoLeavePromptShown:<demo> | Session storage | Web | Remembers that the free demo has already made its one reminder in this tab, either as you were about to leave the page or at the end of the welcome tour, so it is not shown again in this tab | Tab session |
dc_device_id is listed as strictly necessary on security grounds: it exists solely so device-session checks, two-factor "remember this device" and session revocation can work. It is never used for measurement.
mg_measurement_objection_v1 and plausible_ignore are web-only entries: the mobile application has no equivalent today. They are listed here rather than under Analytics because keeping a record of your objection is what lets us honour it.
dc_demo is listed as strictly necessary because the free demo's Grover answers and deck build cannot run without it, and the limits that let us offer the demo and Scry search to anyone without an account are counted against it. Its session number is never written into any measurement record or linked to your account, and the cookie is deleted when you sign in.
4. Functional
These remember your preferences across visits. Mana Grove works fully without them: your choices simply live for the current session and reset when you leave.
| Name | Type | Platform | Purpose | Expiry |
|---|---|---|---|---|
dc:theme | Local storage | Web + app | Your light / dark / system theme choice | Until cleared |
dc:locale | Local storage | Web | Your French / English display-language choice | Until cleared |
dc-view-mode:*, dc.viewer.viewMode, dc.brew.yourDecks.inlineExpanded, dc.asst.history.collapsed | Local storage | Web + app (when the mobile application is available) | Layout and view-mode preferences, including whether the AI assistant's conversation history panel is collapsed | Until cleared |
dc.market.viewMode | Local storage | Web | Remembers whether you chose the grid or the list layout on the marketplace, so it opens the way you left it (when the marketplace is available) | Until cleared |
*.paginationMode (deck browser, your decks, commanders, card search) | Local storage | Web | Whether a result list uses paging or infinite scroll | Until cleared |
dc.brew.decklistSort | Local storage | Web | Remembers how you sorted the decklist in the deckbuilder, so it opens the way you left it | Until cleared or consent withdrawn |
dc.cardExplorer.viewMode | Local storage | Web | Remembers whether you chose the grid or the 3D shelf for card search results, so the deckbuilder and the Browse cards page show them the way you left them. Each account that signs in on this browser keeps its own choice, filed under a short code worked out from its sign-in identifier rather than the identifier itself, and signed-out visits share one choice | Until cleared or consent withdrawn (five most recent choices kept) |
dc.brew.deckbuilderSplit | Local storage | Web | Remembers how wide you made the deck pane in the deckbuilder, so it opens the way you left it. Each account that signs in on this browser keeps its own choice, filed under a short code worked out from its sign-in identifier rather than the identifier itself, and signed-out visits share one choice | Until cleared or consent withdrawn (five most recent choices kept) |
dm_recent_searches, recent-search history | Local storage | Web + app | Recalls your recent searches | Until cleared (10 most recent kept) |
dm_recently_viewed_products, recentlyViewed | Local storage | Web | Recalls recently viewed items and feeds on-device recommendations | Until cleared (20 most recent kept) |
dm_brew_new_deck_draft | Local storage | Web | Keeps an unsaved deck draft so you do not lose it between visits | 7 days |
dc.demo.deck | Local storage | Web | Keeps the deck you are building in the free demo (its cards, its name and commander, and on the Grover demo the request you gave Grover and the deck it built), so reloading the page, switching apps or coming back from the sign-up page does not lose it | 7 days |
dc_commander_selection_* | Local storage | Web | Carries your in-progress commander selection across the sign-in redirect so you do not have to re-pick after logging in | 30 minutes |
dc.collect.pendingImport | Local storage | Web | Keeps a collection import you started that would take your collection past your plan's card limit (a copy of the file you chose, its name, your import settings, the card counts and the plan shown to you, and the plan you chose), so the import can finish on its own when you come back from checkout and you do not have to choose the file again; the copy leaves this device only to finish that import, and only to Mana Grove | Until the import finishes, or until you cancel it or close the plan suggestion without upgrading. It is never used after 24 hours, and if it is left behind (for example because you closed the tab), it is deleted the next time you open your collection |
dc.home.startHereDismissed | Local storage | Web | Remembers that you dismissed the "Start here" card a brand-new account sees on the home page | Until cleared |
dc.tour.seen | Local storage | Web | Remembers that you finished the Grove welcome tour, so a later visit does not offer it again | Until cleared |
dc:feedback:collapsed | Local storage | Web | Remembers that you collapsed the feedback button, so it stays collapsed on your next visit | Until cleared |
dc.deckOwnership | Local storage | Web | Remembers which decks are yours, so a deck page you return to shows the matching placeholder while it loads; it never decides what you are allowed to open | Until cleared |
cart | Local storage | Web | Keeps what you added to your marketplace cart between visits (when the marketplace is available) | Until you sign out, or until cleared |
dc.demoRecap | Session storage | Web | Holds the demo conversation you had with Grover, so it can be shown to you once after you create your account; it is deleted as soon as it is shown | Tab session |
dc.tour.state | Session storage | Web | Remembers where you are in the Grove welcome tour, so reloading this tab picks up where you left off | Tab session |
dc.tour.quietPrompt | Session storage | Web | Remembers that you have already answered the quiet invitation to take the Grove welcome tour, whether you took it or closed it, so it is not offered to you again in this browsing session | Tab session |
dc.openInAppBannerDismissed | Session storage | Web | Remembers that you dismissed the open-in-app notice | Tab session |
dc.demo.inAppGuardDismissed, dc.demo.inAppGuardDismissed.<screen> | Session storage | Web | Remembers that you dismissed the notice offering to open a page in your own browser when you arrived from inside another app. The notice appears on six surfaces (the two demo pages, the home page, the pricing page, sign-up and sign-in); sign-up and sign-in each keep their own entry (.register, .login), so dismissing it on one does not hide it on the other | Tab session |
dc.upgradeNudge.dismissed | Session storage | Web | Remembers that you dismissed the plan suggestion shown under the Grover assistant when your monthly allowance is nearly or fully used, so it is not shown again in this tab | Tab session |
dc.quotaGate.<feature> | Session storage | Web | One entry per metered feature (Grover messages, Scry searches, Tutor rounds, combo detections, saved decks, collection size). Remembers which plan suggestion you have already seen or dismissed for that feature in the current allowance period, so the same card is not shown to you twice in this tab | Tab session |
dc.upgrade.nudged.<feature> | Session storage | Web | One entry per metered feature. Remembers that a one line reminder about plans has already been shown for that feature in this browsing session, so it is shown at most once | Tab session |
dc.demo.signupPrompted | Session storage | Web | Remembers which moments in the demo have already offered you a free account, so the same offer is not raised at you twice in this browsing session | Tab session |
dc.scry.pendingSearch | Session storage | Web | Keeps the card search you were running when you chose a paid plan from the Scry upgrade prompt (the search text, its filters, the page you were on and, in the deckbuilder, which deck), so that the search runs again on Scry for you when you come back from checkout; the search text leaves this device only when that search runs, and only to Mana Grove | Tab session. It is never used after 24 hours, is deleted as soon as the search runs again or you come back without upgrading, and an entry that can no longer be used is deleted the next time Mana Grove loads in this tab |
dc.upgrade.pendingAction | Session storage | Web | Keeps the one action that a limit of your plan stopped (a monthly allowance, or the number of decks you can save) when you chose a paid plan, or a higher one, from an upgrade prompt, so that it can be finished for you when you come back from checkout or from changing your plan. That is one of: the message you were sending to Grover (its text and, where there is one, which deck and which conversation it belongs to); the deck you were saving, copying or publishing (for a new deck in the deckbuilder, a short code worked out from its name, format and cards so that only that same deck is saved, its card count, whether Grover built it and whether you had chosen to save it despite format errors, while the deck itself stays in the dm_brew_new_deck_draft entry above; for a deck Grover drafted for you, a reference to that draft and the name, description, folder and tags you gave it; for a copy, a reference to the deck you were copying and the name you gave the copy, if any; for a deck you were publishing, a reference to it and its name); the deck whose combos you wanted to see; or the deck you wanted Tutor's card suggestions for (and the sort order, filters and budget you had set). It also keeps the page you were on, the plan shown to you, the plan you chose (monthly or annual) and when you chose it, and your account's sign-in identifier, so that only that account can finish it. What you typed (a message, or a deck's name, description and tags) leaves this device only when that action is finished, and only to Mana Grove | Tab session. It is never used after 24 hours, is deleted as soon as that action is finished or you come back without upgrading (nothing is done for you, and a message is put back where you typed it, unsent), and an entry that can no longer be used is deleted the next time Mana Grove loads in this tab |
dc.firstDeckOffer.dismissed | Session storage | Web | Remembers that you answered "No thanks" to the first-deck Plus offer card when that answer could not be recorded on your account at the time, so the card is not shown to you again in this browsing session. Your answer is normally kept on your account, not on this device | Tab session |
dc.grove.whatsNextDismissed | Local storage | Web | Remembers that you dismissed the "what's next" card shown once after your first deck save | Until cleared |
| Active game state, local pods | AsyncStorage | App (when the mobile application is available) | Resumes an in-progress game | Until cleared |
| Recommendation cache | AsyncStorage | App (when the mobile application is available) | Caches on-device recommendations | Rotated automatically |
Where it is on by default. In Canada outside Quebec, where we can determine the province you are in, and in the United States outside California, where we can determine the state you are in and your browser sends no Global Privacy Control signal, Functional is on by default: the notice tells you so rather than asking, the Functional switch behind the notice's Manage options button is shown already on, and you can turn it off at any time. Everywhere else it stays off until you turn it on, and it is never pre-ticked. If you later use Mana Grove from a place where we ask first, we stop using these preferences there and delete what they stored on this device, unless you turn Functional on.
If Functional is off: the theme falls back to your operating-system light/dark setting on each load, view modes return to their defaults, recent searches and recently-viewed lists are not kept, and an unsaved deck draft is not restored after you close the tab. A collection import you started before upgrading your plan does not finish on its own after checkout: when you come back, you choose the file again. A card search you were running when you upgraded your plan from the Scry prompt is not run again for you after checkout: you run it again yourself. A message to Grover that your plan's monthly allowance stopped is not kept through checkout when you upgrade from the Grover prompt: you type it again yourself. A deck you were saving, copying or publishing when you upgraded from the saved-decks prompt is not saved for you afterwards: you save it again yourself, and a deck that is not saved yet cannot be kept in this browser while you check out. Combos or Tutor suggestions you asked for from their upgrade prompts are not opened for you afterwards: you open them again yourself. Everything still works. Nothing is withheld.
5. Analytics
Two separate things sit under the word "Analytics" on Mana Grove, and each has its own control. It matters which is which, so this section says so plainly:
- Google Analytics 4 (Google LLC) and Microsoft Clarity (Microsoft Corporation), plus our own measurement entries on your device (listed in the table below), are controlled by the Analytics switch in "Cookie preferences". Clarity's session recording has its own row in the same panel; it is part of Analytics, so the two switches turn on and off together. They are off until you turn Analytics on, everywhere except Canada outside Quebec and the United States outside California, where they are on by default with notice and you can turn them off. In the United States, a Global Privacy Control signal from your browser keeps them off until you turn them on.
- Plausible (our cookieless analytics script), the campaign arrival counter and event counts with no identifier are a smaller, separate layer. It stores nothing on your device and runs before you answer, in every country. Section 5.1 explains exactly what it is, where it runs and how to stop it.
How the two controls relate. They are separate switches, but they do not mirror each other. Turning Analytics off in "Cookie preferences" stops Google Analytics, Microsoft Clarity and our own entries in the table below; it does not stop the layer in section 5.1. Objecting in "Measurement settings" stops the layer in section 5.1 whatever your Analytics answer, so even with Analytics on, our own event counts stop, including those that would otherwise carry the dc.funnelAnonId token. An objection also deletes four of our own entries in the table below from this device: dc_telemetry_session, dc.funnelAnonId, dc.attribution.first and dc.attribution.last. It does not change your Analytics or Advertising answers, and it does not stop Google Analytics, Microsoft Clarity or the advertising tags. While Analytics stays on, some of our own entries in the table below may be written again when they are next needed; turning Analytics off is what stops them. An objection applies to the browser you make it in.
Where the controls are. Both are always available, wherever you live. "Cookie preferences" is in the site footer, where the "Your Privacy Choices" link opens the same choices, and under Settings → Privacy. "Measurement settings" is right beside it in the site footer, and under Settings → Privacy when you are signed in; both of those links open the same "Count my visits" switch.
Turning Analytics off takes effect immediately. It deletes from your device every entry in the table below that lives on our own site, including those that only last for the current tab; the cookies Microsoft sets on its own domains follow Microsoft's schedule. Turning measurement off in "Measurement settings" also takes effect immediately. The layer in section 5.1 never stored anything on your device, so the only things written when you object are the record of your objection and Plausible's own "do not count this browser" switch (both in section 3).
| Name | Type | Platform | Purpose | Expiry |
|---|---|---|---|---|
_ga | Cookie (Google Analytics 4, Google LLC) | Web | Tells one browser from another so that visits and page views can be counted | 2 years |
_ga_* (one per Google Analytics property) | Cookie (Google Analytics 4) | Web | Keeps the state of your current visit | 2 years |
_clck | Cookie (Microsoft Clarity, Microsoft Corporation) | Web | Keeps the Clarity visitor identifier for this site, so a return visit is attributed to the same pseudonymous visitor | 1 year |
_clsk | Cookie (Microsoft Clarity) | Web | Joins the page views of one visit into one session recording | 1 day |
_cltk | Session storage (Microsoft Clarity) | Web | An entry Microsoft Clarity keeps in this tab while it records a visit. We have seen it on our own site; Microsoft does not describe it in its published list of Clarity cookies, so we name it here | Tab session |
CLID, MUID, ANONCHK, MR, SM | Cookies set by Microsoft on its own domains when Clarity loads | Web | Microsoft's own identifiers for its analytics and, on Microsoft's own sites, advertising; Clarity does not use them for advertising on Mana Grove | Set and governed by Microsoft; see its Clarity cookie documentation |
dc_telemetry_session | Local storage | Web + app (when the mobile application is available) | Correlates search-quality events within a session | 24 hours |
dc.funnelAnonId | Local storage | Web | A random token that also records when it was created. It is used to avoid double-counting and, if you create an account on this browser, to link the arrivals and events recorded under it to that account (Privacy Policy section 4.10); rotated when you sign out | Until you sign out, turn Analytics off or object in "Measurement settings", or 13 months after it was created, whichever comes first |
dc.attribution.first, dc.attribution.last | Local storage | Web | Records which link brought you here, so we know which of our own campaigns work. Where the link was one of our own advertisements, this includes the click identifier the advertising platform issued (see section 5.3 and Privacy Policy section 4.10) | Until you sign out, turn Analytics off or object in "Measurement settings", or 13 months after the visit it records, whichever comes first |
dc.acquisition.landing | Session storage | Web | Remembers the page you arrived on in this visit, so a new account can be credited to the right page or campaign | Tab session |
dc.homeBannerViewed | Session storage | Web | Remembers that a promotional banner was shown in this tab, so the view is only counted once | Tab session |
dc.subscribeGoalFired.<checkout> | Session storage | Web | Remembers that a completed subscription checkout was already counted in this tab, so it is only counted once. The name ends in the reference of that checkout | Tab session |
dc.purchaseGa4Fired.<checkout> | Session storage | Web | Remembers that a completed subscription purchase was already reported to Google Analytics from this tab, so it is only reported once. The name ends in the reference of that checkout | Tab session |
dc.tour.bucket | Session storage | Web | Records which version of the welcome experience this browsing session was shown, so the two can be compared without counting you twice | Tab session |
| Install and attribution identifiers | AsyncStorage | App (when the mobile application is available) | Records which link led to an app install (Google Play Install Referrer) | Until cleared, when the mobile application is available |
Every entry in the table above needs your Analytics permission: in Canada outside Quebec and in the United States outside California it is on by default with notice and you can turn it off; everywhere else it stays off until you turn Analytics on. None of them is part of the layer described in section 5.1.
Google Analytics and Microsoft Clarity are not cookieless. They set the cookies above so that a return visit is recognized as the same browser, and they receive technical data about your visit: the pages you viewed, your device and browser type, your approximate location and the actions you take on a page. Clarity also records how a page was used, so we can replay where it broke; anything typed into a form is masked before it is recorded. Under the Analytics category alone, Google Analytics is told through Google's consent signals that it may measure but not personalize advertising; the two are joined only if the Advertising category in section 6 is also on for you. Each provider processes what its tag collects under its own published privacy policy and the data-processing terms we have accepted with it; the Privacy Policy (sections 11 to 13 and 18) names them and their transfer safeguards.
We do not sell your data and we have no affiliate trackers. Every third-party tag is loaded by our own code. Google Analytics, Microsoft Clarity and the advertising tags never load before your choice has been read, except in Canada outside Quebec and the United States outside California, where they are on by default with notice (section 5.2), and each of them is removed when you withdraw. The Plausible script is the one exception: it belongs to the layer in section 5.1, loads before you answer, and is removed when you object in "Measurement settings". There is no Google Tag Manager, Segment or similar tag container on Mana Grove, and the advertising tags run only under the Advertising category in section 6.
Some events are recorded on our servers as a record of something you did with us, for example starting a checkout, activating a subscription, or your advertising-measurement setting as described in the Privacy Policy. Those are operational records of your transaction, not storage on your device, and they are covered by the Privacy Policy rather than by this consent banner. Some of them are also sent on to an advertising platform, and section 5.3 says which, when, and what we never send.
5.1 Measurement that runs without asking you
A small, separate layer of our own measurement runs before you answer, in every country. It is controlled entirely by "Measurement settings", not by the Analytics switch above, and it is a closed set of exactly three things:
- the Plausible script, which sets no cookie and stores nothing on your device. We serve it, and receive its events, from our own domain (
/js/script.jsand/js/api/event) rather than directly from Plausible, so that measurement is not silently removed by a content blocker; the same aggregate data reaches Plausible either way, none of our cookies travel with it, and technical request data such as IP address is processed transiently to produce aggregate statistics and is not retained (per Plausible's published data policy); - a counter that records, per day and per campaign, how many visits arrived on one of our pages, with the country and the kind of device (phone, tablet, computer or other), and how many accounts were created, with the country only, storing nothing on your device; and
- event counts that record that something happened here, such as a page opening or a button being used, with no identifier attached and nothing stored on your device for them.
Nothing else is part of this layer. Google Analytics, Microsoft Clarity and our own measurement entries in the table above (dc_telemetry_session, dc.funnelAnonId, dc.attribution.first, dc.attribution.last, dc.acquisition.landing, dc.homeBannerViewed, dc.subscribeGoalFired.<checkout>, dc.purchaseGa4Fired.<checkout>, dc.tour.bucket) all need your Analytics permission. They never run before you answer, except in Canada outside Quebec and the United States outside California, where they are on by default with notice (below). In the United Kingdom and the European Union, as everywhere else, they wait until you turn Analytics on.
Everywhere, including Quebec, the EEA, the United Kingdom, Switzerland and California, the three things above run on every visit, because none of them stores anything on your device; the only stored information they read from it is your own privacy choices, such as the record of your objection if you have made one, so that those choices are honoured, and, while you hold it, the free demo's session cookie (section 3), which our servers read only to limit how many event counts one demo browser can send. The counter keeps only daily totals, each event count is a record that something happened with no identifier attached, Plausible keeps only aggregate statistics, and none of them can be traced back to you.
Counts our servers make from a request. A few of the event counts are made on our servers from a request your browser sends anyway, rather than reported by your browser: the free demo's own steps (opening it, asking Grover, running a search), counted against the campaign the visit came from, and a click on one of our own short campaign links, recorded as it forwards you to our site (Privacy Policy section 4.10 says what that record holds, and the one place, Canada outside Quebec, where it holds more than a count). None of them stores or reads anything on your device. Because they are made on our servers from the request itself, an objection saved in your browser cannot reach them.
In Canada outside Quebec, where we can determine the province you are in, and in the United States outside California, where we can determine the state you are in and your browser sends no Global Privacy Control signal, everything in section 5 above (Google Analytics, Microsoft Clarity and our own measurement entries), everything in section 6 and the Functional category (section 4) also run by default, in addition to the three things above. The notice tells you so instead of asking, and you can turn any of it off at any time.
In the United Kingdom, nothing more than the three things above runs before you answer. Because none of them stores anything on your device, UK law does not require us to ask you first. We still hold them to the conditions UK law sets for statistics of this kind: we tell you clearly what we do, here and in the Privacy Policy; they are used only to count how Mana Grove is used, including which of our own pages and campaigns bring visitors, so that we can improve it, and never to show you advertising or to follow or profile anyone; what they produce is shared with nobody except Plausible, which compiles the script's statistics for us; and you have a simple way to object that costs you nothing: the "Measurement settings" link in the site footer, or the same link under Settings → Privacy when you are signed in; both open the "Count my visits" switch. Object, and the three things stop immediately for this browser, apart from the counts our servers make from a request (above). Google Analytics, Microsoft Clarity and our own measurement entries in the table above stay off until you turn Analytics on, exactly as everywhere else except Canada outside Quebec and the United States outside California.
In the European Union and the European Economic Area, the same three things run before you answer, on the narrower terms an exempt audience measurement has to meet: they measure only this site, they never follow you to another site, and they are never combined with anything else we or anyone else holds about you. Because none of the three stores anything on your device, there is nothing to expire; the counts we keep from them are deleted after 25 months at the latest, and Plausible keeps only aggregate statistics with no identifier. A click identifier is never attached to your account here without your express consent, given by accepting the Advertising category in the cookie notice when you arrived (Privacy Policy section 4.10). The same "Measurement settings" link turns the three things off, free, at any time.
In Quebec, wherever we cannot determine your province, in Switzerland, in California, wherever we cannot determine your US state or your region, in the United States whenever your browser sends a Global Privacy Control signal, and in every other country not named in this section, the same three things run, and nothing else does. Anything that could identify, locate or profile you stays off until you turn it on, and it is never pre-ticked.
Nothing in the Advertising category (section 6) or the Functional category (section 4) runs before you answer anywhere except Canada outside Quebec and the United States outside California, where both are on by default with notice; in the United States, a Global Privacy Control signal from your browser keeps them off.
5.2 Providers that only ever run with your permission
Four third-party services can run on Mana Grove. Everywhere except Canada outside Quebec and the United States outside California, none of them runs until you turn on the category it belongs to, and none of them is covered by anything in section 5.1.
| Provider | Category | Where it can run before you answer | Everywhere else |
|---|---|---|---|
| Google Analytics 4 (Google LLC) | Analytics | Canada outside Quebec, and the United States outside California without a Global Privacy Control signal; on by default with notice | Off until you turn Analytics on |
| Microsoft Clarity (Microsoft Corporation), including session recording | Analytics | Canada outside Quebec, and the United States outside California without a Global Privacy Control signal; on by default with notice | Off until you turn Analytics on |
| Google Ads tag (Google LLC) | Advertising | Canada outside Quebec, and the United States outside California without a Global Privacy Control signal; on by default with notice | Off until you turn Advertising on |
| Reddit Pixel (Reddit, Inc.) | Advertising | Canada outside Quebec, and the United States outside California without a Global Privacy Control signal; on by default with notice | Off until you turn Advertising on |
Microsoft Clarity is the one that records how a page was used, so that we can replay where it broke. That recording never runs anywhere except Canada outside Quebec and the United States outside California (where a Global Privacy Control signal also keeps it off) unless you have turned Analytics on, and anything typed into a form is masked before it is recorded, everywhere, in every mode.
5.3 What we send to an advertising platform from our servers
Separately from anything in your browser, our servers send a short message to the advertising platform that showed you our advertisement, so that the platform can count the result. We currently do this with Google Ads and with Reddit. The message contains:
- the click identifier that platform itself issued when you clicked our advertisement, for example Google's
gclidor Reddit'srdt_cid; - a one-way hashed version of your email address, which the platform can match against an account it already has and cannot turn back into your address;
- what happened, at the level of "created an account" or "subscribed", and when.
It also carries a signal telling the platform that it may count this, and may not use it to personalize advertising. It never contains your name, your decks, your collection, your searches, your messages to Grover or anything you typed.
Whether we send it at all depends on where you are, and the Privacy Policy, section 18.1, sets the rule out in full. In Canada outside Quebec and in the United States outside California it is on by default, and you can turn it off at any time. In Quebec, in the EEA, in the United Kingdom, in Switzerland, in California, wherever we cannot determine your region or your US state, and in the United States whenever your browser sends a Global Privacy Control signal, we send nothing unless you have agreed, and there are two ways to agree, either of which is enough on its own: ticking the advertising-measurement choice we offer when you create your account, or accepting the Advertising category in the cookie notice or in "Cookie preferences". Neither is ever pre-ticked. If you accept Advertising before you have an account, or while you are signed out, that answer is copied onto your account when you next sign in. Wherever you are, you can stop these messages at any time: turn advertising measurement off under Settings → Privacy, or turn the Advertising category off. Either one records on your account that you said no (if you are signed out, when you next sign in), and a recorded no stops them whichever way you had agreed, including where they would otherwise be on by default. This is not retargeting and it is not how retargeting is built: section 6 is where that happens, and only for people whose Advertising category is on.
Other third-party services
Beyond the analytics and advertising providers named in sections 5 and 6, our pages load a small number of third-party services: Cloudflare Turnstile, an anti-abuse challenge used on a limited set of forms and, invisibly, on the free demo pages (strictly necessary; it loads from Cloudflare and may set its own challenge state), and our sign-in service (Firebase Authentication), whose software runs on every page (section 3 lists what it keeps in your browser) and contacts Google's authentication servers whenever it handles your sign-in, for example when you sign in, create an account or stay signed in. On the screens that show sign-in buttons, and nowhere else (the free demo's sign-up panel as it opens, and our sign-in and sign-up pages), it also loads Google's sign-in helper, a script from Google and a hidden sign-in frame that loads further Google scripts, before you choose how to sign in, so that the sign-in window can open as soon as you choose. Cloudflare, our network and security provider, also adds a small script, served from our own domain, to every page our site sends to your browser; it checks whether a visit comes from a person's browser or from automated software, and Cloudflare keeps the result in the cf_clearance cookie (section 3). Our fonts are self-hosted; no font provider receives your requests.
6. Advertising
These exist so that our own advertising on other platforms can be measured and, if you allow it, shown to people who have visited us. We show no advertising on Mana Grove itself, we never sell your data, and we have no affiliate trackers; this category is about Mana Grove's advertising elsewhere, nothing more.
Where you are decides whether we ask you first, independently of the Analytics and "Measurement settings" controls in section 5. In Canada outside Quebec, where we can determine the province you are in, and in the United States outside California, where we can determine the state you are in and your browser sends no Global Privacy Control signal, advertising is on by default: the notice tells you so rather than asking, and you can turn it off at any time. The quickest way is the notice's own Manage options button, where the Advertising switch is shown already on; switch it off and save your choices. Later, the "Cookie preferences" link in the site footer (or the "Your Privacy Choices" link beside the Privacy Policy) reopens the same choices and, if you are signed in, the Advertising switch in the Cookies & analytics card under Settings → Privacy turns it off with one click. In Quebec, wherever we cannot determine your province, your US state or your region, in the EEA, the United Kingdom, Switzerland and California, and in the United States whenever your browser sends a Global Privacy Control signal, advertising stays off until you turn it on, and it is never pre-ticked. Wherever you are, while this category is off no advertising tag loads, no advertising cookie is set, and nothing about your visit reaches an advertising platform from your browser. Turning it off removes from your device every cookie and storage entry in the table below that lives on our own site, stops the tags immediately, and ends any further advertising signal about you from us, including the server messages in section 5.3 once your answer reaches your account; the cookies Google sets on its own domain (IDE and test_cookie) follow Google's schedule, shown in the table. What a platform already collected stays subject to its own published data policy and to the choices its own advertising settings offer you.
One honest limit. When the Google advertising tag has run, Google also writes a copy of the click identifier into storage on its own domains, locked to Mana Grove, that our code is not permitted to read or delete. Turning the category off stops our tags, stops every signal we send and removes every copy we control. Those remaining entries expire on Google's own schedule, published as 90 days for this family, or sooner if you clear site data in your browser.
| Name | Type | Platform | Purpose | Expiry |
|---|---|---|---|---|
_gcl_au | Cookie (Google Ads tag, Google LLC) | Web | Lets Google Ads tell that a visit came from one of our ads and count an account or a subscription as a result | 90 days |
_gcl_aw, _gcl_gs | Cookie (Google Ads tag) | Web | Set only when you arrive from one of our Google ads; carry the click identifier so the conversion can be attributed to that ad | 90 days |
_gcl_ls | Local storage (Google Ads tag, Google LLC) | Web | Google's conversion linker keeps the details of a click on one of our Google ads here as well as in the _gcl_aw cookie, so that a resulting account or subscription can be attributed to that ad | No expiry published by Google; we delete it when you turn Advertising off |
IDE, test_cookie | Cookies set by Google on its own domain (doubleclick.net) when the advertising tag loads | Web | Google's own advertising identifier and its check that cookies can be set; used to show and measure Mana Grove's advertising on Google's services | IDE: 13 months in the EEA, Switzerland and the UK, 24 months elsewhere; test_cookie: 15 minutes |
_rdt_uuid | Cookie (Reddit Pixel, Reddit, Inc.) | Web | Lets Reddit tell that a visit came from one of our ads, count an account or a subscription as a result, and include this browser in an audience for Mana Grove's advertising on Reddit | 90 days |
dc.subscribeConversionFired.<checkout> | Session storage | Web | Remembers that a completed subscription was already reported to Google Ads and Reddit from this tab, so it is only reported once. The name ends in the reference of that checkout | Tab session |
What these tags send is a record that this browser visited Mana Grove and, at a coarse level, what it did here (for example, viewed the pricing page or created an account), together with the platform's own identifier. They do not send your decks, your collection, your messages to Grover or anything you typed, and they never give the platform access to your account.
If you have an account, one more rule applies: accounts created before September 13, 2026 remain on version 1.3 of our Terms of Service until they accept version 2.0 or later, and until then they are excluded from retargeting. Every signal we send about such an account carries personalization denied (Google's ad_personalization and ad_user_data set to denied), and the account is left out of any audience we build. The Privacy Policy, section 18, sets this out in full.
7. Crash reporting
Mana Grove reports application crashes and errors so we can fix them. The crash reporter stores nothing on your device except the record of your choice (mg_crash_opt_out), and personal data is stripped before a report is sent. Because there is no other storage on your device and the purpose is keeping the service working and secure, this is not one of the consent categories above.
You can still turn it off: Settings → Privacy → Share crash reports (web and app).
8. Mobile app specifics
When our mobile apps are available, they do not use cookies at all. They use AsyncStorage, the app equivalent, for the same purposes listed above and under the same categories.
For installs, we read Google's own Play Install Referrer so we know which of our own links led to an install. That information goes only to Mana Grove.
There is no Apple App Tracking Transparency prompt, because we do not do what Apple defines as tracking: we read no advertising identifier (IDFA/AAID), ship no advertising SDKs, and share no data with third parties for advertising or data brokering.
9. Retention and the consent record
If you are not signed in, the record of your choices stays on your device only. We deliberately do not create a server-side record for anonymous visitors: minting an identifier just to log that a stranger said "no" would create exactly the tracking this banner exists to prevent. This also applies to an objection made in "Measurement settings": whether or not you are signed in, that objection is kept on your device only, for the same reason.
What we do keep, for everyone, is a count. When you answer the cookie notice, your browser sends one message that carries no identifier, and our server adds one to a daily total for that kind of answer: whether you accepted everything, refused everything, saved your own choices, or let the notice close by itself once you started using the page; whether the notice told you or asked you; the language it was in; and a broad region worked out from your connection (Canada, the United States, the United Kingdom, France, the rest of the European Union and the EEA, Switzerland, elsewhere, or unknown). Nothing is stored on your device for it, nothing about you is kept beside it, and the totals are deleted after 25 months at the latest. We count every answer, a refusal included, so that we can see whether the notice is clear and working.
If you are signed in, each choice you make in "Cookie preferences" is also appended to an audit trail on your account, so we can show what was agreed and when. That trail records the notice version, the categories, the action, the timestamp and whether it came from web or app. We keep it for as long as the account exists and for 24 months after it is closed, because a record of consent that is deleted with the account cannot answer the one question it exists to answer. Your answer to the Advertising category also updates your account's advertising-measurement setting, as section 5.3 explains: accepting it where we ask you first counts as agreeing, and turning it off, wherever you are, records that you said no.
We deliberately do not log your IP address or user agent alongside a consent record (separate from ordinary, short-lived infrastructure request logs, which are covered by the log-retention section of the Privacy Policy).
10. Changes to this policy
If the categories change, a new purpose joins an existing category, or the wording changes materially, we increase the notice version and ask you to choose again wherever the change affects a choice you made. Minor clarifications and typo fixes do not trigger a new prompt.
This policy is published in English and French. Both versions are intended to convey the same information; questions of interpretation are subject to applicable law.
Questions about this policy? Write to privacy@themanagrove.com, or see the Privacy Policy for the other ways to reach us.