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.
| Name | Type | What it does | How long |
|---|---|---|---|
__Host-dgs_session | Cookie (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:ui | Local storage | Your 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:consent | Local storage | Your cookie choices and the date you made them | 390 days, then we ask again (see Global Privacy Control below); survives sign-out |
dc:account | Local storage | Which account the cached sheet belongs to, so a second account on the same browser cannot write to it | Until sign-out |
dc:sheet:<date>, dc:server:<date> | Local storage | Your recent sheets, and the last version the server confirmed, so the app opens and works offline | Recent days only; cleared on sign-out |
dc:quote:<date> | Local storage | The quote for a day you have already opened | Recent days only; cleared on sign-out |
dc:feedback-queue, dc:feedback-attempt | Local storage | Feedback you wrote while offline, waiting to send, and the key that stops it sending twice | Until sent; cleared on sign-out |
dc:profile-draft, dc:welcomed-pending, dc:profile-notice | Local storage | What 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 wrong | Until it reaches the server; cleared on sign-out |
dc:newsletter-pending | Local storage | That you ticked the newsletter box and we have not managed to pass it on yet | Until it reaches the server; cleared on sign-out |
dc:quote-draft | Local storage | A community quote you were part-way through writing | Until sent or cleared; cleared on sign-out |
dc:review-day | Local storage | The review day you picked before the app could store it on the server | Until the server takes it; cleared on sign-out |
dc-shell-<version> | Cache storage | A copy of the app's own files so it opens without a connection | Until 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.
| Name | Set by | What it does | How long |
|---|---|---|---|
_ga | Google Analytics 4 (first-party) | Tells browsers apart with a pseudonymous identifier | Set 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 state | Same 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.