TIME FLIES

Datenschutzerklärung Time Flies

Stand: 24. Oktober 2026 · Verbindliche Fassung

Verantwortlicher

Verantwortlich im Sinne der Datenschutz-Grundverordnung (DSGVO) für die Website tbor.app und die Web-Apps unter ihren Subdomains ist:
Tibor Czekay
c/o COCENTER
Koppoldstr. 1
86551 Aichach
Deutschland
E-Mail: info@tiborczekay.com

Einen Datenschutzbeauftragten habe ich nicht benannt, weil dafür keine gesetzliche Pflicht besteht.

Überblick

Time Flies ist eine Web-App unter time.tbor.app, in der Sie für Gewohnheiten, Serien und Verzichte je einen Pixelbaum wachsen lassen. Ihre Einträge (die Namen Ihrer Bäume, Startzeitpunkte, Serien, Bestätigungen, Ziele, Erinnerungseinstellungen und das Aussehen der Bäume) speichert die App in Ihrem Browser auf Ihrem Gerät. Es gibt kein Nutzerkonto, keine Werbung und keine Analyse- oder Tracking-Dienste. Solange Sie die optionale Cloud-Sicherung nicht einschalten, erhalte ich Ihre Einträge nicht und kann sie nicht sehen.

Was Sie als Namen eines Baumes eintragen, bestimmen Sie selbst. Es kann sich um sehr persönliche Angaben handeln, etwa zu Gesundheit oder Gewohnheiten. Diese Angaben bleiben in Ihrem Browser; auf dem Server liegen sie nur verschlüsselt und für mich unlesbar (siehe unten).

Speicherung in Ihrem Browser

Die App legt Ihre Einträge und Einstellungen (zum Beispiel die gewählte Einheit der Anzeige) im Speicher Ihres Browsers (IndexedDB) ab. Ein Service Worker hält die Dateien der App für die Offline-Nutzung bereit. Das ist erforderlich, damit die App die von Ihnen gewünschte Funktion erbringen kann (§ 25 Abs. 2 Nr. 2 TDDDG); eine Einwilligung ist dafür nicht notwendig. Diese Daten verlassen Ihr Gerät nicht, und ich verarbeite sie nicht.

Sie können alles jederzeit löschen: unter Einstellungen > „Alles auf diesem Gerät löschen“ oder über die Website-Daten Ihres Browsers. Browser, vor allem Safari auf iPhone und iPad, können Website-Daten nach längerer Nichtnutzung löschen. Speichern Sie deshalb eine Sicherungsdatei (Export), legen Sie die App auf den Home-Bildschirm oder nutzen Sie die Cloud-Sicherung.

Export und Import

Export und Import sind Dateivorgänge auf Ihrem Gerät. Die Datei (Sicherung als JSON, Zeitleiste als CSV oder eine Kalenderdatei für Erinnerungen) entsteht in Ihrem Browser und wird nicht an mich gesendet; eine gewählte Datei zum Import wird in Ihrem Browser gelesen und nicht hochgeladen. Für Kopien, die Sie weitergeben oder in anderen Apps ablegen, sind Sie selbst verantwortlich. Die Sicherungsdatei enthält alle Ihre Einträge im Klartext.

Erinnerungen

Die App sendet keine Benachrichtigungen. Fällige Bäume zeigt sie in der App an. Auf Wunsch erzeugt sie eine Kalenderdatei, die Sie selbst in Ihre Kalender-App übernehmen; dabei findet keine Übertragung an mich statt.

Cloud-Sicherung (freiwillig)

Schalten Sie die Cloud-Sicherung ein, erzeugt Ihr Gerät eine geheime Wortfolge aus 24 Wörtern (Wiederherstellungsphrase). Daraus werden vier Schlüssel abgeleitet: eine Kennung Ihrer Sicherung, ein Anmelde-Token, ein Datenschlüssel und ein Schlüssel für Datensatz-Kennungen. Die Phrase und der Datenschlüssel verlassen Ihr Gerät nie. Jeder Eintrag wird auf Ihrem Gerät mit AES-256-GCM verschlüsselt, bevor er an den Server geht (Ende-zu-Ende-Verschlüsselung). Änderungen werden danach selbsttätig abgeglichen, wenn Sie online sind.

Auf dem Server (Cloudflare D1) werden gespeichert:

  • die Kennung Ihrer Sicherung (32 Hexadezimalzeichen, aus der Phrase abgeleitet),
  • ein SHA-256-Hash des Anmelde-Tokens (nicht das Token selbst),
  • verschlüsselte Datensätze: eine zufällig wirkende Datensatz-Kennung, ein Nonce, der Chiffretext, seine Größe und eine laufende Nummer,
  • den Zeitpunkt der Erstellung und der letzten Nutzung sowie die Gesamtgröße und Anzahl der Datensätze.

