Data Privacy

noncey Daemon — Server Component

1. Overview

The noncey daemon is the server component of the noncey system. It receives copies of your OTP (one-time password) emails at a dedicated address, extracts the verification code, and makes it available to your connected clients (Chrome extension, Android app). This privacy policy describes what data is processed on the server when you use a noncey account.

The daemon is operated by the person or organisation who provided you with your account. No data is sent to the developer of the noncey software or any third party. All processing described below takes place exclusively on the server that hosts the daemon.

2. Account Data

The following data is stored when your account is created and for as long as your account exists:

  • Username — your chosen account name, used to address your personal email inbox and to identify you within the system.
  • Password — stored exclusively as a bcrypt hash. Your plaintext password is never retained.
  • Email address — optionally provided during account setup. Used for administrative contact only.

Account data is deleted when your account is removed by an administrator.

3. OTP Emails and SMS Received on Your Behalf

The core function of the daemon is to receive OTP messages forwarded to your personal noncey address. For each message received, the following data is processed and stored:

  • Raw email (archive) — the complete email in MIME format, including headers, sender address, subject, and body. Stored as a flat file. Retained for 30 days by default, then deleted automatically.
  • SMS record (archive) — sender phone number, message body, and received timestamp. Stored as a JSON file. Retained for 30 days by default, then deleted automatically.
  • Extracted OTP nonce — the verification code extracted from a matched message. Stored in the database. Retained for 2 hours by default, then deleted automatically.
  • Unmatched messages — emails or SMS that did not match any configured provider rule. Sender, subject, and body are stored in the database until you manually dismiss them. The message body is hidden in the interface if you have any publicly shared configuration, as an additional privacy safeguard.

The retention durations above are defaults and may be adjusted by the server operator.

4. Configuration and Provider Data

To teach the daemon which senders to accept and how to extract OTP codes, you create provider configurations. The following data is stored:

  • Configuration metadata — name, description, version, and status of each configuration you create.
  • Provider rules — sender email addresses, subject patterns, sender phone numbers, and body patterns used to route incoming messages to the correct extraction rule.
  • Extraction parameters — the method (automatic, markers, fixed-length, regex) and associated parameters used to isolate the OTP code within a message.
  • Sample message — an example email or SMS body that you optionally provide to assist in setting up extraction. If you submit a configuration to the public marketplace, this sample is permanently deleted from the server before publication.
  • OTP field selector (prompt) — the page URL and CSS selector for the OTP input field, provided by the Chrome extension during visual setup.

5. Session Data

When you log in — whether through the web interface or via a client application — a session is created:

  • Session token — a signed JSON Web Token (JWT) issued to your client. The server stores only the SHA-256 hash of this token; the token itself is never persisted and cannot be reconstructed from the stored hash.
  • Client type — whether the session was initiated from a browser, the Chrome extension, or the Android app.
  • Session timestamps — creation time, last use, and expiry. Sessions expire after 30 days and are invalidated immediately on logout.

6. No External Services

The daemon operates entirely on the host server. It does not connect to any external APIs, cloud services, analytics platforms, or third-party networks. All email is received via the local Postfix mail server. No data leaves the server except in response to an authenticated request from your own client.

7. Security Measures

  • Passwords — hashed with bcrypt; plaintext is discarded immediately after hashing. Login is protected against username enumeration by always executing the hash comparison, regardless of whether the username exists.
  • Session tokens — stored only as SHA-256 hashes; a stolen database cannot be used to replay sessions.
  • Transport encryption — all external traffic is served over HTTPS (TLS) via a reverse proxy. The Flask application itself is bound to localhost and is not directly reachable from the network.
  • Database — SQLite with foreign-key constraints enforced; all queries use parameterised statements.
  • File permissions — the database and archive directories are accessible only to the noncey system user.

8. Your Rights (GDPR)

You have the right to access the data held about you, to request its correction or deletion, to restrict or object to its processing, and to receive a portable copy. Because all data is stored on the server that issued your account, you can exercise these rights by contacting the operator of that server.

You can delete your locally created configurations, dismiss unmatched messages, and manage your sessions at any time through the noncey web interface. Full account deletion, including all associated data, can be performed by an administrator on request.

