Daily Captain

Cookies and Local Storage

Version 1.2 · Last updated 29 August 2026

This page lists everything Daily Captain stores in your browser. Our Privacy Notice explains the rest.

Short version: one cookie signs you in, some local storage makes the app work offline, and nothing else runs unless you say yes.

Strictly necessary: always on

These make the app work. There is no way to switch them off and still have an app, so we do not ask for consent for them, which is what the law allows.

NameTypeWhat it doesHow long
__Host-dgs_sessionCookie (first-party)Keeps you signed in. HttpOnly, Secure, SameSite=Lax. Holds a session reference and nothing about you.Up to 90 days; replaced at each sign-in, deleted when you sign out
dc:uiLocal storageYour theme, whether you installed the app, and which one-off prompts you have already dismissed (the install prompt, the reminder nudge, the feedback ask)Until you clear it; survives sign-out
dc:consentLocal storageYour cookie choices and the date you made them390 days, then we ask again (see Global Privacy Control below); survives sign-out
dc:accountLocal storageWhich account the cached sheet belongs to, so a second account on the same browser cannot write to itUntil sign-out
dc:sheet:<date>, dc:server:<date>Local storageYour recent sheets, and the last version the server confirmed, so the app opens and works offlineRecent days only; cleared on sign-out
dc:quote:<date>Local storageThe quote for a day you have already openedRecent days only; cleared on sign-out
dc:feedback-queue, dc:feedback-attemptLocal storageFeedback you wrote while offline, waiting to send, and the key that stops it sending twiceUntil sent; cleared on sign-out
dc:profile-draft, dc:welcomed-pending, dc:profile-noticeLocal storageWhat you typed on the setting-up screen before we could save it, that you finished that screen, and any message about a save that went wrongUntil it reaches the server; cleared on sign-out
dc:newsletter-pendingLocal storageThat you ticked the newsletter box and we have not managed to pass it on yetUntil it reaches the server; cleared on sign-out
dc:quote-draftLocal storageA community quote you were part-way through writingUntil sent or cleared; cleared on sign-out
dc:review-dayLocal storageThe review day you picked before the app could store it on the serverUntil the server takes it; cleared on sign-out
dc-shell-<version>Cache storageA copy of the app's own files so it opens without a connectionUntil a new version replaces it

Cloudflare Turnstile checks the sign-in form for automated abuse. We do not use its pre-clearance option, so it stores nothing in your browser.

Site analytics: off unless you accept

Set only if you accept analytics. Decline and none of this loads.

NameSet byWhat it doesHow long
_gaGoogle Analytics 4 (first-party)Tells browsers apart with a pseudonymous identifierSet to 390 days from when it is first set, with the option that would extend it on later visits switched off
_ga_<property id>Google Analytics 4 (first-party)Keeps session stateSame 390 days, on the same terms

Google Tag Manager, which loads Analytics for us, sets no cookies of its own.

We keep Google Signals, advertising features, ads personalisation and Google Ads linking switched off, and we never send Analytics your email address or anything from your sheet. Event-level data is kept for 2 months and user-level data for 14 months.

Marketing: nothing runs, and nothing to accept

We do not use advertising or retargeting technology today, and the banner offers you no choice about it, because there is nothing to choose. "Accept all" accepts site analytics and nothing else.

We do keep a reserved "Marketing" slot in the record of your choice. It is always off, and no button can turn it on. It is there so that the day we add something, we have to come back and ask you about it, rather than treat a choice you made today as permission for something you have never seen. On that day this page changes, the banner gains the choice, and we ask everyone again.

Changing your mind

Open Settings → Cookie settings. Nothing is pre-selected, declining keeps the whole app working, and we ask again after 390 days, or sooner if something material changes.

If your browser will not let us store the record of your choice, nothing optional runs and we ask again next time. A consent we cannot write down is not a consent we can show you.

Global Privacy Control. If your browser sends a GPC signal and you have not answered here yourself, we take it as a decline, record that the decline came from the signal rather than from you, and do not show you the banner: your browser has already answered. A choice you make yourself in Settings takes over from then on, in either direction, because it becomes the stored choice. That also means a GPC signal does not undo an acceptance you made before turning it on; if you want that, change it in Settings. While the signal is still there we go on recording declines, so you are not asked again after 390 days either.

The app also writes and immediately deletes a key called dc:probe each time it checks whether your browser will let it store anything. It holds nothing and never survives the check.

You can also clear cookies and site data in your browser, which signs you out and empties the offline copy of your sheets.

← Daily Captain Privacy Terms