Skip to content
← Back to Set My Flow

Privacy Policy

Last updated: August 2026

1. What We Collect

Set My Flow is local-first. Your tasks, focus preferences, site classifications, and settings live on your device (localStorage and chrome.storage). The app works fully without an account. The sections below describe the optional situations where data leaves your device.

1a. Optional Account

Creating an account is optional. If you sign in (magic link or OAuth), we store only the minimum identity needed to run your account: email or OAuth subject ID, session tokens, Pro subscription status, and sync connection metadata (provider name and last sync time — not file contents). We do not store your tasks, workspaces, notes, or encryption passphrase on our servers. Signing out clears the session only; it does not delete local data.

1b. Marketing pages

Public marketing pages (the homepage, blog, privacy, and terms) load Vercel Analytics and Speed Insights so we can count visits and measure performance. Those scripts are not loaded in the app. They record anonymous page views and Core Web Vitals — not account data, tasks, notes, or browsing history.

2. AI Features (Opt-in)

AI is controlled per workspace under Settings → AI & Privacy. Choose Default, Your key, or Your server.

  • Default — included cloud for signed-in accounts (15 Ask replies and 5 web searches per day on Free). Runs with a zero data retention policy. Prompts are never used for training. Typical inputs include task or note text you ask about, and similar workspace context needed for that request. Signed-out visitors can still use Your key or Your server.
  • Your key — uses your OpenRouter key on this device (and, if you sign in, an encrypted copy on your account). Does not count against included cloud quota.
  • Your server — Ask talks to an OpenAI-compatible server you already run (for example Ollama or LM Studio). Loopback HTTP uses the SetMyFlow extension.

No account information, name, email, or browsing history is included in AI requests.

3. Cloud Sync (Optional)

Cloud sync is opt-in and requires an account so devices can stay linked. Sync uploads go to your cloud storage (Google Drive and similar — not our servers). Data is encrypted on your device with AES-256-GCM using a passphrase you choose; we never receive that passphrase and cannot read your synced content. Search history and billing data are never included in the sync blob. If you lose your passphrase, we cannot recover your encrypted cloud copy — keep a local export from Settings. Sync is disabled by default.

4. Favicon Service

To display website icons, Set My Flow uses a self-hosted favicon proxy. Your browser only ever requests icons from our servers. On a cache miss we may fetch the icon once via Google's favicon API (Google sees our server IP and the domain, not yours), then store it in our own storage and serve later requests from that cache so Google is not contacted again for the same site.

5. Wallpapers (Optional)

Bundled scene wallpapers and ambient audio are served from our own site (same origin as the app). Custom uploads stay on your device unless you sync them through your own backup. Solid colours involve no extra network requests.

6. Weather (Optional)

If you enable weather, you enter a city name in settings. That name is stored only on your device. Your browser sends it directly to Open-Meteo (an open-source, no-account weather API) to look up the forecast. We never collect GPS or device location, and our servers never see your city.

7. Browser Extension Permissions

The Set My Flow browser extension requests the following permissions:

  • tabs — to detect the current page domain for site classification, and (only when you ask) to identify the tab to summarize.
  • activeTab — to interact with the currently active tab when you use quick actions from the extension.
  • storage — to save your tasks, rules, and preferences locally.
  • contextMenus — to let you save selections or pages to Tasks and summarize the current page from the right-click menu.
  • alarms — to schedule focus-mode reminders and timed site unlocks.
  • scripting — to inject content scripts (workspace menu, webapp bridge) and, when you click Summarize, to read visible text on that tab.
  • system.display — to detect screen dimensions for split-view window positioning.
  • declarativeNetRequest — to redirect navigations to sites you have classified as distractions to an in-extension enforcement page, preventing the distraction site from loading. No browsing data is sent externally; the redirect target is a local extension page.
  • webNavigation — to detect single-page-application navigations so that site blocking rules apply even when a site changes its URL without a full page load.
  • notifications — to surface focus-mode alerts.

No browsing data is sent to our servers unless you use an optional feature that needs it. When a site is blocked, your browser is redirected to a page bundled inside the extension — the distraction site never loads and no request is made to it.

Summarize this page is opt-in. When you click that action (right-click menu or the AI tab), the extension reads visible text on that tab — title, headings, and body copy. It skips password fields, form inputs, and the workspace menu itself. That text stays on your device until the AI request you triggered: it is sent only to the AI provider you configured (our gateway or your own key) for that one summary. Pages are not scanned in the background.

8. Rate Limiting & Server Logs

When you use features that make server-side requests (AI enrichment, search, wallpapers), our API server temporarily stores your IP address in memory to enforce rate limits (e.g. 60 requests per minute). This data is never written to disk or shared with third parties, and is automatically cleared when the rate-limit window expires (typically within 1 minute).

9. Data Deletion

You can delete all your data at any time from the Settings page (Menu → Contexts → Data Management). Uninstalling the extension removes all extension-stored data. Clearing browser data removes all webapp-stored data.

10. Contact

If you have questions about this privacy policy, please contact us at support@setmyflow.com.