Cookie Policy
What Magemcy stores in your browser, and why. This page lists every key by name rather than describing categories in the abstract, so you can check it against your own browser.
On this page 6 sections
The short version
Magemcy runs no advertising or analytics trackers. There is no Google Analytics, no Google Tag Manager, no advertising pixel, and no third-party tracking script on this site. We do not sell or share personal information for behavioural advertising.
What we do store is a short list of things the product needs in order to work, plus a few preferences so it behaves the way you left it. Every one is named below.
We publish a preference centre and honour opt-out signals anyway, because the moment we add anything optional you should already be in control of it, not waiting for us to build the controls.
Categories
- Strictly necessary. Staying signed in, remembering an invitation you are mid-way through accepting, and rate-limiting the public chat. The service does not function without these, so they cannot be switched off and consent is not required for them.
- Functional: remembering choices you made, like a list view or a dismissed tour. Turning these off costs you convenience, nothing more.
- Analytics: measuring how the product is used. We currently use none.
- Marketing: advertising and cross-site tracking. We currently use none, and have no plans to.
Everything we store
Most of this is localStorage and sessionStorage rather than cookies. The distinction does not change your rights, so the table covers all of it. A name ending in <id> is one key per account or workspace.
Functional and analytics keys are written only after you allow that category. Until then a preference you set lasts until you reload the page, and turning a category off deletes its keys from this browser.
| Name | Where | What it does | Category | How long |
|---|---|---|---|---|
| firebaseLocalStorageDb | IndexedDB | Keeps you signed in. Set by Google Firebase Authentication. | Strictly necessary | Until you sign out |
| firebase-heartbeat-database | IndexedDB | Which versions of Google Firebase's library this browser used, and on which days, sent with the next request to Firebase and then deleted. It holds no identifier. Set by Google Firebase. | Strictly necessary | Until the next request to Firebase |
| mg_session | Cookie | Keeps you signed in across Magemcy's apps, so signing in once covers all of them. Scripts on the page cannot read it. | Strictly necessary | 14 days, or until you sign out |
| mg_chat | Cookie | Identifies your website chat session so it can be rate-limited and so you can delete it. Set only when you send a first message, never when the chat merely opens. | Strictly necessary | 24 hours |
| magemcy.consent | localStorage | Your choices on this page. | Strictly necessary | 12 months |
| pendingInviteToken | sessionStorage | Resumes an invitation after you sign in. | Strictly necessary | Until the tab closes |
| pendingJoinPath | sessionStorage | Resumes an invitation after you sign in. | Strictly necessary | Until the tab closes |
| magemcy.authNext | localStorage | The page a link was taking you to, so you land there after signing in or verifying your email. | Strictly necessary | 30 minutes, or until used |
| magemcy.verifySendFailed | sessionStorage | Why your first verification email could not be sent, so the next screen can tell you. | Strictly necessary | Until the tab closes |
| magemcy.signInNotice | sessionStorage | Why a sign-in was refused (a different Google account, say), so the next screen can still explain it. | Strictly necessary | 5 minutes, or until shown |
| magemcy.sessionChecked | sessionStorage | That this tab has already looked for your Magemcy sign-in, so it is not asked again on every page. | Strictly necessary | Until the tab closes |
| magemcy.signedOut | sessionStorage | That you signed out in this tab, so it never signs you back in by itself. | Strictly necessary | Until the tab closes |
| magemcy.onboarding.draft | sessionStorage | Your unfinished company application (the answers and how far you got, never the files), so a reload resumes where you were. | Strictly necessary | Until you submit or the tab closes |
| magemcy.vendorDraft.<id> | sessionStorage | Your unfinished vendor registration (the answers, never the files), so a reload or a sign-in resumes where you were. | Strictly necessary | Until you submit, sign out or the tab closes |
| magemcy.bootstrap.<id> | sessionStorage | That a newly approved workspace's starting settings were checked in this tab, so it is done once. | Strictly necessary | Until the tab closes |
| vendor-database:ai-evaluation-consent-version:<id> | localStorage | Records that you agreed to an AI evaluation. | Strictly necessary | Until cleared |
| magemcy.region | localStorage | Which region's privacy notices to show you. | Functional | 12 months |
| vendor-view | localStorage | Grid or table view on the vendor list. | Functional | Until cleared |
| magemcy.referral | localStorage | A referral code from a shared link. | Functional | Until used or cleared |
| magemcy.tourDone.<id> | localStorage | That you finished the guided tour. | Functional | Until cleared |
| magemcy.salesChat.dismissed | localStorage | That you dismissed the website assistant's greeting, so it stops offering by itself. | Functional | Until cleared |
| magemcy.salesChat.transcript | sessionStorage | Your website assistant conversation, so it survives moving between pages. | Functional | Until the tab closes |
| magemcy:assistant:<id> | sessionStorage | Your recent in-app assistant messages, so the panel survives a page change. | Functional | Until the tab closes |
| magemcy:assistant:nudge | sessionStorage | How many reminders the in-app assistant has for you, so moving between pages does not ask again. | Functional | Until the tab closes |
| magemcy.nav.collapsed | localStorage | Which sections of the side menu you folded away. | Functional | Until cleared |
| magemcy.nav.rail | localStorage | Whether the side menu shows icons only or full labels. | Functional | Until cleared |
| mg_theme | Cookie | Your light, dark or system colours, shared by every Magemcy site (Procure, Hire, magemcy.com) so one choice applies everywhere. Set only when you pick a theme. | Strictly necessary | 12 months |
| magemcy.theme | localStorage | The same light, dark or system choice, kept by this site too for a browser that blocks the cookie. | Strictly necessary | Until cleared |
| magemcy.theme.workspace | localStorage | Left by an earlier version, which remembered a company workspace's shared theme. No longer used, and deleted on your next visit. | Functional | Until your next visit |
| magemcy.analytics.sid | sessionStorage | A random, anonymous measurement id for this tab. Written only if you allow analytics. | Analytics | Until the tab closes |
| magemcy.analytics.funnel | sessionStorage | How far this tab has got through signing up or the website chat, so each step is counted once. Written only if you allow analytics. | Analytics | Until the tab closes |
Stripe sets its own cookies on its hosted checkout and billing pages, which are Stripe’s pages rather than ours; see Stripe’s privacy policy. Fonts are served from our own domain, so no request goes to a font provider.
How to control it
Use Cookie settings, or the “Cookie settings” link in the footer of any page, at any time. Rejecting is exactly as easy as accepting, one click, same prominence.
You can also clear site data in your browser. That signs you out and forgets your preferences, including your cookie choices, so you will be asked again.
Global Privacy Control
If your browser or extension sends a Global Privacy Control signal, we treat it as a valid opt-out from any sale or sharing of personal information and from non-essential storage, without you having to do anything else. When we detect it, we say so on the page rather than leaving you to guess.
More on this in Your Privacy Choices.
Changes
If we add anything that stores data in your browser, this page changes with it and, for anything non-essential, you will be asked first. Questions: our privacy contact.
Questions about this policy?
A person reads every message. Get in touch and we’ll answer. Or ask Gero, our AI assistant, to walk you through what this page says - his answers explain, they don’t bind.