Cookie Policy
Published 2026-08-14.
1. What this policy covers
Frontfiles (Frontfiles, Lda) uses a small number of first-party cookies and browser storage entries. We set no third-party advertising or cross-site tracking cookies, load no third-party consent-management vendor, and make no storage-based fingerprinting attempts. How the data involved is handled is covered by our Privacy Policy.
2. Cookies in use today
- Authentication cookie (
sb-frontfiles-auth-token, split into numbered parts when large), set first-party by Supabase Auth and scoped to frontfiles.news and its subdomains so one sign-in covers the whole platform: keeps you signed in. Strictly necessary; blocking it signs you out. Its lifetime follows your sign-in session and is managed by Supabase Auth; the exact configured session and refresh-token lifetimes are being recorded for this page. ff_consent, set first-party by Frontfiles: records your cookie choices from the consent banner. Storing the consent decision is itself strictly necessary. It lasts 6 months, then we ask again.ff_locale, set first-party by Frontfiles: records which language to show you. It is written automatically when you sign in, from the language preference on your account, and whenever you change language. It lasts 12 months. It carries a language tag and nothing else.
No other cookie is set by application code, beyond the analytics storage described in section 3, which is written only with your consent. Hosting-level cookies from preview tooling do not appear on the production domain.
3. Analytics storage (only with your consent)
We use PostHog (EU Cloud) for product analytics and session recording. It initialises only when all three hold: an analytics key is configured, the consent layer is live, and you pressed “Accept analytics” in the consent banner. All three hold today, so PostHog runs for visitors who accepted. Until you accept, no PostHog code runs and no analytics storage exists: on a first visit, before you choose, this site writes nothing at all.
The pages you view are recorded by address. A search results page address would carry the words you searched for, so that part of it never leaves your browser: the query is replaced with a fixed placeholder before an analytics event is sent, and the search you run from the search box is recorded only as the number of characters you typed. That is what the privacy policy promises for a search, the length and never the text, and it holds for the record your browser sends as well as the one our servers keep.
One exception, spelled out rather than left to be discovered. The session recording described below replays a page as it appeared, and it carries the address of the page it replays, so a recording made on a search results page carries your search terms. Refusing or withdrawing analytics consent stops the recording and the events alike.
With your consent, PostHog records the pages you view, the elements you click, and a replay of your session: the layout of the pages, your interactions with them, and network timing. The replay masks the text on the page and anything you type, so it shows where things are, not what they say. It records that a network request happened and how long it took, but not the contents: request and response headers and bodies are not captured. Recording is switched off in your messages, at checkout and on receipts, on your account and onboarding pages, in your vault, and on staff pages, and the identity verification panel is never recorded, wherever it opens. If you are signed in, we identify you to PostHog by your account identifier. Recordings are retained for 30 days and analytics events for 12 months.
The storage it sets, first-party on this domain, where <key> is our public PostHog project key:
ph_<key>_posthogas a cookie: distinguishes returning visitors. It lasts 365 days.ph_<key>_posthogin local storage: the same identifiers, kept until you clear them, sign out, or withdraw consent. Signing out replaces them with new ones, so later activity in that browser is not tied to your account. Withdrawing clears them: we call the analytics SDK’s reset, which discards the visitor and device identifiers, and storage stays off for as long as you remain opted out.ph_<key>_window_idandph_<key>_primary_window_existsin session storage: tie a recording to one browser tab. Cleared when you close the tab.
You can withdraw consent at any time via the “Cookie preferences” control, which is reachable from every page and is described in section 6; capture stops immediately and the identifiers above are cleared. One entry is written when you withdraw: __ph_opt_in_out_<key>, the analytics tool’s own consent record. It is kept until you clear it, including if you later accept again. Whether we ask you again is decided by ff_consent (section 2).
4. Error monitoring (Sentry): no cookies
Client-side error capture (Sentry) runs to keep the service working and sets no cookies. Sentry does not record or replay your browsing session; the session recording described in section 3 is PostHog’s and runs only with your consent. Error reports include technical context (browser, URL, stack trace) and are classified as essential operation of the service on a legitimate-interest basis, so they are not consent-gated.
5. Browser localStorage
For completeness, the following localStorage entries exist. All are first-party, functional, never transmitted to third parties, and hold no tracking identifiers; each is functionality storage performed at your request, so none needs a consent banner category.
- Your light/dark appearance choice.
- Which role view (creator or buyer) you last used.
- Resuming a part-finished onboarding flow.
- Your lightbox (saved research) sessions.
- Local drafts of articles you are editing or previewing.
- Licensing cart contents.
6. How to manage cookies
- The consent banner offers “Accept analytics” and “Essential only” with equal prominence; the “Cookie preferences” control reopens it at any time. You will find that control in your settings menu when you are signed in, and in the page header or footer when you are not.
- Your consent expires after 6 months, or earlier if the categories change, and we ask again.
- Browsers let you clear or block cookies site-wide; blocking the essential authentication cookie will sign you out.
7. Contact
Questions about this policy: privacy@frontfiles.news. Questions about anything else, contact us.