Privacy
A short, honest account of what we store.
Last updated · 2026-11-06
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 any feedback you choose to send us) and nothing else. No third-party trackers, no ad networks, nothing sold. We count how the app itself gets used — with software we built and host ourselves, never anything you typed. 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.
- Feedback — only if you send it from inside the app: the words you type and, if you'd like a reply, your email. See below.
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 app's analytics are described below and do not involve Google.
How the app is used
The app has no third-party trackers. To know whether it actually works — whether people who install it ever get to a finished fast — we count things like screens opened and buttons tapped, using software we wrote and run on our own servers. It goes to us and nowhere else.
It never includes anything you type: not your reflections, not the body of a post, not your weight. Just anonymous counts, attached to a random ID generated on your device, with no way to follow you anywhere else.
Knowing when the app is removed
Phones don't tell an app when it is uninstalled. To learn how many people leave, and how soon, the app registers with Google's push service (Firebase Cloud Messaging) and passes the push token it gets to our own analytics server, stored encrypted. If the app hasn't been opened for a day, our server sends that token a silent message. Nothing is shown on your phone and the app never asks for notification permission for it. Google's answer tells us only whether the app is still installed.
The token identifies this install of the app, nothing else. It is never used to send you notifications or ads, never shared, and carries none of your data. We use only Firebase's push service: no Firebase Analytics, no Crashlytics.
Where installs come from
On Android, when the app first opens it asks Google Play which link led to the install, for example a post or an ad campaign, and sends that answer to our own analytics server once. It names the link and when it was tapped, never who you are, and is attached only to the same anonymous ID as the counts above.
Translating a Circle post
Under each Circle post there is a Translate link. Only when you tap it, the text of that one post goes to our own translation server, which asks Google Translate for it and sends the translation back. Nothing else goes with it: not your account, not an ID, not who wrote the post. Posts are never sent for translation unless someone taps Translate, and the language you choose to translate into stays on your phone.
Feedback you send us
The app has a short feedback form, so you can tell us what could be better without switching to your email. Only when you tap Send, the words you typed go to our own database on Supabase in the EU (Ireland), with an email address only if you chose to leave one. Alongside them go the app version, whether you're on Android or iOS, and the app's language, plus your account ID if you're signed in.
We use it for two things: replying to you, and improving the app. It is never shared or sold, never used for marketing or to train AI models, and nobody else using the app can read it. If the form can't reach us, the app offers to send the same words by email instead, and only then.
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 third-party trackers in the mobile app — no Google Analytics, Mixpanel, Segment, or Amplitude. (The website uses IP-anonymised GA4 only.)
- No advertising SDKs. No Facebook, no AppsFlyer, no Adjust.
- No advertising ID. We don't read your device's advertising identifier, Android ID, or MAC address.
- No cross-site tracking pixels. No share-to-Twitter buttons that phone home.
- No selling, renting, or sharing of personal data with anyone, ever. (A post you choose to translate goes to Google Translate for that translation only; see above.)
- No use of your fasts, posts, or reflections to train AI models — ours or anyone else's.
- No session replay, no behavioural profiling, no cross-site tracking. Nothing we measure follows you anywhere else.
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, and any feedback you sent while signed in. Feedback sent while signed out isn't linked to you; ask us and we'll delete it, and clear the anonymous usage counts too.
- Local-only — if you never sign in, none of your fasting data, posts, or reflections leaves the device. Feedback leaves only when you send it.
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.