| localStorage | sb-<project-ref>-auth-token | Signed-in session and secure session renewal | Until sign-out, expiry/revocation of the session or deletion of site data; session validity is managed by the authentication service |
| localStorage | gellatti_partner_link_consent_v1 | Your accept or reject choice, without a visitor or partner identifier | At most 30 days; updated only by a new explicit choice |
| localStorage | gellatti_referral_evidence_v1, gellatti_partner_link_identity_v1 | Optional partner-link reminder and random identifier, only after acceptance | At most 30 days, limited by the consent and link expiry; removed on rejection, withdrawal or expiry |
| sessionStorage | gellatti.partner.auth-continuation.v1 | Continue a partner-linked registration after you choose Google sign-in | 10 minutes at most, single use; cleared on completion, failed/cancelled sign-in or sign-out |
| sessionStorage | gellatti.friend.auth-continuation.v1 | Continue a friend referral after you choose Google sign-in; the pending code otherwise stays in memory for the current visit only | At most 10 minutes and one use; removed after return, failed/cancelled sign-in or sign-out. Old persistent pending codes are removed. |
| localStorage | gellatti-active-account-owner | Separate private drafts between accounts on the device | Updated when the account changes; removed with site data |
| localStorage | gellatti-recipe, gellatti-intake, gellatti.home.draft.v1 | Recipe drafts and choices needed to continue your work | No fixed expiry; cleared when the corresponding draft is reset, the account boundary changes or site data is deleted |
| localStorage | gellatti-constraints | Requirements you set for the current recipe in the recipe studio | No fixed expiry; cleared with the corresponding draft, at an account change or by deleting site data |
| localStorage | gellatti.guest-recipe-intent.v1 | Ingredients chosen before registration, so the recipe continues after you sign in | No fixed expiry; cleared when the draft is reset or taken over by the account, or by deleting site data |
| localStorage | gellatti.demo.last-topping-input.v1 | The last topping amount you typed in the demo, bound to the current draft | No fixed expiry; cleared with the draft or by deleting site data |
| localStorage | gellatti-session, gellatti.home.view.v1 | Selected application experience and HOME view | No fixed expiry; replaced when changed or removed with site data |
| localStorage | gellatti-shop-country, gellatti-shop-cart-v1 | Chosen shop destination and cart | No fixed expiry; changed or cleared by the corresponding shop control or by deleting site data |
| localStorage | gellatti.product_country.v1 | Chosen product-catalogue country | No fixed expiry; until changed, cleared or site data is deleted |
| localStorage | gellatti.machine_preference.v1, gellatti.machine_professional.v1 and account-specific variants | Selected machine and batch preferences | No fixed expiry; until changed, cleared or site data is deleted |
| localStorage | gellatti-profile-preferences-v1, gellatti-ingredient-table-ux-v1 | Recipe profile and ingredient table preferences | No fixed expiry; reset on the account boundary or deletion of site data |
| localStorage | gellatti.tutorial.home.seen.v1 | Remember that you have seen the tutorial | No fixed expiry; until reset or deletion of site data |
| localStorage | gellatti.scanner.cameraPermissionHint.v1 | Remember that you have closed the camera-permission hint (Safari on iPhone and iPad only) | No fixed expiry; until deletion of site data |
| localStorage, sessionStorage | gellatti.storage-migration.v1 | Record which earlier storage names (pinguino-…) have already been carried over to the names in this table, so it happens only once | No fixed expiry; removed with site data. Earlier pinguino-… copies stay only until the account changes on the device or site data is deleted |
| localStorage | gellatti-production-session, gellatti-production-step-memory, gellatti-production-refused-rescue | Continue the selected production process and remember its controls | No fixed expiry; until replaced, reset or deletion of site data; the private production session resets at an account change |
| localStorage | gellatti:production-community-dismissed:<recipeId>:v<version> | Remember dismissal of a publication invitation | No fixed expiry; until deletion of site data |
| localStorage | gellatti.user-monitor-layout.v1, gellatti:pro-monitor-expanded:v1 | Chosen monitor layout and expanded modules | No fixed expiry; until changed, reset or deletion of site data |
| localStorage | gellatti.label.unremembered-defaults.v1 | Recover label settings when a requested save has not succeeded | Until the save is resolved, the account changes or site data is deleted; no automatic time limit |
| localStorage | gellatti:intimport:active-run-v1 | Resume your active product import | Until cleared, replaced or site data is deleted; no fixed expiry |
| localStorage | gellatti.app-locale | Language chosen without an account (guest or demo); never written to an account | Until you delete it |
| sessionStorage | gellatti.shop.infopakIntent | Continue your requested document after sign-in | 30 minutes at most; removed when used |
| sessionStorage | gellatti.registration-legal.oauth.v1 | Carry your acceptance of the terms and your country to the account when you register with Google sign-in | 30 minutes at most; used once for the new account; ends with the browser tab session |
| sessionStorage | gellatti.purchase.v1:entry, gellatti.purchase.v1:<attemptId> | Return to the recipe and step where you started a purchase, after payment or sign-in | Current browser tab session |
| sessionStorage | gellatti_partner_invitation_completion_v1, gellatti_catalog_device_session_v1, gellatti.mapper-search-gaps.v1 | Avoid duplicate operations and maintain the current functional session | Current browser tab session |
| sessionStorage | gellatti.scan.guestCode | Continue a requested barcode lookup after sign-in | Until used or the browser tab session ends |
| sessionStorage | gellatti.admin-drawer-opened-for | Remember navigation presentation for an authorised administrator | Current browser tab session; cleared for an empty user |
| IndexedDB | scan-import-v2 / offline-cache | Cache product facts for requested lookups; not photograph files | Valid for 30 days; expired items are discarded when read, or when site data is cleared |