Was der Server nicht kennt

Der Server kennt weder Ihren Namen noch Ihre E-Mail-Adresse, weder die Phrase noch den Datenschlüssel. Er sieht nicht, was ein Datensatz enthält und ob er ein Baum, eine Serie oder eine Bestätigung ist. Namen und Inhalte Ihrer Bäume kann ich deshalb nicht lesen. Wie viele Einträge ungefähr vorliegen, folgt aus Größe und Anzahl der Datensätze. Die IP-Adresse jeder Anfrage verarbeitet Cloudflare wie im Abschnitt „Hosting“ beschrieben; sie wird außerdem kurzzeitig zur Begrenzung von Anfragen genutzt (Missbrauchsschutz). Ich speichere sie nicht.

Technisch könnte ich als Inhaber des Cloudflare-Kontos Datenbankzeilen einsehen oder löschen. Lesbar sind sie für mich nicht, und eine Verwaltungsoberfläche oder ein Werkzeug, das Sicherungen einzelner Personen anzeigt, auswertet oder löscht, gibt es nicht.

Zweck, Rechtsgrundlage und Speicherdauer

Zweck der Cloud-Sicherung ist, die von Ihnen eingeschaltete Funktion bereitzustellen (Art. 6 Abs. 1 lit. b DSGVO). Beim Anlegen einer Sicherung muss Ihr Gerät eine kleine Rechenaufgabe lösen, und Anfragen werden begrenzt; das dient dem Schutz vor Missbrauch und stützt sich auf Art. 6 Abs. 1 lit. f DSGVO.

Die Daten bleiben, bis Sie die Cloud-Kopie löschen. Eine Sicherung, die 24 Monate nicht genutzt wurde, wird automatisch gelöscht (täglicher Lauf), eine Sicherung ohne jeden Datensatz nach 30 Tagen. Cloudflare D1 hält für die Wiederherstellung eine begrenzte Zeit lang frühere Zustände der Datenbank vor (je nach Tarif bis zu 30 Tage). Gelöschte Zeilen können in dieser Zeit noch in diesen internen Wiederherstellungspunkten enthalten sein.

Löschen, Auskunft und verlorene Phrase

Eine Cloud-Sicherung lässt sich mir keiner Person zuordnen. Ich kann deshalb nicht prüfen, ob eine Anfrage von der Person kommt, deren Daten gesichert sind (Art. 11 Abs. 2 DSGVO). Die Rechte auf Auskunft, Berichtigung, Löschung und Datenübertragbarkeit üben Sie deshalb unmittelbar in der App aus: Export (Auskunft und Übertragbarkeit), Bearbeiten (Berichtigung), „Cloud-Kopie löschen“ und „Mit Phrase löschen“ (Löschung). Das Löschen mit der Phrase funktioniert in jedem Browser, ohne dass etwas heruntergeladen oder entschlüsselt wird.

Haben Sie die Phrase verloren, kann weder ich noch sonst jemand die Sicherung öffnen oder löschen; sie wird nach 24 Monaten ohne Nutzung automatisch gelöscht. Geben Sie mir zusätzliche Angaben, mit denen ich die Sicherung Ihnen zuordnen kann (Art. 11 Abs. 2 Satz 2 DSGVO), prüfe ich Ihr Anliegen. Die Phrase selbst müssen Sie mir dafür nie nennen.

Senden Sie Ihre Phrase niemals an jemanden, auch nicht an mich. Ich frage nie danach. Wer die Phrase kennt, kann Ihre Sicherung lesen und löschen. Haben Sie sie doch weitergegeben, behandeln Sie sie als offengelegt und ersetzen Sie sie in der App (Einstellungen > Cloud-Sicherung > Neue Phrase). Eine E-Mail mit einer Phrase lösche ich, ohne sie zu verwenden.

Hosting

Die Website läuft auf der Plattform Cloudflare Workers. Anbieter ist die Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA. Mit Cloudflare habe ich einen Vertrag über die Auftragsverarbeitung nach Art. 28 DSGVO geschlossen.

Ruft Ihr Browser eine Seite ab, verarbeitet Cloudflare die dafür nötigen Verbindungsdaten: Ihre IP-Adresse, Datum und Uhrzeit, die aufgerufene Adresse, den HTTP-Statuscode, die übertragene Datenmenge, die zuvor besuchte Seite (Referrer), soweit Ihr Browser sie mitsendet, sowie Browsertyp und Betriebssystem (User-Agent). Ohne diese Daten lässt sich die Website nicht ausliefern. Cloudflare verwendet sie außerdem, um Angriffe, Überlastungen und automatisierte Zugriffe abzuwehren. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO; mein berechtigtes Interesse ist eine sichere und stabile Bereitstellung der Website.

