WrengleWrengle

Legal

Cookie and Storage Notice

The browser storage used for sign-in and settings, the basic cookieless analytics you can object to, and the enhanced analytics and diagnostics that stay off until you switch them on.

Effective 27 October 2026

Browser storage

The sign-in, theme, cleanup, and privacy-choice entries support those features. Basic analytics uses PostHog's cookieless mode and leaves no PostHog identity, cookie, local storage, or session storage behind. The SDK may briefly read, write, and clear its own support probes such as __mplssupport__, __support__,test, and ph_debug, and read or clear its own consent or legacy token-derived keys while establishing that state. Probe writes contain only a fixed test value and are removed. Durable PostHog analytics state is enabled only after you opt in to enhanced analytics. Website replay starts after a successful reviewed public-route render while Basic analytics is allowed. Its identity and session state stay in memory; a full reload starts a new recording. None of this storage is used for advertising.

Provider or keyPurposeDuration
Clerk sign-in storageKeeps you signed in and protects your account pagesYour session, or however long Clerk sets
wrengle-themeRemembers whether you picked light or darkUntil you clear it
__Host-wrengle-legacy-app-cleanup-v1During a reviewed legacy-origin cleanup window, notes that the old app.wrengle.com address already removed its leftover cookies and storageOne year, on that old address
wrengle-telemetry-preferences-v7Remembers whether you objected to basic analytics, your enhanced analytics consent, your separate diagnostics consent, and the notice versionUntil you clear it, change your mind, or we have to ask again
wrengle-telemetry-preferences-v1 through v6, older consent keys, and custom PostHog identity keys (legacy)Migrated conservatively: objections remain off, the immediately preceding enhanced choice keeps its settled value, and older grants are re-asked where their scope was narrowerRemoved after a durable save to the current v7 choice
wrengle-posthog-native-storage-migration-v1Remembers that the one-time cleanup of the retired custom PostHog integration has completed, so later consented native SDK storage is not removed on every visitUntil you clear this site’s storage
wrengle-posthog-storage-cleanup-required-v1Records an unverified PostHog cleanup and is briefly used to verify that the browser can preserve this fail-closed barrier before analytics startsUntil verified cleanup succeeds or you clear this site’s storage
__ph_opt_in_out_* (local storage)PostHog’s own record of enhanced analytics consent; basic cookieless mode does not retain itFrom enhanced opt-in until you withdraw analytics or clear this site’s storage
Standard PostHog analytics and session storage (token-derived keys)PostHog’s pseudonymous device, session, and analytics state after enhanced opt-in; basic cookieless events leave no such state behindPostHog applies its configured browser-storage lifetime; withdrawal requests verified deletion, and analytics remains closed if the browser blocks it

Optional telemetry

  • PostHog basic cookieless website analytics: unless you object, successfully rendered, reviewed public marketing, legal, and documentation routes send page-view and page-leave events plus fixed download-intent, installer-click, account-intent, and pricing-action outcomes. They contain the canonical URL and path without query strings or fragments, site hostname, referring origin and domain, browser, operating system, coarse device type, event time, and technical event identifiers. They exclude account and protected routes, page content, link destinations, labels, form values, arbitrary interaction data, Web Vitals, heatmaps, campaign parameters, replay snapshots, and a stored browser identity. Semantic outcomes retain closed surface, intent, action, and platform values; installer clicks also include the public release version, installer name, and size. PostHog derives a daily server-side identifier from the project, hostname, connection IP address, user agent, and a daily-changing salt. The managed t.wrengle.com proxy sends these events to the PostHog EU project with IP geolocation disabled. The browser sends no session or window identifier; Cookieless server hash mode assigns the Web Analytics session during ingestion. Requests use credential-omitting fetch, including page-leave delivery.
  • PostHog enhanced website analytics: stays off until you explicitly switch it on. It adds Web Vitals and strictly allowlisted structural interactions only on reviewed public marketing, legal, and documentation routes. Account, authentication, callback, admin, API, error, unknown, not-found, and failed routes remain excluded; page events start only after a successful render. URLs are canonicalized without query strings or fragments, referrers are origin-only, and campaign identifiers are removed. Hard-navigation Web Vitals are bound to the successfully rendered public route that loaded the document; a later SPA route cannot claim them, and an excluded document route never becomes eligible by navigating to a public route. Metrics generated when a page is restored from the back-forward cache are rejected. Nested Web Vitals keep only metric name, value, delta, and rating. Interactions keep only event type, element tag, and bounded sibling positions; text, attributes, classes, IDs, selectors, link destinations, and custom augmentation values are removed. Named events separately record approved canonical navigation destinations, documentation filter usage without search text, and scroll milestones at 25%, 50%, 75%, and 100%. It can collect performance, coarse device and viewport, session, and those structural interaction details, approximate geography, and a pseudonymous identifier stored in this browser. Person profiles, feature flags, heatmaps, and dead-click capture stay disabled in the analytics event lanes. It uses the same managed EU proxy and project.
  • Website session replay: starts automatically after a successful render on reviewed public routes while Basic analytics is allowed. Visitors with saved choices must reconfirm the revised privacy notice before replay starts. Previous objections remain off. A separate PostHog instance records only successfully rendered, reviewed public routes while Basic analytics is allowed. A Basic analytics objection, “Required only”, Global Privacy Control, or an affirmative Do Not Track signal stops it. There is no separate replay choice. Text stays masked by default, and explicitly reviewed public text and controls are readable. Inputs, editable content, attributes, and sensitive containers remain masked or blocked, including typed values, account controls, and reflected filter queries; replay URLs omit query strings and fragments. Network bodies and headers, console logs, and canvas content are excluded. Identity and session state remain in memory, so a full reload starts a new recording. PostHog EU retains recordings for no more than 30 days. The desktop app has no replay.
  • GitHub download counters: public cumulative installer asset counts are imported into PostHog hourly, separately from browser visitor and click metrics. They include direct GitHub traffic, repeat downloads, and automated checks. They do not prove completed transfers or installations, unique people, or website attribution. The first observation is a baseline for later increases. They contain no browser identity and use no browser storage; installer delivery stays on GitHub.
  • Sentry: only starts after you separately switch diagnostics on. Breadcrumbs, tracing, session recording, logs, personal details, request data, local variables, and surrounding code are all switched off, and what is left is scrubbed before it is sent.