For questions about this privacy policy, contact: fatih.gey at gmail.com


Datenschutzbestimmungen

noncey Daemon — Server-Komponente

1. Überblick

Der noncey Daemon ist die Server-Komponente des noncey-Systems. Er empfängt Kopien Ihrer OTP-E-Mails (Einmalpasswörter) an einer dedizierten Adresse, extrahiert den Verifizierungscode und stellt ihn Ihren verbundenen Clients (Chrome-Erweiterung, Android-App) zur Verfügung. Diese Datenschutzerklärung beschreibt, welche Daten auf dem Server verarbeitet werden, wenn Sie ein noncey-Konto nutzen.

Der Daemon wird von der Person oder Organisation betrieben, die Ihnen Ihr Konto bereitgestellt hat. Es werden keine Daten an den Entwickler der noncey-Software oder Dritte übermittelt. Alle unten beschriebenen Verarbeitungen finden ausschließlich auf dem Server statt, der den Daemon betreibt.

2. Kontodaten

Folgende Daten werden bei der Kontoerstellung gespeichert und für die Dauer Ihres Kontos aufbewahrt:

  • Benutzername — Ihr gewählter Kontoname, der zur Adressierung Ihres persönlichen E-Mail-Postfachs und zur Identifizierung innerhalb des Systems verwendet wird.
  • Passwort — wird ausschließlich als bcrypt-Hash gespeichert. Ihr Klartextpasswort wird nie aufbewahrt.
  • E-Mail-Adresse — optional bei der Kontoeinrichtung angegeben. Wird ausschließlich für administrative Kontaktzwecke verwendet.

Kontodaten werden gelöscht, wenn Ihr Konto von einem Administrator entfernt wird.

3. In Ihrem Namen empfangene OTP-E-Mails und SMS

Die Kernfunktion des Daemons besteht darin, OTP-Nachrichten entgegenzunehmen, die an Ihre persönliche noncey-Adresse weitergeleitet werden. Für jede empfangene Nachricht werden folgende Daten verarbeitet und gespeichert:

  • Roh-E-Mail (Archiv) — die vollständige E-Mail im MIME-Format, einschließlich Header, Absenderadresse, Betreff und Inhalt. Wird als Flat-File gespeichert. Standardmäßig 30 Tage aufbewahrt, danach automatisch gelöscht.
  • SMS-Datensatz (Archiv) — Absenderrufnummer, Nachrichteninhalt und Empfangszeitstempel. Wird als JSON-Datei gespeichert. Standardmäßig 30 Tage aufbewahrt, danach automatisch gelöscht.
  • Extrahierter OTP-Nonce — der aus einer erkannten Nachricht extrahierte Verifizierungscode. Wird in der Datenbank gespeichert. Standardmäßig 2 Stunden aufbewahrt, danach automatisch gelöscht.
  • Nicht erkannte Nachrichten — E-Mails oder SMS, die keiner konfigurierten Anbieterregel entsprechen. Absender, Betreff und Inhalt werden in der Datenbank gespeichert, bis Sie sie manuell verwerfen. Der Nachrichteninhalt wird in der Benutzeroberfläche ausgeblendet, wenn Sie eine öffentlich geteilte Konfiguration haben — als zusätzliche Datenschutzmaßnahme.

Die oben genannten Aufbewahrungsfristen sind Standardwerte und können vom Serverbetreiber angepasst werden.

4. Konfigurations- und Anbieterdaten

Um dem Daemon beizubringen, welche Absender akzeptiert und wie OTP-Codes extrahiert werden sollen, erstellen Sie Anbieterkonfigurationen. Folgende Daten werden gespeichert:

  • Konfigurations-Metadaten — Name, Beschreibung, Version und Status jeder von Ihnen erstellten Konfiguration.
  • Anbieterregeln — E-Mail-Adressen der Absender, Betreffmuster, Absenderrufnummern und Inhaltsregeln zur Weiterleitung eingehender Nachrichten an die passende Extraktionsregel.
  • Extraktionsparameter — die Methode (automatisch, Markierungen, feste Länge, Regex) und zugehörige Parameter zur Isolierung des OTP-Codes innerhalb einer Nachricht.
  • Beispielnachricht — ein optionaler Beispielinhalt einer E-Mail oder SMS, den Sie zur Unterstützung der Extraktionskonfiguration angeben. Wenn Sie eine Konfiguration im öffentlichen Marktplatz einreichen, wird dieses Beispiel vor der Veröffentlichung dauerhaft vom Server gelöscht.
  • OTP-Feldselektor (Prompt) — die Seiten-URL und der CSS-Selektor für das OTP-Eingabefeld, bereitgestellt von der Chrome-Erweiterung bei der visuellen Einrichtung.