Ein Zugriffsprotokoll führe ich nicht. Die Protokollierung von Anfragen (Workers Logs) ist abgeschaltet. Im Dashboard von Cloudflare sehe ich nur zusammengefasste Zahlen, etwa zur Menge der Anfragen. Cloudflare kann Sicherheitsereignisse kurzzeitig protokollieren; Einzelheiten stehen in der Datenschutzrichtlinie von Cloudflare.

Cookies

Die App setzt keine Cookies. Cloudflare kann zum Schutz vor Angriffen und automatisierten Zugriffen technisch notwendige Cookies setzen. Eine Einwilligung ist dafür nicht erforderlich (§ 25 Abs. 2 Nr. 2 TDDDG); Rechtsgrundlage der damit verbundenen Verarbeitung ist Art. 6 Abs. 1 lit. f DSGVO.

Schriften, Skripte, Kamera und Standort

Skripte, Schriften und Bilder kommen ausschließlich vom eigenen Server. Die App nutzt keine externen Schriften, keine Content-Delivery-Netzwerke, Karten, Videos oder Social-Media-Plugins. Sie greift weder auf Ihre Kamera noch auf Ihren Standort oder Ihr Mikrofon zu und sendet keine Benachrichtigungen.

E-Mail

Schreiben Sie mir eine E-Mail, verarbeite ich Ihre E-Mail-Adresse, Ihren Namen, soweit Sie ihn angeben, den Inhalt der Nachricht und die technischen Angaben der E-Mail, um Ihre Anfrage zu beantworten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, wenn Ihre Anfrage einen Vertrag oder dessen Anbahnung betrifft, sonst Art. 6 Abs. 1 lit. f DSGVO; mein berechtigtes Interesse besteht darin, Anfragen zu beantworten. Ich lösche Ihre Nachricht, sobald Ihr Anliegen erledigt ist, sofern keine gesetzlichen Aufbewahrungspflichten entgegenstehen.

Mein Postfach betreibe ich bei Proton AG (Proton Mail), Schweiz. Proton speichert E-Mails Ende-zu-Ende- oder zero-access-verschlüsselt. Für die Verarbeitung durch Proton gilt die Datenschutzerklärung von Proton.

Übermittlung in Drittländer

Cloudflare betreibt ein weltweites Netz von Rechenzentren. Ihre Anfragen bearbeitet in der Regel ein Rechenzentrum in Ihrer Nähe; eine Verarbeitung in den USA lässt sich aber nicht ausschließen. Die Cloudflare, Inc. ist unter dem EU-U.S. Data Privacy Framework zertifiziert. Die Übermittlung stützt sich auf den Angemessenheitsbeschluss der EU-Kommission vom 10. Juli 2023 (Art. 45 DSGVO) und ergänzend auf die EU-Standardvertragsklauseln im Vertrag mit Cloudflare (Art. 46 Abs. 2 lit. c DSGVO).

Mein E-Mail-Anbieter Proton AG hat seinen Sitz in der Schweiz. Für die Schweiz hat die Europäische Kommission einen Angemessenheitsbeschluss erlassen (Art. 45 DSGVO); die Übermittlung stützt sich darauf.

Ihre Rechte

Soweit ich personenbezogene Daten über Sie verarbeite, können Sie nach Maßgabe der gesetzlichen Voraussetzungen:

  • Auskunft über diese Daten verlangen (Art. 15 DSGVO),
  • unrichtige Daten berichtigen lassen (Art. 16 DSGVO),
  • die Löschung Ihrer Daten verlangen (Art. 17 DSGVO),
  • die Einschränkung der Verarbeitung verlangen (Art. 18 DSGVO) und
  • Ihre Daten in einem gängigen, maschinenlesbaren Format erhalten (Art. 20 DSGVO).

Widerspruchsrecht

Dafür genügt eine formlose Nachricht an info@tiborczekay.com. Verarbeite ich Daten auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse), können Sie dieser Verarbeitung aus Gründen, die sich aus Ihrer besonderen Situation ergeben, jederzeit widersprechen (Art. 21 DSGVO). Ich verarbeite die Daten dann nicht mehr, es sei denn, ich kann zwingende schutzwürdige Gründe nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.

Beschwerde bei einer Aufsichtsbehörde

