Cookie Policy
Last updated: October 24, 2026
1. What cookies are
Cookies are small text files stored on your device when you visit a website. They make sites work, remember preferences, and report information back to site owners.
2. Our approach
FlowProofs sets as few cookies as it can. The app itself uses only what it needs to keep you signed in. Our public website can also use one analytics service, Google Analytics, but only if you say yes to it, and never inside the app or on shared canvas links. Inside the signed-in app, PostHog counts which features are used (never your content), again only if you say yes. Wherever you are, no analytics runs and nothing is sent to an analytics provider until you agree. Change your mind any time in Settings → Data and privacy → Cookie and analytics preferences.
3. Cookies we use
| Cookie | Purpose | Duration | Set by | Type |
|---|---|---|---|---|
sb-<project>-auth-token | Holds your signed-in session, and the token used to refresh it. Split across numbered chunks when large. | Until you log out, or the session expires | Supabase | Essential |
fp_consent | Remembers whether you accepted or declined analytics, on the website and in the app, so we do not ask again. | 180 days | FlowProofs | Essential |
ph_<project>_posthog | Product analytics in the signed-in app: counts which features are used. Never your data or text. Only set after you agree. | 1 year | PostHog | Analytics, only with consent |
fp_ref | Remembers that you arrived from a shared canvas (ref=share), so a sign-up can say where it came from. Holds only that short word. | 30 days | FlowProofs | Functional |
cv-auth-<id> | Remembers that you entered the password for a password-protected shared or client link, so you are not asked on every page. Holds a signed token, not the password. | 24 hours | FlowProofs | Essential, only on protected links |
fp-guest | Lets you edit or delete comments you left on a shared link without an account. Holds a random signed id. | 1 year | FlowProofs | Functional, only if you comment as a guest |
fp_signup_consent | Carries the box you ticked on the sign-up page (you are 18 or older and accept the Terms) through a Google sign-up, so your account records it. Holds the date and the Terms version. | 1 hour | FlowProofs | Essential, only while signing up with Google |
fp_oauth_state | Protects the sign-in round trip when you connect a data source such as Google Sheets. Holds a signed one-time value. | Minutes, deleted when the connection finishes | FlowProofs | Essential, only while connecting |
_ga | Tells one visit from another, so we can count visitors without knowing who they are. | Up to 2 years | Google Analytics | Analytics, only with consent |
_ga_<ID> | Keeps the state of the current session for Google Analytics. | Up to 2 years | Google Analytics | Analytics, only with consent |
The sign-in cookie is required to log in and use FlowProofs, and cannot be disabled while using the service.
4. Analytics, only with your consent
On our public website (the marketing pages, the blog and the docs), a small banner asks whether you accept analytics cookies. Google Analytics does not load at all until you accept, wherever you are, so nothing (not even your IP address) reaches Google before then. If you decline, it never loads. If you accept, it sets the two cookies above so we can see which pages are useful.
We do not use advertising or targeting cookies, social media tracking, or fingerprinting, and we never sell data. Google Analytics is not used inside the FlowProofs app or on shared canvas links, where pages can show your own data, and PostHog never runs on the public website or on shared canvas links.
We do not record your screen, mouse movements or keystrokes. There is no session replay, heatmap, chat widget or advertising pixel anywhere in FlowProofs.
Global Privacy Control. If your browser sends the Global Privacy Control signal, we treat it as declining analytics, everywhere, without asking: no banner, no Google Analytics, no PostHog. The choice dialog says the signal was honoured, and you can still opt in yourself.
5. Local storage
FlowProofs also uses your browser’s local storage. Apart from the PostHog entry below, this data stays in your browser: it is never sent to our servers, and clearing your browser data removes it.
| Key | Purpose | Contains personal data? |
|---|---|---|
explainboard-global-variables | The workspace variables you have created | No, unless you put personal data in a variable |
explainboard-datasets | Datasets you have uploaded in the Data tab | Possibly, depending on what you upload |
explainboard-refresh-log | Which values changed the last time you refreshed a dataset | Possibly, if the values themselves are personal data |
explainboard-model | Lifecycle and sharing state for the canvas you are editing | No |
explainboard-ai-costs | A log of explanation requests and their estimated cost | No |
explainboard-theme | Your light or dark preference | No |
explainboard-explain-tour | Whether you have finished the short tour of the sample canvases | No |
explainboard-share-invite | Whether a shared canvas has already shown you its one-time invitation | No |
explainboard-first-run | Where you are in the first-run guide, so it is not shown twice | No |
explainboard-tips-seenexplainboard-seenMoveHint | Which tips and hints you have already seen | No |
explainboard-palette-recent | Your recent commands in the command palette | No |
explainboard-recent-formulas | Formulas you used recently in data tables | Possibly, if a formula names personal data |
explainboard-table-widths-<id>explainboard-table-hidden-<id> | Column widths and hidden columns for each data table | No |
explainboard-unsaved-<id> | A copy of canvas changes made while offline, until they are saved | Possibly, if the canvas holds personal data |
explainboard-comment-pinsexplainboard-comments-woken-<id> | Which comment threads you pinned, and which snoozed ones you have seen come back | No |
explainboard-guest-name | The name you gave when commenting on a shared link without an account | Yes, the name you typed |
explainboard-share-tabexplainboard-show-decision-colorsexplainboard-seenexplainboard-variables-migrated | Small interface preferences and one-time markers | No |
ph_<project>_posthog | Product analytics state in the signed-in app (an anonymous id until you sign in, then your account id) | Your account id only |
6. Changing your choice
The Your privacy choices and Cookie settings links at the bottom of every page open the choice dialog, so you can choose again at any time; the change takes effect at once. In the app, use Settings → Data and privacy → Cookie and analytics preferences. Declining after accepting stops analytics at once; delete the existing _ga cookies in your browser to remove them too.
You can also delete or block cookies in your browser settings:
- Chrome: Settings, then Privacy and security, then Third-party cookies
- Firefox: Settings, then Privacy & Security, then Cookies and Site Data
- Safari: Settings, then Privacy, then Manage Website Data
- Edge: Settings, then Cookies and site permissions
Blocking the essential sign-in cookie will prevent you from logging in.
7. Changes
We will update this policy, and the date at the top, if what we set ever changes.
8. Contact
Questions about cookies: privacy@flowproofs.com, or use the contact form.