JoeFlow Privacy Policy

Cookie Policy

What cookies and similar technologies JoeFlow sets, why, and how to control them.

Version 1.2 · Last updated

Draft — pending legal review. This document is a draft and has not yet been reviewed by counsel; it may change before final publication. Bracketed [[placeholder]] fields are intentionally unfilled.

This Cookie Policy explains how Bespoke Tech Solutions, LLC ("BTS", "we", "us") uses cookies and similar technologies across the JoeFlow platform — the app, the joeflow.app marketing website (including the Joe onboarding chat), and the public surfaces JoeFlow publishes for its customers (help centers, booking pages, invoice pay links, portals, status pages, and storefronts). It complements our Privacy Policy.

  • Version: 1.2
  • Last updated: 2026-10-29
  • Operator: Bespoke Tech Solutions, LLC (MyBTS.io)

Draft — pending legal review. This document is a draft and may change before publication.

What cookies and similar technologies are

  • Cookies are small text files a website stores on your device through your browser. They let the site remember things between pages and visits — for example that you are signed in, or which optional features you have allowed.
  • Local storage is a related browser feature that keeps small amounts of data on your device per site, readable only by that site. We use it the same way we use cookies: to remember interface preferences on the device you are using, and — only while you allow analytics — the product-usage queue described below.
  • Session storage is local storage that clears when you close the tab. JoeFlow uses a small, listed set of session-storage keys — for the sign-up handoff from the Joe chat, the chat dock, and reload safety guards — and nothing in it outlives your visit.
  • Pixels (tracking beacons) are invisible images or scripts used mainly for advertising measurement. JoeFlow does not use any tracking pixels today. If that ever changes, this policy and the consent banner will say so first.

The chat widget

JoeFlow runs two separate chats, and neither sets anything until you use it:

  • The Joe onboarding chat on the marketing site keeps your conversation attached between messages with the short-lived joe_setup_sid cookie listed above — a random session reference, no name or email inside it. When you choose to create an account from the conversation, the handoff to the password page rides the joeflow:joeSetup session-storage entry (single-use and expiring; the email itself never travels in a link).
  • The JoeFlow live-chat widget that our customers embed on their websites loads inside an iframe only after the visitor clicks the chat launcher. When you open it, the widget keeps your conversation attached to a random visitor identifier (the joeflow_widget_visitor cookie and the joeflow:visitorToken local-storage key listed above). Both are strictly necessary: without them the conversation would start over on every page load. They contain no name, email, or browsing history — just the conversation reference. The widget shows its own Privacy · Terms · Cookies links at the bottom of the chat panel, opening this policy and its siblings in a new tab.

Managing your choices

  • Change your choice any time: click “Cookie settings” in the footer of any JoeFlow page (it appears next to the Privacy Policy and Terms of Service links). The preferences panel lists each category with a switch — strictly necessary is always on. Save preferences applies your choice immediately, everywhere.
  • Withdrawing: turning a category off takes effect right away, and anything the category stored is erased at that moment — with analytics off, the on-device telemetry queue is deleted immediately and nothing further is recorded. Marketing still stores nothing today. Consent given here stands for 12 months or until the policy materially changes, whichever comes first; after that we ask again.
  • First visit: the consent banner offers Accept all, Reject non-essential, and Customize with equal prominence. Choosing nothing means everything optional stays off — the banner is a courtesy, not a gate to the site.

Browser controls and Global Privacy Control

  • You can block or delete cookies in your browser settings at any time (usually under “Privacy and security”). Deleting the strictly necessary cookies signs you out and resets your preferences — the site will keep working, it just forgets you. Blocking the consent cookie itself means we cannot store your choice, so we keep every optional category off.
  • Global Privacy Control (GPC): if your browser sends the GPC signal (navigator.globalPrivacyControl), JoeFlow treats it as a standing “Reject non-essential” — optional categories stay off unless you explicitly save a different choice in the preferences panel. We do not show the first-visit banner to GPC visitors; you have already answered.

Changes to this policy

When this policy changes materially, we bump the version at the top of this page and the banner asks for a fresh choice the next time you visit — your old choice is never silently stretched over new purposes. The change history appears at the bottom of this page.

Contact

Questions about cookies or this policy:

  • Bespoke Tech Solutions, LLC (MyBTS.io)
  • Privacy contact: [[placeholder — privacy contact email]]
  • Registered address: [[placeholder — registered address]]
  • Corporate privacy information: mybts.io/privacy

Change history

  • 2026-10-29 — Added the first-party product-usage telemetry queue — our first analytics feature. It records your own journey through the workspace (pages, fixed key actions, error screens — never form contents) only while analytics is allowed, and turning analytics off erases it immediately.
  • 2026-10-23 — Added the Joe onboarding-chat session cookie, the public-pages theme and sidebar-menu storage keys, and a complete session-storage inventory (chat dock tabs, sign-up handoff, reload guards, explainer panels).
  • 2026-10-02 — Initial draft published with the full cookie and storage inventory.