Updated: 8 September 2026
How EMSYO uses device storage
EMSYO uses cookies, localStorage and sessionStorage only to operate the service, remember settings you expressly choose and provide optional analytics. We do not use advertising cookies, remarketing or cross-site tracking across unrelated websites.
When consent is required
Storage necessary for sign-in, security or a function explicitly requested by the user remains active without analytics consent. Google Analytics and the PostHog analytics identifier activate only after explicit analytics permission. Refusing analytics does not block use of EMSYO.
Essential and user-requested storage
These items provide the service or retain a choice you made yourself. They are not used for advertising analytics.
| Technology / data | Provider | Purpose | Duration |
|---|---|---|---|
| Saved AR scenes and Bim jokes | emsyo:ar-state:v1:* · localStorage | Saved scenes and heard or liked jokes; local copy according to the AR save status. | Until overwritten or this browser’s data is cleared; server account deletion does not automatically clear other devices. |
| Supabase auth (sb-*) | Supabase / EMSYO | Sign-in, session restoration and secure authentication. | Until sign-out, expiry or clearing browser data. |
| emsyo.locale | EMSYO | Remembers the selected interface language. | Until changed or browser storage is cleared. |
| Voice-output preference | EMSYO | Remembers the user's voice-output choice. | Until changed or browser storage is cleared. |
| Manually selected place | EMSYO | Uses a chosen place for weather and local features. | Until changed or removed. |
| Pending AI output | EMSYO | Restores an explicitly requested image or video generation after navigation. | Until completion, error or removal of the record. |
| emsyo.pending-offer | EMSYO · sessionStorage | Keeps the selected plan, pass or credit pack during sign-in. | Until pricing resumes or the browser session closes. |
| emsyo:last-generated-output | EMSYO · sessionStorage | Passes a newly generated result between app screens. | Until consumed or the browser session closes. |
| emsyo:pending-ai-video | EMSYO | Restores an explicitly requested video job in progress. | Until completion, error or removal. |
| emsyo:cookie-consent | EMSYO · localStorage | Records your analytics choice, decision time and consent-mechanism version. | Until the choice changes, a new consent version is introduced or storage is cleared. |
| emsyo:analytics-choice | EMSYO · localStorage | Local record of the signed-in account analytics setting and legal-notice version. | Until the next choice or storage is cleared. |
| sidebar_state | EMSYO | Remembers an interface sidebar state where one is used. | Up to 7 days. |
Optional analytics
Analytics is off by default. After consent, the browser may send Google Analytics page views and minimal pseudonymous browser-level conversion events without a PostHog person profile. Broader signed-in product events are sent only when analytics is also enabled in Account Settings.
| Technology / data | Provider | Purpose | Duration |
|---|---|---|---|
| _ga | Google Analytics 4 | Distinguishes visitors after analytics consent. | Default up to 2 years; the browser may shorten it. |
| _ga_<container-id> | Google Analytics 4 | Persists analytics session state after consent. | Default up to 2 years; the browser may shorten it. |
| emsyo:anonymous-analytics-id | EMSYO / PostHog EU | Random pseudonymous ID for minimal conversion events and, for a signed-in account, only for broader product events also enabled in Account Settings; it is not created without analytics consent. | Until analytics is disabled, the choice changes or browser storage is cleared. |
| emsyo:acquisition | EMSYO · localStorage | Safe source/medium/controlled EMSYO campaign and only fbclid/ttclid presence; raw click IDs, term and content are not stored. | Up to 24 hours or until analytics withdrawal. |
| emsyo:pending-auth | EMSYO · sessionStorage | Short marker with only fixed sign-in method and mode to measure one successful return. | Up to 10 minutes in the tab, until consumed or analytics withdrawal. |
| emsyo:funnel-session:v1 | EMSYO · sessionStorage | Counter and dedupe keys that cap minimal conversion events in one tab. | Until the tab closes or analytics is withdrawn. |
What analytics sends
Google Analytics 4 (G-TB4RXSC853) receives page views and ordinary technical data needed for measurement; EMSYO enables IP anonymisation and disables advertising signals. PostHog uses the EU Capture API directly, without its browser SDK, PostHog cookies, person profiles, IP geolocation, autocapture or session replay. PostHog can receive only permitted technical events such as the app surface opened, feature used, duration, plan or error code. After analytics consent we also send minimal pseudonymous browser-level conversion events without a PostHog person profile (for example landing viewed, auth started, offer selected, checkout requested, purchase activated), safe source/medium/controlled EMSYO campaign fields and only a boolean indicating whether an advertising click ID (fbclid or ttclid) was present; the click ID itself, general UTM term/content fields, referrer, email, conversation content and precise location are never sent, and there is no advertising profiling.
What we do not send to analytics
We do not send conversation content, voice recordings, photos, video, camera frames, documents, notes, journal entries, the user's email or precise coordinates to analytics. EMSYO does not use analytics for targeted advertising or to create an advertising profile.
Consent, refusal and withdrawal
On the first visit you can enable analytics or choose essential storage only with equal ease. You can later change the choice in Settings. After refusal or withdrawal, no new analytics events are sent, the PostHog pseudonymous ID, safe attribution, pending-auth marker and funnel cap/dedupe sessionStorage are removed, and EMSYO attempts to remove its first-party Google Analytics cookies from the current domain.
You can also clear browser storage directly in browser settings. This may sign you out and remove local preferences or in-progress tasks. Browsers may shorten cookie lifetimes or block cookies entirely.
External pages and services
If you open Stripe Checkout, Google Maps or another external page, that page may use its own cookies and storage under its own terms. EMSYO does not determine their contents or retention. Those pages are opened only after the relevant user action.
Changes to this notice
If we materially change the purpose or scope of optional analytics, we will increase the consent-mechanism version and request a new choice. You can review the current setting in the app at any time.