Cookies

Cookies and browser storage

The complete list of what this site writes to your device. It is short, because nothing here is written for advertising.

Last updated

Six in total. Five are strictly necessary and are set because a feature you used needs them. One is optional, and it is created only after you explicitly accept.

Cookies set by this site, with their purpose, lifetime and whether they are optional
NameSet byWhat it doesHow longOptional
gp_draftThis siteCarries an opaque handle so a draft written on one page opens in the editor. The text stays in server memory and is never written into the cookie.10 minutesNecessary
gp_analytics_choiceThis siteRemembers whether you accepted or refused optional analytics, so you are not asked again. A preference, never a credential.6 calendar monthsNecessary
gp_analytics_pauseYour browserA local stop flag, written when you withdraw, so collection stops before the server has confirmed.6 calendar monthsNecessary
genpolish_analyticsOur APIThe measurement identity, and the only one. A random secret, created only after you explicitly accept analytics.Up to 184 daysOptional
better-auth.session_tokenOur APIKeeps you signed in to your account.Up to 7 daysNecessary
genpolish.anonymousOur APIIdentifies an anonymous session and carries the free trial count for visitors without an account.30 daysNecessary

The names change over HTTPS

Served over HTTPS, the last three take a prefix — either host-locked or secure-only. The prefix is enforced by the browser: it prevents a subdomain or an unencrypted page from writing over them.

Cookies we only delete

Four more names from our identity library may appear when you sign out, and only in order to be cleared. Our relay refuses to pass any of them through unless the value is empty and the lifetime is zero, so they cannot be used to store anything.

What else we store in your browser

Two keys, and not one more. Local storage holds the same analytics stop flag as the cookie above, so that blocking cookies cannot silently restart collection. Session storage holds pending payment intents during a checkout, and they are cleared when it ends.

Neither contains a draft, a result, an email address or a payment detail.

Why there is no cookie banner

Because no measurement cookie is set on a first visit. Rendering a page, prefetching it or reading your current choice creates no analytics identity and no event, and there is no backfill once you accept.

Accepting and refusing are two ordinary form buttons in the body of the page, not an overlay you have to dismiss. Refusing closes no feature.

Changing or removing them

The controls are on the Privacy page, and on every page that shows the analytics panel.

Clearing the stop flag by hand does not restart collection. It is held in two places, and a read that fails is treated as a stop rather than as permission.