Privacy

A short, honest account of what we store.

Last updated · 2026-05-28


The shortest version: Intermittent — a product of ZeroKB, the parent organisation that operates the app and this website — collects what it needs to run a fasting tracker (your fasts, your plan, your circle posts) and nothing else. The app has no third-party trackers, no analytics SDKs, or ad networks. This website uses privacy-first, IP-anonymised Google Analytics for aggregate traffic stats — nothing more.

What we store

  • Account — email and a hashed password if you sign up. You can use the app fully offline without an account.
  • Fasts — start and end times, mood and notes you choose to attach, and the fasting plan you're following.
  • Circle — your handle, optional avatar, the people you've approved as friends, the posts you make, and the applause others send.
  • Reflections — anything you type into the post-fast reflection field. Yours, never used for training, never shown outside your circle.

Where it lives

When you sign in, your data syncs to Supabase, our managed Postgres provider, in their West EU region — Ireland (eu-west-1). EU residency keeps your data under GDPR jurisdiction directly, so no third-country transfer arrangements are required.

This website is served by Cloudflare. The edge sees your IP at the moment of a request — Cloudflare retains standard request logs for fraud and DDoS protection. No fingerprinting is performed.

The website uses Google Analytics 4 (with IP anonymisation) to measure aggregate traffic — page views, referrers, rough geography — which sets first-party cookies. We never send your name, email, fasts, posts, or reflections to Google. This applies to the website only; the mobile app has no analytics.

Crash reports & performance

If the app crashes or throws an unhandled error, a diagnostic report is sent to Sentry, our crash-reporting provider. The report contains the stack trace, the Flutter / Android version, the device model, and timing measurements for the operation that led to the crash (e.g. "this screen took 2.4s to render"). We explicitly strip user identifiers, email, fast data, posts, reflections, and request bodies before the report leaves the device.

Sentry also collects anonymous performance traces — how long screen transitions and network calls take — so we can find and fix the parts of the app that feel slow. Traces carry the same stripping: no user IDs, no payloads, no page contents.

We use this data for one purpose: fixing bugs and making the app faster. It's never used for marketing, advertising, or model training. You can turn both streams off at any time in Settings → Your data → Send crash reports. Reports expire automatically after 90 days.

What we don't do

  • No analytics in the mobile app — no Google Analytics, Mixpanel, Segment, or Amplitude. (The website uses IP-anonymised GA4 only; see “Where it lives”.)
  • No advertising SDKs. No Facebook, no AppsFlyer, no Adjust.
  • No cross-site tracking pixels. No share-to-Twitter buttons that phone home.
  • No selling, renting, or sharing of personal data with anyone, ever.
  • No use of your fasts, posts, or reflections to train AI models — ours or anyone else's.
  • No behavioural profiling, session replay, or cross-site tracking. Measurement is limited to the app’s crash reporter and the website’s aggregate GA4.

Your controls

  • Export — your fasts and posts can be exported to JSON from the app's profile screen.
  • Delete — deleting your account from the app removes your record from Supabase within 24 hours, including all fasts, posts, and reflections.
  • Local-only — if you never sign in, nothing leaves the device.

Children

Intermittent is not intended for use by anyone under 16. We do not knowingly collect data from children. If you believe a child has created an account, contact us and we will remove it.

Contact

Questions, requests, or to-the-point complaints: support@zerokb.co.

Changes

We will note the "last updated" date at the top of this page when this policy changes. Material changes will be surfaced inside the app the next time you open it.