Skip to content
HatcherWebsite

Legal

Cookie policy

Last updated: July 10, 2026

In one sentence

We use cookies + localStorage for login state (essential), product analytics, and browser error diagnostics (optional — off by default until you accept). No advertising cookies, no cross-site tracking.

This page explains the cookies and local-storage keys Hatcher (HHX Technology SRL) uses, why, and how to control them. It supplements our Privacy Policy.

1. What is a cookie?

A cookie is a small text file stored in your browser that lets a site remember something between visits. Modern sites also use localStorage and sessionStorage for the same purpose. We use both interchangeably in this policy — the legal treatment is identical in the EU.

2. Categories we use

Strictly necessary (always on)

Without these the Service can't authenticate you or remember your theme / wallet choice. They don't require consent under GDPR + ePrivacy Directive.

KeyTypePurposeLifetime
hatcher_jwtSecure HttpOnly cookieAuthentication sessionUp to 7 days
hatcher_refreshSecure HttpOnly cookieRotate and renew the session30 days
hatcher-cookie-consentlocalStorageRemember your consent choice6 months
hatcher_analytics_consentFirst-party cookieEnforce analytics consent in server middleware6 months
themelocalStorageDark / light themePersistent
walletNamelocalStorageRemember selected Solana walletUntil disconnect
__cf_bmCookie (Cloudflare)Bot protection30 min

Analytics (optional)

Off by default. Only set after you click “Accept” on our cookie banner. Used to understand which features are useful in aggregate and diagnose browser errors.

Key / ProviderTypePurposeLifetime
ph_*PostHog (localStorage)Anonymized page views, feature usage1 year
sentryReplaySessionSentry (sessionStorage)Error-replay capture on opt-inSession

Functional (set as you use the app)

Written only when you interact with a specific feature. Strictly necessary for that feature, still part of the normal use of the Service.

KeyPurposeLifetime
recent_agentsRemember your last-opened agents for quick-switcherPersistent
tour_seenDismiss onboarding tour after first timePersistent
dashboard:*Cache dashboard shape for fast reload24h
hatcher-terminal-sessions:*Remember terminal tab names; terminal credential values are memory-only and cleared on logoutPersistent
hatcher:public-chat:*Keep the selected public-chat session and recent local message historyUntil chat reset or site data is cleared
hatcher:agent:*:draftRecover an unsent agent-chat draftUntil sent or cleared
hatcher.pendingCryptoSettlements.v1Retry finalization after an on-chain payment was submittedUntil settled or manually cleared

3. How to control cookies

  • In-app: the cookie banner on your first visit lets you accept or reject analytics. Change your mind later from Settings → Privacy.
  • Browser settings: every major browser lets you view, block, or delete cookies per-site. Do-Not-Track is respected — if your browser sends it, we skip the analytics banner and default to “reject”.
  • localStorage: clearing site data in your browser removes all non-cookie keys. You'll be logged out.

Disabling strictly-necessary storage will break login and can't be opted out of — only the analytics category is optional.

4. Third-party cookies

When you interact with a Stripe checkout or authorize a Solana wallet (Phantom, Solflare), those services may set their own cookies on their domains. We don't control those; consult Stripe and your wallet provider's policies.

5. Changes

We update this page whenever we change which cookies we set. Bigger changes (new analytics provider, new category) re-trigger the consent banner so you can confirm your preferences.

6. Contact

Questions? Email [email protected]. Related pages: Privacy Policy · Terms of Service · Impressum.