Legal

Cookie policy

Last updated: 9 June 2026

This page lists every cookie, browser storage key, and similar technology used by Clerkfolio. We use strictly necessary storage to operate the service, and optional analytics storage only with your consent. You can change your preferences at any time below.

Your choices

Optional analytics is off by default, so essential-only visitors are not interrupted by a consent banner. Select Analytics preferences in the page footer to enable or disable aggregate analytics. Your preference is stored incf_consent_v1in your browser's local storage.

You can revisit the footer control at any time to change this choice, or clear your browser's local storage for clerkfolio.co.uk to return to the default analytics-off state.

Categories

  • Strictly necessary - Required for the service to function or to keep it secure and reliable. Authentication sessions, consent records, the PWA offline cache, and error/performance diagnostics (Sentry, see below). These cannot be turned off.
  • Analytics - Aggregate, anonymised usage data. Off by default. Loaded only if you choose to accept analytics cookies.
  • Payment - Stripe scripts loaded only on the upgrade/checkout page. Technically required at that point to process your payment securely.

Full cookie list

Name / keyStorageCategoryPurposeExpirySet by
sb-[ref]-auth-tokenHTTP cookieStrictly necessaryStores your Supabase authentication session so you remain signed in across page loads.Session (refreshed by Supabase SSR on each authenticated request)Supabase SSR (@supabase/ssr) via Next.js middleware
sb-[ref]-auth-token-code-verifierHTTP cookieStrictly necessaryPKCE code verifier used during the OAuth sign-in flow. Cleared after sign-in completes.Session (cleared on sign-in completion)Supabase SSR (@supabase/ssr)
cf_consent_v1localStorageStrictly necessaryRecords your cookie consent choice (analytics: true/false, timestamp, schema version). Used to decide whether to load Vercel Analytics.Persistent until you clear browser storage or change your preferencesClerkfolio (analytics preferences control)
clerkfolio-case-draftsessionStorageStrictly necessaryTemporarily saves an unsaved case-diary draft (title, date, clinical area, specialty tags) so it is not lost if you navigate away. Clinical free-text notes are intentionally excluded.Session (cleared when the browser tab is closed or 24 h intent)Clerkfolio (case entry form)
clerkfolio-[category]-draft:[user-id]sessionStorageStrictly necessaryTemporarily saves unsaved portfolio draft structure such as title, date, category, tags, and non-clinical metadata. Clinical free-text notes and reflections are intentionally excluded.Session (cleared when the browser tab is closed, on logout, or after 24 h)Clerkfolio (portfolio entry form)
clerkfolio-filters:* and view preferenceslocalStorageStrictly necessaryRemembers non-sensitive UI state such as filters, sort order, density, chart view, dashboard section state, and accessibility display preferences.Persistent until you clear browser storage or log outClerkfolio interface
clerkfolio-offline-latestlocalStorageStrictly necessaryStores the latest dashboard/offline summary so the app shell can show recent account state if the connection drops. Cleared on logout.Persistent until refreshed, cleared by the service worker, or cleared on logoutClerkfolio offline cache primer
clerkfolio-share-pin:[token]sessionStorageStrictly necessaryRemembers a PIN entered for a public share link during the current tab session so viewers do not need to re-enter it on refresh.Session (cleared when the browser tab is closed)Clerkfolio public share viewer
Clerkfolio app cacheCache API (SW)Strictly necessaryThe service worker (sw.js) caches static app assets to allow the app shell to load offline and to speed up subsequent visits. Cleared on logout.Persistent until the service worker clears its cache or the user logs outClerkfolio service worker (sw.js)
Vercel AnalyticsHTTP cookieAnalyticsCollects anonymised, aggregate page-view data (path, referrer, country, device type) to help us understand how the app is used. Vercel Analytics uses a privacy-preserving approach and does not set persistent cross-site tracking cookies. No personal data is shared with third parties.Session-level beacon only; no persistent cookies set on clerkfolio.co.uk by this serviceVercel Analytics (@vercel/analytics) - only loaded if you accept analytics cookies
Stripe checkout cookiesHTTP cookiePaymentStripe sets its own cookies on its domains (js.stripe.com, hooks.stripe.com) to enable fraud detection, 3DS authentication, and payment processing. These are set only when you visit the upgrade/checkout page.See Stripe's cookie policyStripe (stripe.com) - third-party cookies set on Stripe's own domains, not on clerkfolio.co.uk

Do Not Track

Optional analytics remains off unless you explicitly enable it, regardless of your browser's DNT setting. Strictly necessary storage is unaffected.

Error and performance monitoring (Sentry)

We use Sentry to monitor errors and performance so we can detect and fix faults and keep the service secure and reliable. We treat this as strictly necessary diagnostics (legitimate interest in service security and reliability), so it runs without a separate consent toggle and is not part of the optional Analytics control.

Sentry does notset cookies on clerkfolio.co.uk and does not use session replay. Diagnostic events are sent to Sentry's EU region and are scrubbed before sending: default personal data is disabled, and cookies and authorisation headers are stripped. No portfolio content is sent. Sentry is listed on our Subprocessors page.

Third-party cookies

Stripe sets cookies on its own domains only. We have no control over those cookies. See Stripe's privacy policy for details.

Vercel Analytics sends beacon data to Vercel's servers but does not set persistent tracking cookies on clerkfolio.co.uk.

More information

See our Privacy policy and Subprocessors list for more on how we handle your data. Questions can be sent to admin@clerkfolio.co.uk.