Sie können sich bei einer Datenschutz-Aufsichtsbehörde beschweren, insbesondere in dem Mitgliedstaat Ihres gewöhnlichen Aufenthaltsorts, Ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes (Art. 77 DSGVO).

Automatisierte Entscheidungen und Bereitstellungspflicht

Automatisierte Entscheidungen im Einzelfall einschließlich Profiling im Sinne von Art. 22 DSGVO finden nicht statt. Sie sind weder gesetzlich noch vertraglich verpflichtet, mir Daten zu geben. Ohne die Verbindungsdaten kann Ihr Browser die Website jedoch nicht anzeigen.

Änderungen

Ändern sich die Website oder die eingesetzten Dienste, passe ich diese Erklärung an. Das Datum oben zeigt den Stand.

Privacy policy Time Flies

Last updated: 24 October 2026 · English translation for convenience. Only the German version is binding.

Controller

The controller for the website tbor.app and the web apps on its subdomains within the meaning of the General Data Protection Regulation (GDPR) is:
Tibor Czekay
c/o COCENTER
Koppoldstr. 1
86551 Aichach
Germany
Email: info@tiborczekay.com

I have not appointed a data protection officer because there is no legal obligation to do so.

Overview

Time Flies is a web app at time.tbor.app in which you grow a pixel tree for each habit, streak or thing you give up. The app saves your entries (the names of your trees, start times, streaks, check ins, goals, reminder settings and the look of the trees) in your browser on your device. There are no user accounts, no advertising and no analytics or tracking services. As long as you do not turn on the optional cloud backup, I do not receive your entries and cannot see them.

What you enter as the name of a tree is up to you. It may be very personal, for example about health or habits. These entries stay in your browser; on the server they are held only in encrypted form that I cannot read (see below).

Storage in your browser

The app keeps your entries and settings (for example the chosen unit of the display) in your browser's storage (IndexedDB). A service worker keeps the app's files ready for offline use. This is necessary for the app to provide the function you asked for (Section 25 (2) No. 2 TDDDG); no consent is required. This data does not leave your device, and I do not process it.

You can delete everything at any time: under Settings > "Delete everything on this device" or through your browser's site data. Browsers, above all Safari on iPhone and iPad, may delete site data after a long time without a visit. So save a backup file (export), add the app to your home screen, or use the cloud backup.

Export and import

Export and import are file operations on your device. The file (a backup as JSON, a timeline as CSV or a calendar file for reminders) is made in your browser and is not sent to me; a file you choose to import is read in your browser and not uploaded. You are responsible for copies you pass on or store in other apps. The backup file contains all your entries in plain text.

Reminders

The app sends no notifications. It shows trees that are due inside the app. On request it makes a calendar file that you add to your calendar app yourself; nothing is sent to me in the process.

Cloud backup (optional)

If you turn on the cloud backup, your device makes a secret sequence of 24 words (recovery phrase). Four keys are derived from it: an identifier for your backup, a login token, a data key and a key for record identifiers. The phrase and the data key never leave your device. Every entry is encrypted on your device with AES-256-GCM before it goes to the server (end-to-end encryption). After that, changes are synchronised automatically whenever you are online.

The server (Cloudflare D1) stores:

  • the identifier of your backup (32 hexadecimal characters derived from the phrase),
  • a SHA-256 hash of the login token (not the token itself),
  • encrypted records: a random-looking record identifier, a nonce, the ciphertext, its size and a running number,
  • the time of creation and of last use, and the total size and number of records.

What the server does not know

The server knows neither your name nor your email address, neither the phrase nor the data key. It does not see what a record contains or whether it is a tree, a streak or a check in. So I cannot read the names or contents of your trees. Roughly how many entries there are follows from the size and number of records. Cloudflare processes the IP address of each request as described under "Hosting"; it is also used briefly to limit requests (abuse protection). I do not store it.

Technically I could, as the owner of the Cloudflare account, view or delete database rows. They are unreadable to me, and there is no admin interface or tool that shows, analyses or deletes the backups of individual people.

Purpose, legal basis and retention

The purpose of the cloud backup is to provide the function you turned on (Art. 6 (1) (b) GDPR). When a backup is created, your device has to solve a small computing task, and requests are limited; this protects against abuse and is based on Art. 6 (1) (f) GDPR.

The data stays until you delete the cloud copy. A backup that has not been used for 24 months is deleted automatically (daily run), a backup without any records after 30 days. Cloudflare D1 keeps earlier states of the database for restoring for a limited time (up to 30 days depending on the plan). Deleted rows may still be contained in these internal restore points during that time.

Deletion, access and a lost phrase

