Cookie Policy
Last updated: May 2026
1. What this policy covers
This policy explains what cookies and similar browser storage technologies Siften uses, why we use them, and how you can control them. It should be read alongside our Privacy Policy.
We use two kinds of browser-side storage: traditional HTTP cookies (small files set by the server and sent back with every request) and web storage (localStorage and sessionStorage, which stay in the browser and are never automatically sent to a server). For the purposes of UK GDPR and PECR, both types require the same disclosure when used for non-essential purposes.
2. Strictly necessary (no consent required)
These are essential for the Service to function. They cannot be switched off. Under the Privacy and Electronic Communications Regulations (PECR) they do not require your consent.
| Name | Type | Purpose | Expires |
|---|---|---|---|
| supabase-auth-token | HTTP cookie | Keeps you signed in between page loads by storing an encrypted session token. Without this you would be logged out on every navigation. | Session or up to 1 week (refreshed on activity) |
| sb-<project>-auth-token | HTTP cookie | Companion session cookie used by Supabase Auth for server-side session validation. | Session |
| admin_session | HTTP cookie | Keeps authorised administrators signed in to admin tools. | 1 week |
3. Functional (no consent required)
These remember your preferences to improve your experience. They do not track you across sites and are not shared with third parties.
| Name | Type | Purpose | Expires |
|---|---|---|---|
| theme | localStorage | Stores your light or dark mode preference so it persists between visits. | Permanent (until cleared) |
| mp_consent | localStorage | Records whether you have accepted or declined Mixpanel analytics tracking so we do not ask again. | Permanent (until cleared) |
| @siften_saved / @siften_liked / @siften_comment_liked | localStorage | Remembers saved articles and local like state on this browser. | Permanent (until cleared) |
| siften_* preference keys | localStorage | Remembers UI preferences such as dismissed onboarding, sidebar state, feed filters, view mode, and sorting. | Permanent (until cleared) |
4. Analytics (consent required)
These are set only after you accept our analytics consent banner. They help us and publication owners understand how content is read. If you decline the banner, none of these are activated.
4.1 Reading analytics (first-party)
These identifiers are set by Siften's own code and stored entirely in your browser. The data they generate is sent to our database and used exclusively by publication owners to understand their readership. It is never sold or used for advertising.
| Name | Type | Purpose | Expires |
|---|---|---|---|
| siften_visitor_id | localStorage | A randomly generated UUID that lets us count unique readers across multiple visits. It contains no personal information - it is simply a random number. | Permanent (until cleared) |
| siften_session_id | sessionStorage | A randomly generated UUID that groups page views within a single browsing session. Automatically deleted when you close the tab. | Tab close |
Alongside these identifiers, each article view records: a hashed (SHA-256) IP address, the referring site origin, your country, device type, browser, operating system, scroll depth, and time spent on the page. No raw IP addresses are stored. See our Privacy Policy for the full data inventory.
4.2 Mixpanel (third-party)
If you accept the analytics banner, Mixpanel's browser SDK is activated and may set its own cookies to track product usage events such as page views and dashboard screen views. We configure Mixpanel with automatic autocapture and session recording disabled. Mixpanel data is sent to Mixpanel's EU servers (api-eu.mixpanel.com).
| Name | Type | Purpose | Expires |
|---|---|---|---|
| mp_<token>_mixpanel | localStorage | Stores a Mixpanel distinct ID and event queue. Used by Mixpanel to associate browser events with a user session. | 1 year |
Mixpanel's own privacy policy is available at mixpanel.com/legal/privacy-policy.
5. Performance monitoring (Vercel)
Our hosting provider, Vercel, collects Core Web Vitals and page performance metrics automatically as part of hosting the Service. This data is aggregated and not linked to individual user accounts or cookies. Vercel does not set any cookies of its own for this purpose.
Vercel's privacy policy is available at vercel.com/legal/privacy-policy.
6. Third-party content and fonts
Pages on Siften load fonts from Google Fonts. When your browser requests a font file, Google may log your IP address and User-Agent. Google Fonts requests do not set cookies. Google's privacy policy is available at policies.google.com/privacy.
8. Changes to this policy
We will update this policy if we add or remove cookies or storage items. When we do, we will update the "Last updated" date above. Material changes will be notified via the site or by email to registered users.
9. Contact
If you have questions about our use of cookies, email us at privacy@siften.com. You also have the right to complain to the Information Commissioner's Office (ICO).