PostHog and Sentry both run in the EU. In the browser, PostHog receives only the restricted public-page analytics events until enhanced analytics is enabled. PostHog also receives public-page snapshots with reviewed text readable and private content hidden while Basic analytics is allowed. PostHog EU can also receive the separate pseudonymous, content-free account operation outcomes described in the Privacy Notice directly from Wrengle's server; that stream does not use cookies or browser storage. A successfully rendered signed-in account dashboard can also send a content-free visit signal through an authenticated server request; the server derives an HMAC-pseudonymous account ID and attempts to deduplicate the visit. This visit signal respects Basic analytics objections, Required only, GPC, and DNT. Existing account and billing operation outcomes are not controlled by this website choice. Website hashes, desktop installations, and accounts remain separate and are never joined. Sentry is not contacted until you separately switch diagnostics on. The first time you load the site we clear identifiers that older versions may have left in your browser. The retired app.wrengle.com address is not attached to the current production service; if it is reintroduced for a reviewed cleanup window, it does the same for itself before sending you here. We do not put this site live until the PostHog project has Cookieless server hash mode and IP discard enabled, deletes analytics events after 12 months at the most, and passes the proxy and payload checks in our release gate. Replay recordings are retained for no more than 30 days. Both PostHog event lanes and replay disable Beacon delivery and use credential-omitting fetch. Sentry does not use a PostHog identifier.

Manage or withdraw your choice

Use “Privacy choices” in the footer at any time. Switch off the Basic analytics choice or choose “Required only” to object to basic measurement. A basic objection stops all browser PostHog analytics, website replay, and the separate rendered account dashboard visit signal; enhanced analytics cannot run without its basic purpose. It does not stop the existing server-side account and billing operation outcomes; the Privacy Notice explains how to object to that processing. Enhanced analytics and diagnostics are separate opt-in choices. Switching analytics off blocks future PostHog capture and requests verified removal of its website analytics storage. If the browser blocks deletion, capture stays off. Later analytics cannot start until the site can verify cleanup and can preserve that fail-closed state; clear this site’s data to remove it manually. A saved change between basic and enhanced analytics reloads the page so identifiers and SDK observers do not cross that boundary. The first view of that same canonical route is suppressed in either direction so the choice change does not count it twice. Switching diagnostics off immediately blocks future error reports and shuts Sentry down. An event or error already handed to a provider client, including an in-flight or retrying request, may still finish delivery. Refusing any costs you nothing: downloads, docs, the desktop app, and your account all work exactly the same.

You can also clear this site’s data in your browser. That signs you out, resets light or dark mode, restores the first-visit basic-analytics default, and means we will ask about the opt-in consent choices again. Saved objections remain off until storage is cleared.

Global Privacy Control and an affirmative Do Not Track signal override saved choices: while either signal is present, PostHog and Sentry stay off.

Contact

For questions about cookies, storage, or privacy, email support@wrengle.com or read the Privacy Notice.