5. Sitzungsdaten

Wenn Sie sich einloggen — über die Weboberfläche oder eine Client-Anwendung — wird eine Sitzung erstellt:

  • Sitzungstoken — ein signiertes JSON Web Token (JWT), das Ihrem Client ausgestellt wird. Der Server speichert ausschließlich den SHA-256-Hash dieses Tokens; das Token selbst wird nie dauerhaft gespeichert und kann aus dem gespeicherten Hash nicht rekonstruiert werden.
  • Client-Typ — ob die Sitzung über einen Browser, die Chrome-Erweiterung oder die Android-App initiiert wurde.
  • Sitzungs-Zeitstempel — Erstellungszeit, letzte Verwendung und Ablaufzeit. Sitzungen laufen nach 30 Tagen ab und werden bei der Abmeldung sofort ungültig gemacht.

6. Keine externen Dienste

Der Daemon arbeitet vollständig auf dem Host-Server. Er stellt keine Verbindung zu externen APIs, Cloud-Diensten, Analyseplattformen oder Drittanbieter-Netzwerken her. Alle E-Mails werden über den lokalen Postfix-Mailserver empfangen. Keine Daten verlassen den Server, außer als Reaktion auf eine authentifizierte Anfrage von Ihrem eigenen Client.

7. Sicherheitsmaßnahmen

  • Passwörter — mit bcrypt gehasht; Klartext wird unmittelbar nach dem Hashing verworfen. Der Login ist durch immer ausgeführten Hash-Vergleich gegen Benutzernamen-Enumeration geschützt, unabhängig davon, ob der Benutzername existiert.
  • Sitzungstoken — werden nur als SHA-256-Hashes gespeichert; eine gestohlene Datenbank kann nicht zur Wiedergabe von Sitzungen verwendet werden.
  • Transportverschlüsselung — der gesamte externe Datenverkehr wird über HTTPS (TLS) über einen Reverse-Proxy übertragen. Die Flask-Anwendung selbst ist an localhost gebunden und vom Netzwerk aus nicht direkt erreichbar.
  • Datenbank — SQLite mit erzwungenen Fremdschlüssel-Constraints; alle Abfragen verwenden parametrisierte Anweisungen.
  • Dateiberechtigungen — Datenbank und Archivverzeichnisse sind nur für den noncey-Systembenutzer zugänglich.

8. Ihre Rechte (DSGVO)

Sie haben das Recht auf Auskunft über die zu Ihrer Person gespeicherten Daten, auf deren Berichtigung oder Löschung, auf Einschränkung oder Widerspruch gegen die Verarbeitung sowie auf Erhalt einer übertragbaren Kopie. Da alle Daten auf dem Server gespeichert sind, der Ihr Konto ausgestellt hat, können Sie diese Rechte durch Kontaktaufnahme mit dem Betreiber dieses Servers geltend machen.

Sie können selbst erstellte Konfigurationen löschen, nicht erkannte Nachrichten verwerfen und Ihre Sitzungen jederzeit über die noncey-Weboberfläche verwalten. Die vollständige Kontolöschung einschließlich aller zugehörigen Daten kann auf Anfrage von einem Administrator durchgeführt werden.

Sie haben das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18) sowie das Recht auf Datenübertragbarkeit (Art. 20). Soweit die Verarbeitung auf einem berechtigten Interesse beruht, steht Ihnen ein Widerspruchsrecht nach Art. 21 DSGVO zu.

Bei Fragen zu dieser Datenschutzerklärung wenden Sie sich an: fatih.gey at gmail.com