A cloud backup cannot be linked to a person by me. So I cannot check whether a request comes from the person whose data is backed up (Art. 11 (2) GDPR). You therefore exercise the rights of access, rectification, erasure and data portability directly in the app: export (access and portability), editing (rectification), "Delete cloud copy" and "Delete with a phrase" (erasure). Deleting with the phrase works in any browser, without anything being downloaded or decrypted.

If you have lost the phrase, neither I nor anyone else can open or delete the backup; it is deleted automatically after 24 months without use. If you give me additional information that allows me to link the backup to you (Art. 11 (2) sentence 2 GDPR), I will look into your request. You never have to tell me the phrase itself for that.

Never send your phrase to anyone, including me. I never ask for it. Whoever knows the phrase can read and delete your backup. If you did pass it on, treat it as exposed and replace it in the app (Settings > Cloud backup > New phrase). I delete an email containing a phrase without using it.

Hosting

The website runs on Cloudflare Workers. The provider is Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA. I have concluded a data processing agreement with Cloudflare under Art. 28 GDPR.

When your browser requests a page, Cloudflare processes the connection data this requires: your IP address, date and time, the requested address, the HTTP status code, the amount of data transferred, the previously visited page (referrer) if your browser sends it, and the browser type and operating system (user agent). The website cannot be delivered without this data. Cloudflare also uses it to defend against attacks, overload and automated access. The legal basis is Art. 6 (1) (f) GDPR; my legitimate interest is providing the website securely and reliably.

I keep no access log. Request logging (Workers Logs) is switched off. In the Cloudflare dashboard I see only aggregated figures, such as the number of requests. Cloudflare may log security events for a short time; the Cloudflare Privacy Policy has the details.

Cookies

The app sets no cookies. Cloudflare may set strictly necessary cookies to protect against attacks and automated access. No consent is required for them (Section 25 (2) No. 2 TDDDG); the legal basis for the related processing is Art. 6 (1) (f) GDPR.

Fonts, scripts, camera and location

Scripts, fonts and images come only from this app's own server. The app uses no external fonts, no content delivery networks, maps, videos or social media plugins. It does not use your camera, your location or your microphone, and it sends no notifications.

Email

If you email me, I process your email address, your name if you give it, the content of the message and the technical details of the email in order to answer you. The legal basis is Art. 6 (1) (b) GDPR where your request concerns a contract or steps towards one, and Art. 6 (1) (f) GDPR otherwise; my legitimate interest is answering requests. I delete your message once your request has been dealt with, unless statutory retention obligations apply.

My mailbox is hosted by Proton AG (Proton Mail) in Switzerland. Proton stores emails with end-to-end or zero-access encryption. Proton's processing is covered by the Proton Privacy Policy.

Transfers to third countries

Cloudflare operates a worldwide network of data centres. Your requests are usually handled by a data centre near you, but processing in the USA cannot be ruled out. Cloudflare, Inc. is certified under the EU-U.S. Data Privacy Framework. Transfers are based on the European Commission's adequacy decision of 10 July 2023 (Art. 45 GDPR) and, in addition, on the EU standard contractual clauses in my agreement with Cloudflare (Art. 46 (2) (c) GDPR).

My email provider Proton AG is based in Switzerland. The European Commission has issued an adequacy decision for Switzerland (Art. 45 GDPR), and the transfer relies on it.

Your rights

Where I process personal data about you, you may, subject to the statutory conditions:

  • request access to that data (Art. 15 GDPR),
  • have inaccurate data corrected (Art. 16 GDPR),
  • request erasure of your data (Art. 17 GDPR),
  • request restriction of processing (Art. 18 GDPR), and
  • receive your data in a common, machine-readable format (Art. 20 GDPR).

Right to object

An informal message to info@tiborczekay.com is enough. Where I process data on the basis of Art. 6 (1) (f) GDPR (legitimate interests), you may object to that processing at any time on grounds relating to your particular situation (Art. 21 GDPR). I will then stop processing the data unless I can demonstrate compelling legitimate grounds that override your interests, rights and freedoms, or the processing is needed to establish, exercise or defend legal claims.

Complaint to a supervisory authority

You may lodge a complaint with a data protection supervisory authority, in particular in the member state of your habitual residence, your place of work or the place of the alleged infringement (Art. 77 GDPR).

Automated decisions and obligation to provide data

There is no automated individual decision-making, including profiling, within the meaning of Art. 22 GDPR. You have no legal or contractual obligation to give me any data. Without the connection data, however, your browser cannot display the website.

Changes

If the website or the services it uses change, I will update this policy. The date at the top shows the current version.