Cookies
Last updated October 5, 2026
This policy explains which cookies and similar technologies Timescrolly uses, what they are for and how you can control them. For how we handle personal data in general, see our Privacy policy.
Cookies and browser storage
A cookie is a small text file that a website stores in your browser and that is sent back with later requests. Local storage is a similar place in your browser where a website can keep information. Unlike a cookie, it is not sent with every request, and it stays until it is deleted. Session storage works like local storage, but is deleted when you close the tab. Timescrolly uses a few of each. We call them all "cookies" on this page.
We keep them to a minimum. Most exist only to keep you signed in or to remember choices you made.
What we use
| Name | Type | Purpose | Duration |
|---|---|---|---|
ts_session | Cookie, essential | Keeps you signed in. Set by our API. Your browser's scripts can't read it. | 30 days, renewed while you use Timescrolly; removed when you sign out |
ts_oauth | Cookie, essential | Protects the round trip when you sign in with Google or Apple. Set by our API. | 10 minutes |
sidebar_state | Cookie, preference | Remembers whether the dashboard sidebar is open or collapsed. | 7 days |
ts:language | Local storage, preference | Remembers the language you picked. | Until you clear it |
ts:theme | Local storage, preference | Remembers the light, dark or system theme you picked. | Until you clear it |
ts:display:… | Local storage, preference | Remembers how dates are shown in the viewer, per timeline. | Until you clear it |
ts:collapsed-periods:… | Local storage, preference | Remembers which periods you collapsed in the viewer, per timeline. | Until you clear it |
columnVisibilityConfig | Local storage, preference | Remembers which columns you hid in dashboard tables. | Until you clear it |
ts:consent | Local storage, essential | Remembers your analytics choice, so we don't ask again on every visit. | Until you clear it |
ts:help-chat | Session storage, functional | Keeps your help chat and any question you haven't sent yet, so they survive a reload and moving between help pages. It is sent to us only as the history of your next question. | Until you start a new chat or sign out, or until the tab closes |
assistant:… | Session storage, functional | Keeps your conversations with the timeline assistant, one per timeline. It is sent to us only as the history of your next message. | Until you start a new chat or sign out, or until the tab closes |
tsr-scroll-restoration-v1_3 | Session storage, functional | Remembers how far you had scrolled on each page, so Back returns you to where you were. | Until the tab closes |
ts:pending-attachments | Local storage, functional | Lists uploads that were started but not finished, so they can be cleaned up and don't use your storage. Only ids, no files or links. | Each entry is removed once cleaned up, or after 24 hours |
mp_…_mixpanel | Local storage, analytics | Mixpanel's random identifier and settings. Only if you accept analytics; otherwise nothing is stored. | Until you clear it; removed when you sign out or withdraw your choice |
Essential
The ts_session and ts_oauth cookies are needed to sign in and stay signed in, and ts:consent remembers your analytics choice. The service can't work without them, so they don't need your consent. They hold random tokens, sign-in state and your choice, nothing else.
Preferences and functional storage
These remember choices you made, keep uploads tidy and keep your assistant conversations in the tab. They stay in your browser and are not used to track you. If you remove them, Timescrolly goes back to its defaults.
Analytics
Mixpanel helps us understand how Timescrolly is used, so we can improve it. Its data is sent through our own servers to Mixpanel's EU data centre. Analytics works in two steps.
- By default, it is anonymous. Nothing is stored in your browser, so every page you open counts as a new visitor. We don't link it to your account, and your IP address isn't passed on, so no location is estimated. This measures how Timescrolly is used, not who uses it, and needs no consent.
- If you accept, Mixpanel also stores a random identifier in your browser (
mp_…_mixpanel), so it can recognise you between visits. While you are signed in, we link it to your internal account id, and your IP address is passed on so Mixpanel can estimate your approximate location.
If your browser sends a Do Not Track signal, no analytics are sent at all, whatever you chose. The Privacy policy describes exactly what is collected.
What we don't use
We don't use advertising cookies, and we don't allow advertisers or social networks to track you on Timescrolly. We don't sell anything we learn from cookies.
Some services you choose to use set their own cookies on their own websites. Examples are Google or Apple when you sign in with them, and Stripe during checkout or in the customer portal. Their cookie policies apply there.
Your choices
Analytics choices
The first time you visit, a notice asks whether you accept analytics. Accepting and declining are equal choices, and ignoring the notice counts as declining. You can change your mind at any time with Cookie settings in the footer of our pages. Withdrawing your choice removes the mp_…_mixpanel item and stops the identifier, the account link and the IP address from being used. You can also turn on Do Not Track in your browser settings to stop analytics altogether.
Clearing and blocking
You can delete cookies and local storage for Timescrolly at any time in your browser settings, usually under privacy or site data. You can also block cookies altogether. If you block or delete the essential cookies, you will be signed out and won't be able to sign in until you allow them again. Deleting the preference items resets your choices to the defaults.
Your browser's help pages explain how to do this.
Changes to this policy
We will update this policy when we change the cookies we use. The date at the top shows when it last changed.
Contact
Questions about cookies? Email [email protected] or use the contact form.