Privacy policy
This page (the Datenschutzerklärung) explains what happens to your data when you use nüchtern. It complements, but is separate from, the Legal notice, which covers the site operator's identity and copyright terms. In short: your fasting and hydration data stays on your device by default and always. The only two things that can ever reach a server are an anonymous page-view count, and — only if you deliberately turn on Fast Together's optional live sync — a small, revocable slice of that same data shared just with the friends you've chosen. See below for both.
Who is responsible for this data (the controller)
Karandeniya Mahadurage D Premathilaka (known as Janaka Premathilaka), a private individual — not a registered company — operating nüchtern as an independent, free, hobby project.
Fadenstrasse 19, 6300 Zug, Switzerland
Your fasting & hydration data
nüchtern has no account system, no login and no server-side database. Every fast you log, every glass of water, your streak, your history and your settings are all written only to your own browser's localStorage, under the key nuechtern.v1 — this data is never affected by, or sent to, anything described in the Fast Together section below.
None of that ever leaves your device automatically — there is nothing to intercept in transit, because nothing is ever sent. The only way this data moves anywhere is if you deliberately use the "Export backup" feature in Settings, which saves a file that stays entirely under your own control. Clearing your browser storage, uninstalling the app, or switching devices/browsers deletes this data permanently — the operator holds no copy and cannot recover it for you.
Fast Together (optional live sync)
Fast Together lets you see a friend's fast next to your own. By default it works entirely by exchanging a small code with your friend yourself, in your own messages — nüchtern sends nothing on your behalf, and this part of the feature works exactly like the rest of the app: no server, nothing automatic.
If nüchtern's optional live-sync relay is active and you choose to enable it for a friend, the app additionally checks in with a small Cloudflare Worker (a lightweight server component, not a database in the traditional sense) each time you open it or return to it, and — while the app is open in the foreground only — on a short automatic interval; never continuously, and never while it's closed or in the background. That check-in sends your display name, your current fast's start time and goal (or nothing, if you aren't fasting), and, only if you choose to, either a single preset reaction (one of four fixed icons) or a short freeform message you write yourself (up to 280 characters) — and receives the same information back for the friends you've added. Unlike a preset reaction, a freeform message's wording is chosen by you rather than picked from a fixed list, so it can't carry the same blanket "nothing to read" guarantee — nüchtern relays it to your friend without reading, storing longer than delivery requires, or moderating it, but treat it like any other message sent over the internet and avoid putting anything in it you wouldn't want to write down elsewhere. This is the only way any of your fasting data can ever reach a server.
When you add a friend's code while the live-sync relay is active, nüchtern also sends that friend a single, one-time notification through the same relay so their side can connect back to you without a further step, instead of needing to separately share their own code back — this carries no more than what Fast Together already shares (your display name and friend code), plus a single-use invite key. That key is only a random value your own device generated and placed in the code you shared; sending it back is how your device recognises that the notification answers an invitation you actually issued, rather than someone who was forwarded your code. It is not derived from anything about you, is used once and then discarded, and the relay neither creates nor keeps one. Separately, once you're using the live-sync relay, "Share my mood" offers three settings and is set to Simple by default. On Simple, your most recent daily Mood Check-in result is reduced to a simple good-day / hard-day signal — never the specific feeling or intensity. On Full, the feeling itself and how strongly you felt it are included as well, along with the optional "moment" emoji if you have pinned one to that day. On Off, nothing from your Mood Check-in leaves your device at all. In every case what travels is a fixed token from a list built into the app — a feeling name, an intensity, and an emoji chosen from a set the app defines — and never free text: there is deliberately no field here you can type into, so nothing you write can reach anyone by this route. Whatever is shared is included in your status and visible to the same friends who already see your fasting status, under the same retention period as everything else in this section. You can change this at any time in Fast Together's settings: your device applies the new setting to your status straight away, though, as with the rest of this section, a friend who already has a recent copy of it won't see that change until their own next check-in.
That data is stored only long enough to make the feature work: your status expires automatically after 3 days if you don't reopen the app, and a delivered reaction or message is deleted the moment it's shown to you. Nothing here is kept indefinitely, and there is still no account, no password and no way for the operator to look you up individually — a friend "code" is a random string, not an identity. You can generate yourself a brand-new code at any time from within the feature ("Reset my code"), which is the fastest way to make an old, over-shared code stop working.
The relay itself runs on Cloudflare (Cloudflare, Inc., a US-based infrastructure provider operating a global network) — see Cloudflare's privacy policy. Cloudflare acts purely as infrastructure here: it stores the data described above on the operator's behalf and does not use it for its own purposes.
Anonymous analytics (GoatCounter)
nüchtern counts page views using GoatCounter, an open-source, privacy-first analytics service based in the Netherlands. The counter is switched on and pointed at a real site code, so opening the app registers a hit. It is one script tag at the end of the app page's source, which you can verify for yourself. This privacy page and the other reference pages do not load it, so the count covers the app only.
It only records that a page load happened: an aggregate hit count and an approximate unique-visitor count. Per GoatCounter's own privacy policy, it sets no cookies, performs no cross-site tracking, and does not retain full IP addresses — only a same-day, non-reversible value used to avoid double-counting a single visitor, discarded after 24 hours. It never receives your fasting, hydration, or history data — GoatCounter and Fast Together's live sync (see below) are entirely separate, unconnected systems, and this analytics tag specifically has no access to anything you track.
Retention
Fasting, hydration and settings data: retained on your own device for as long as you keep the app installed and don't clear it — entirely your call, with a one-tap "Reset all data" option always available in Settings.
Anonymous analytics: aggregate counts are retained according to GoatCounter's own standard retention settings on the operator's account there; no individually-identifying data exists for the operator to retain or delete in the first place.
Your rights under Swiss data protection law (nDSG)
Under the revised Federal Act on Data Protection (nDSG) and its ordinance, anyone whose personal data is processed has the right to request information about that processing, to have inaccurate data corrected, to request deletion or restriction, and to object to processing — plus the right to lodge a complaint with the Federal Data Protection and Information Commissioner (FDPIC).
In practice, nüchtern's operator holds no personal data about you beyond what's described above: your tracked data stays on your device, the analytics are anonymous and aggregate, and Fast Together's live sync — if you choose to use it — only ever holds a small, short-lived, automatically-expiring slice of data (see above), never a persistent profile. If you still have a question or a request relating to this page — including asking the operator to manually clear a live-sync entry — contact [email protected] and it will be answered in good faith and within a reasonable time.
Changes to this policy
This policy may be updated from time to time — for example, if the analytics tag above is ever removed or replaced, or if the app's data model changes. The version here always reflects the current, live version of nüchtern; there is no separate changelog for this page.
nüchtern is a free, independently developed fasting-tracker web app with no ads, no subscriptions and no accounts. This policy exists to document data handling clearly and honestly, not because a great deal of data is collected — deliberately, almost none is.
← Back to nüchtern