Last updated April 24, 2026
Cookie policy
We use strictly necessary cookies to operate Cuadra (session, language preferences) and anonymous, privacy-friendly analytics. Cuadra sets no advertising cookies of its own. A business selling through us may enable third-party measurement tools on its online store; when that happens we tell you on that store, and they only run if you accept.
Strictly necessary keys
| Key | Stored in | Purpose |
|---|---|---|
| cuadra.store.cart | localStorage | Keeps the items in your online-store basket so they survive closing the tab. Cleared when you empty the basket or complete the order. |
| cuadra.consent | localStorage | Records your cookie-consent decision so we know whether analytics are allowed. |
| cuadra.locale | localStorage | Remembers your preferred language across visits. |
| cuadra.booking-again | localStorage | Remembers which services and staff member you last booked at a business, so the page can offer to repeat that booking in one tap. Stores only the catalogue references, never your name or contact details. Cleared when you dismiss the suggestion. |
| cuadra.pos.credit-standing | localStorage | Keeps the last known credit limit and outstanding balance for the customers served on this device, so a credit sale can still be judged while the register is offline. Cleared when you sign out. |
| cuadra.smart-default.payment-method | localStorage | Remembers the last payment method you used so the next sale defaults to it. UX preference, not analytics. |
| cuadra.smart-default.po-supplier | localStorage | Remembers the last supplier you raised a purchase order for so the next New-PO form defaults to it. UX preference, not analytics. |
| cuadra.smart-default.table-section | localStorage | Remembers the last section (e.g. "Patio") you assigned a table to so the next New-table dialog defaults to it. UX preference, not analytics. |
| cuadra.smart-default.pos-table | localStorage | Remembers the last table you opened a tab on in POS so the next sale defaults to it. UX preference, not analytics. |
| cuadra.smart-default.pos-modifier | localStorage | Remembers the most-frequently-picked modifier options per group so the POS picker surfaces them first. UX preference, not analytics. |
| cuadra.smart-default.pos-course | localStorage | Remembers the last course assigned per product category so the POS line chip defaults to it. UX preference, not analytics. |
| cuadra.smart-default.table-branch | localStorage | Remembers the last branch you assigned a table to so the next New-table dialog defaults to it. UX preference, not analytics. |
| cuadra.smart-default.pos-scanner-mode | localStorage | Remembers whether you last opened POS in scanner mode so a retail cashier lands ready-to-scan. UX preference, not analytics. |
| cuadra.smart-default.shrinkage-cause | localStorage | Remembers the last shrinkage cause you picked on the stock-adjust form so unpacking a damaged shipment does not require re-picking the same cause for every variant. UX preference, not analytics. |
| cuadra.welcome-prefill | sessionStorage | Carries your business name from signup to the welcome wizard so you do not retype it. |
| cuadra.welcome-draft | localStorage | Auto-saves your in-progress welcome wizard so a closed tab does not lose your work. |
| cuadra.referral-code | localStorage | Holds the referral code you arrived with so it is applied when your account is created. |
| cuadra.trial-banner-dismissed | sessionStorage | Hides the trial expiry banner for this session after you dismiss it. |
| cuadra.just-onboarded | sessionStorage | Surfaces the install-the-app prompt only on the first dashboard visit after signup. |
| cuadra.gate-offer-seen | sessionStorage | Remembers that this session already saw the screen asking you to add a payment method, so the app leads with it once and then lets you browse your data read-only. |
| cuadra.verify-banner-dismissed | sessionStorage | Hides the "verify your email" reminder for this session after you dismiss it. |
| cuadra.recent-routes | sessionStorage | Lists the pages you visited in this tab so the search palette can offer them back. |
| cuadra-native-onboarded | localStorage | Remembers that you already saw the app intro, so it plays once per device. |
| cuadra.tour: | localStorage | Remembers which one-off tips you closed, so they are not shown again on this device. |
| cuadra.recurrente-connection-banner-dismissed | sessionStorage | Hides the payment-connection warning for this session after you dismiss it; it returns while the connection is still broken. |
| cuadra.first-run-dismissed-legacy | localStorage | Pre-#1332 record that you closed a setup checklist on this device; read once and removed after it is saved to your account. |
| cuadra.recent-clients: | localStorage | Lists the clients you picked recently on this device so they are offered first. |
| cuadra.last-route | sessionStorage | Returns you to the page you were on when the app reloads itself. |
| cuadra-sw-updated | sessionStorage | Shows the "app updated" notice once after a new version installs. |
| cuadra.feature. | localStorage | Remembers which preview features you turned on for this device. |
| cuadra.help-tour: | localStorage | Remembers which guided tours you finished or skipped on this device. |
| cuadra.sidebar- | localStorage | Keeps the menu sections you collapsed the way you left them on this device. |
| cuadra.pos-cart: | localStorage | Keeps the POS cart on this device so a reload, a crash or an offline moment does not lose a sale in progress. |
| cuadra.last-operator-id | localStorage | Remembers who last used this device so the operator picker can offer them first. |
| cuadra.retention-celebrated | localStorage | Remembers which milestone celebrations you already saw, so they play once. |
| cuadra.setup-min: | localStorage | Remembers that you minimised the setup progress card on this device. |
| cuadra.welcome-email-banner-dismissed | sessionStorage | Hides the "welcome email failed" notice for this session after you dismiss it; it returns while the send is still failing. |
| cuadra.appBarDismissed | localStorage | Hides the "get the app" strip on this device for two weeks after you close it. |
| cuadra.commsInbox.pushOptInDismissed | sessionStorage | Hides the inbox push-notification invitation for this session; a push subscription is per-device, so this is too. |
| cuadra.activation-celebrated | localStorage | Tracks which activation milestones we have already shown a celebration for. |
| cuadra.feature.hub-home | localStorage | Per-device opt-in for the new HubHome navigation surface (A2 nav rebuild). When enabled, the dashboard renders the phone-first hub with pinned destinations + drawer. Default: opt-in only during the staff-only soak phase. |
| cuadra.appointments-first-run-dismissed | localStorage | Remembers that you dismissed the appointments setup panel. |
| cuadra.crm-first-run-dismissed | localStorage | Remembers that you dismissed the clients setup panel. |
| cuadra.comms-first-run-dismissed | localStorage | Remembers that you dismissed the communications setup panel. |
| cuadra.loyalty-first-run-dismissed | localStorage | Remembers that you dismissed the loyalty setup panel. |
| cuadra.fel-first-run-dismissed | localStorage | Remembers that you dismissed the electronic-invoicing setup panel. |
| cuadra.orders-first-run-dismissed | localStorage | Remembers that you dismissed the sales setup panel. |
| cuadra.exit-intent-shown-at | localStorage | Records that we already showed the exit-intent modal so it does not re-fire on later visits. |
| cuadra.sticky-cta-dismissed-at | localStorage | Records that you dismissed the sticky bottom CTA bar so it does not re-appear on later visits. |
| cuadra.store.recently-viewed | localStorage | Remembers which products you looked at on this online store so the landing page can show a "Vistos recientemente" rail. Stores only catalogue product ids, scoped per store, capped at the last 12 — never your name or contact details. |
| cuadra.sync.clientId | localStorage | Stable per-browser identifier (UUID v4) used by the offline-first sync engine to record this device's last-seen cursor on the server. Lets the audit-retention sweep know which clients are still active so it does not purge data they would still need. |
Analytics keys (opt-in)
| Key | Stored in | Purpose |
|---|---|---|
| _ga | cookie | Google Analytics 4 client identifier. Tells GA4 your visits are from the same device. |
| ph_anonymous_id | localStorage | PostHog anonymous identifier for stitching events into a single funnel. |
Essential cookies
Keep your session alive and save your preferred language. Without these cookies, Cuadra doesn't work.
Analytical cookies
Privacy-friendly analytics let us see how many visitors each page receives, without identifying you personally. 100% anonymous.
How to control them
You can turn analytics and ad measurement on or off from the "Privacy" link at the foot of any page — no browser settings needed. Essential ones cannot be turned off: without them you cannot sign in.