Denarino

Effective 6 September 2026

Privacy policy

This policy describes the Denarino iOS app, its Flutter web build, the account service and this website. The app has verified accounts, cloud persistence, an iOS subscription integration and a paper simulation backed by market data. Protected Ask requests can reach Denarino's service and its enabled closed-tool AI router.

For a historical comparison you request, Denarino sends instrument searches and date ranges to EODHD's financial-data service through its official MCP connection. EODHD receives neither the investment amount nor your chat, account id or email. Retrieved price and exchange-rate series may be cached for twelve hours, shared across requests without account identifiers. The service and app calculate the historical model independently; EODHD output is not sent to the language model.

Controller

Marcel Schmidt
Schulstrasse 2
55296 Gau-Bischofsheim
Germany
hello@denarino.com

The app and account

Denarino uses Sign in with Apple or an emailed one-time code to verify an account. We process the email address, Apple identity where used, an optional public display name, a non-secret app-client identifier, and rotating session records. The account owns a Cloudflare D1 metadata snapshot containing disclaimer acceptance, skill check, reminder preference, language and navigation. A separate Cloudflare Durable Object stores completed lessons and mastery, review history, streak and XP, energy and placement credit. Denarino does not persist those records in iOS app preferences or the Flutter web build's storage. This processing is necessary to provide the account, protected lessons and synchronization requested by the user (Article 6(1)(b) GDPR).

Protected lessons and every Ask request require Apple App Attest on iPhone. Denarino stores the App Attest key identifier, attestation receipt, supported-risk category, app-build evidence and the latest request counter so copied, altered or replayed requests can be rejected. The private key remains protected on the device. A resumable lesson run temporarily stores its lesson/locale, shuffled presentation and which questions have been attempted. It becomes unusable after thirty minutes without activity and is deleted on completion, the next account access or account deletion. If the user reports a teaching card, Denarino stores the exact lesson, zero-based card position, locale, curriculum version and one selected editorial reason with the account. A reported question is stored the same way, identified by its own stable question id rather than by the run it was answered in, because checkpoints and practice sessions ask questions written for earlier lessons. Neither report contains free text, lesson prose or an answer; both are included in account export and remain until the account is deleted. Completed learning history remains until the account is deleted.

Before the first question, Denarino asks your permission to send your question and current chat to Cloudflare Workers AI for this app session. You can decline and continue using the other features. The privacy button in Ask lets you withdraw permission and clear the chat. Every Ask question is sent with the complete preceding chat from the current app session, the signed-in account, locale, attestation-issued install token and a fresh request-bound App Attest assertion to Denarino's Cloudflare service. The application service does not persist that text, a question digest, an Agent plan or generated prose. The enabled router runs an open-weight language model through Cloudflare Workers AI and requires exactly one bounded tool call. For a greeting, thanks, farewell or brief pleasantry, the model writes one short reply; Denarino rejects finance, numbers and links and limits it to 280 characters. For another general finance question, the model may write one explanation of up to 1,200 characters using headings, bold text and short lists, or return a strictly structured flow or comparison that the app draws natively. The app renders only that limited Markdown; HTML, links and drawing code are not accepted. In generated educational prose, Denarino rejects personal advice, named instruments or providers, current claims, tax or legal claims, calculations, figures and links. For a calculation, the model copies bounded inputs and may add one short explanation without figures, formulas, forecasts, recommendations or names; Denarino's service and the app calculate the result independently. Cloudflare treats the submitted wording and answer as Customer Content and states that, without explicit consent, it does not use that content to train AI models or improve Cloudflare or third-party services, and does not make it available to other Cloudflare customers. A selected current-rate scope causes the service to retrieve the latest German monthly household averages from the ECB Data Portal service and cache the validated observation for six hours; the request contains no account or Ask text. This processing is necessary to handle the request submitted by the user (Article 6(1)(b) GDPR).

Opening Home or the weekly learning league sends the recorded weekly XP and streak to the account service. Other signed-in readers see the chosen display name on rankings and trading profiles. Blank or filtered names use a generated Deno alias; internal account ids remain private. The EN/DE offensive-word filter runs before new names are saved and when public names are read. Reports store the displayed name, reporter/target account references, timestamps and review status for moderation. Blocks hide the users from one another across rankings, profiles and public trade history. Operator restrictions prevent an abusive account from publishing a public name or appearing in public trading. Leaderboard entries, submitted reports, blocks and restrictions are included in the relevant account export and removed when the account is deleted. Contact hello@denarino.com about a report or restriction.

Account and learning data remain until the account is deleted, except the short-lived lesson runs described above. One-time codes expire after fifteen minutes, refresh sessions after thirty days, and secret token values are stored only as hashes on the server. Signing out revokes the current credential and clears the account from memory but keeps the cloud account. The authenticated controls under You → Legal information → Data & account provide a machine-readable export and permanent account deletion. Ask text is not stored. Paper balances, positions, decisions, executions, standings and achievements are stored separately in Cloudflare D1 and Durable Objects; a temporary in-memory Arena response is not retained after the app process ends. The app uses no advertising or analytics and does not track activity across services. Account export, deletion, support and sign-out are also available directly from the subscription screen without a purchase. Account deletion does not cancel Apple billing; the confirmation offers Apple’s subscription settings and permits immediate deletion even during an active plan. For Sign in with Apple, Denarino requests fresh authorization from the same Apple Account and revokes it before erasure. The short-lived authorization code and returned Apple tokens are processed for this purpose and never stored.

Denarino Pro subscriptions

When the iOS subscription configuration is enabled, RevenueCat receives a pseudonymous Denarino account id, App Store product and transaction status, subscription dates and entitlement state so Denarino can display monthly and yearly plans, complete and restore purchases, and decide whether Denarino Pro is active. Denarino's server reconciles that status with RevenueCat and accepts signed subscription events; event ids and types are retained to prevent duplicate processing. Denarino does not send the account email or display name to RevenueCat. Apple processes the payment and store account. RevenueCat provides purchase and entitlement infrastructure under its applicable terms and safeguards. Subscription status is not client-writable learning data. Debug builds use RevenueCat Test Store and cannot charge real money; iOS release builds use the Apple-specific public SDK key.

Account providers

Apple processes the Sign in with Apple request when that method is chosen. For email sign-in, Denarino sends the address and one-time-code message to Brevo as the transactional email provider. Cloudflare delivers the account API and stores its D1 records. These providers process data under their own applicable terms and safeguards, including international-transfer safeguards where required.

This website

This static website uses no cookies, no analytics, no forms and no tracking of any kind. It is delivered through Cloudflare's global network. Cloudflare processes technical request data such as IP address, requested path and browser information to deliver and protect the site. This processing is based on our legitimate interest in providing a secure and reliable website (Article 6(1)(f) GDPR). Cloudflare may process data internationally under its Data Privacy Framework certification or Standard Contractual Clauses.

Language choice

The site carries English and German in one page and runs one small script of its own to decide which of them to show. It reads the language your browser reports and, if you pick a language yourself, stores that choice in your browser's local storage under denarino.lang so the site opens in it next time. That entry holds nothing but en or de, never leaves your device, is not read by anyone else, and is strictly necessary for the preference you asked for (§ 25(2) No. 2 TDDDG). Clearing your browser's site data removes it.

Email

If you email us, we process your address and message only to answer your request and meet applicable legal obligations. The basis is Article 6(1)(b) GDPR where your request concerns a contract or pre-contractual steps, and otherwise Article 6(1)(f) GDPR. We keep the message only for as long as it is needed for those purposes or required by law.

Your rights

Where the GDPR applies, you may request access, correction, deletion, restriction, portability or object to processing. You may also complain to a competent data-protection authority. Contact hello@denarino.com to exercise a right or ask a privacy question.

Gültig ab 6. September 2026

Datenschutzerklärung

Diese Erklärung beschreibt die Denarino-iOS-App, ihren Flutter-Web-Build, den Kontodienst und diese Website. Die App hat geprüfte Konten, Cloud-Speicherung, eine iOS-Abo-Anbindung und eine mit Marktdaten versorgte Papiersimulation. Geschützte Ask-Anfragen können Denarinos Dienst und seinen aktiven KI-Router mit geschlossenem Werkzeug erreichen.

Wenn du einen historischen Anlagevergleich anfragst, sendet Denarino die Wertpapiersuche und den Zeitraum über die offizielle MCP-Verbindung an den Finanzdatendienst EODHD. EODHD erhält weder deinen Anlagebetrag noch deinen Chat, deine Konto-ID oder E-Mail-Adresse. Abgerufene Kurs- und Wechselkursreihen können zwölf Stunden lang ohne Kontobezug für weitere Anfragen zwischengespeichert werden. Der Dienst und die App berechnen das historische Modell unabhängig voneinander. Die EODHD-Antwort wird nicht an das Sprachmodell weitergegeben.

Verantwortlicher

Marcel Schmidt
Schulstrasse 2
55296 Gau-Bischofsheim
Deutschland
hello@denarino.com

Die App und das Konto

Denarino prüft ein Konto mit „Mit Apple anmelden“ oder einem Einmalcode per E-Mail. Wir verarbeiten die E-Mail-Adresse, bei dieser Anmeldeart die Apple-Identität, einen optionalen öffentlichen Anzeigenamen, eine nicht geheime App-Client-Kennung und wechselnde Sitzungsdatensätze. Zum Konto gehört ein Cloudflare-D1-Metadatenstand mit Bestätigung des Hinweises, Wissenstest, Erinnerungseinstellung, Sprache und Navigation. Ein getrenntes Cloudflare Durable Object speichert fertige Lektionen und Wertungen, Wiederholungsverlauf, Streak und XP, Energie und Einstufungsgutschriften. Denarino speichert diese Daten weder in den iOS-App-Einstellungen noch im Speicher des Flutter-Web-Builds. Die Verarbeitung ist erforderlich, um Konto, geschützte Lektionen und die gewünschte Synchronisierung bereitzustellen (Art. 6 Abs. 1 lit. b DSGVO).

Geschützte Lektionen und jede Ask-Anfrage benötigen auf dem iPhone Apple App Attest. Denarino speichert Schlüssel-ID, Bestätigungsbeleg, Sicherheitskategorie, Nachweis der App-Version und den letzten Anfragezähler, damit kopierte, veränderte oder wiederholte Anfragen abgewiesen werden. Der private Schlüssel bleibt geschützt auf dem Gerät. Eine fortsetzbare Lektion speichert vorübergehend Lektion und Sprache, die gemischte Darstellung und bereits versuchte Fragen. Nach dreißig Minuten ohne Aktivität ist sie nicht mehr nutzbar und wird beim Abschluss, beim nächsten Kontozugriff oder bei der Kontolöschung gelöscht. Wenn jemand eine Lernkarte meldet, speichert Denarino die genaue Lektion, die nullbasierte Kartenposition, Sprache, Lehrplanversion und einen gewählten redaktionellen Grund beim Konto. Eine gemeldete Frage wird genauso gespeichert, erkennbar an ihrer eigenen festen Frage-ID statt an der Lektion, in der sie beantwortet wurde, weil Checkpoints und Übungsrunden Fragen aus früheren Lektionen stellen. Keine der beiden Meldungen enthält Freitext, Lektionstext oder eine Antwort; beide stehen im Kontoexport und bleiben bis zur Kontolöschung gespeichert. Der abgeschlossene Lernverlauf bleibt bis zur Kontolöschung erhalten.

Vor der ersten Frage bittet Denarino um deine Zustimmung, deine Frage und den bisherigen Chat in dieser App-Sitzung an Cloudflare Workers AI zu senden. Wenn du ablehnst, bleiben die anderen Funktionen nutzbar. Über die Datenschutz-Schaltfläche in Ask kannst du deine Zustimmung widerrufen und den Chat leeren. Bei jeder Ask-Frage sendet die App die Frage zusammen mit dem vollständigen bisherigen Gespräch aus der laufenden App-Sitzung, dem angemeldeten Konto, der Sprache, dem durch die App-Bestätigung ausgegebenen Installations-Token und einem frischen an die Anfrage gebundenen App-Attest-Nachweis an Denarinos Cloudflare-Dienst. Der Anwendungsdienst speichert diesen Text, einen Hash der Frage, den Agentenplan und generierte Antworten nicht dauerhaft. Der aktive Router führt über Cloudflare Workers AI ein offen verfügbares Sprachmodell aus, das genau ein begrenztes Werkzeug auswählen muss. Für eine Begrüßung, einen Dank, Abschied oder kurzen Smalltalk schreibt das Modell eine kurze Antwort; Denarino weist Finanzsprache, Zahlen und Links ab und begrenzt die Antwort auf 280 Zeichen. Auf eine andere allgemeine Finanzfrage darf das Modell eine Erklärung mit bis zu 1.200 Zeichen und mit Überschriften, Fettdruck und kurzen Listen schreiben oder einen streng strukturierten Ablauf oder Vergleich liefern, den die App selbst zeichnet. Die App stellt nur dieses begrenzte Markdown dar; HTML, Links und Zeichencode werden nicht angenommen. Denarino weist persönliche Empfehlungen, benannte Instrumente oder Anbieter, aktuelle Aussagen, Steuer- oder Rechtsaussagen, Rechnungen, Zahlen und Links ab. Bei einer Rechnung übernimmt das Modell nur begrenzte Eingaben und darf einen kurzen Erklärungssatz ohne Zahlen, Formel, Prognose, Empfehlung oder Namen ergänzen; Denarinos Dienst und die App berechnen das Ergebnis unabhängig voneinander. Cloudflare behandelt die übermittelten Texte und Antworten als Kundeninhalte und erklärt, sie ohne ausdrückliche Zustimmung weder zum Training von KI-Modellen noch zur Verbesserung eigener oder fremder Dienste zu verwenden oder anderen Cloudflare-Kunden bereitzustellen. Eine ausgewählte aktuelle Zinskategorie lässt den Dienst die neuesten deutschen Monatsdurchschnitte für private Haushalte vom Datendienst des EZB-Datenportals abrufen und die geprüfte Beobachtung sechs Stunden zwischenspeichern; die Anfrage enthält weder Kontodaten noch Ask-Text. Diese Verarbeitung ist erforderlich, um die vom Nutzer gesendeten Inhalte zu bearbeiten (Art. 6 Abs. 1 lit. b DSGVO).

Beim Öffnen von Home oder der wöchentlichen Lernliga sendet die App die erfassten Wochen-XP und den Streak an den Kontodienst. Andere angemeldete Leser sehen den gewählten Anzeigenamen in Ranglisten und Trading-Profilen. Für leere oder gefilterte Namen erscheint ein Deno-Pseudonym; interne Konto-IDs bleiben privat. Ein Filter für beleidigende englische und deutsche Wörter prüft neue Namen vor dem Speichern und erneut bei der öffentlichen Anzeige. Meldungen speichern den angezeigten Namen, die beteiligten Konten, Zeitpunkte und den Prüfstatus. Blockierte Nutzer sehen einander nicht mehr in Ranglisten, Profilen und öffentlichen Handelshistorien. Bei Missbrauch kann der Betreiber einem Konto die Veröffentlichung eines Namens und die Teilnahme an öffentlichen Trading-Ansichten sperren. Ranglisteneinträge, eigene Meldungen, Blockierungen und Sperren gehören zum jeweiligen Kontoexport und werden mit dem Konto gelöscht. Bei Fragen zu einer Meldung oder Sperre erreichst du uns unter hello@denarino.com.

Konto und Lerndaten bleiben bis zur Kontolöschung gespeichert, mit Ausnahme der oben beschriebenen kurzlebigen Lektionsläufe. Einmalcodes verfallen nach fünfzehn Minuten, Aktualisierungssitzungen nach dreißig Tagen, und geheime Tokenwerte liegen auf dem Server nur als Hash vor. Abmelden widerruft den aktuellen Zugang und entfernt das Konto aus dem Arbeitsspeicher, erhält aber das Cloud-Konto. Die authentifizierten Funktionen unter Du → Rechtliche Informationen → Daten & Konto liefern einen maschinenlesbaren Export und löschen das Konto endgültig. Ask-Text wird nicht gespeichert. Papierguthaben, Positionen, Entscheidungen, Ausführungen, Ranglistenwerte und Erfolge liegen getrennt in Cloudflare D1 und Durable Objects; eine temporäre Arena-Antwort im Arbeitsspeicher bleibt nach Ende des App-Prozesses nicht erhalten. Die App nutzt weder Werbung noch Analyse und verfolgt keine Aktivität über andere Dienste hinweg. Export, Kontolöschung, Support und Abmeldung sind auch direkt vom Abo-Bildschirm ohne Kauf erreichbar. Eine Kontolöschung beendet die Abrechnung durch Apple nicht. Die Bestätigung führt zu Apples Abo-Einstellungen und erlaubt die sofortige Löschung auch bei laufendem Abo. Bei einer Anmeldung mit Apple fordert Denarino eine erneute Bestätigung mit demselben Apple Account an und widerruft die Apple-Autorisierung vor der Löschung. Der kurzlebige Autorisierungscode und die dabei erhaltenen Apple-Tokens werden nur dafür verarbeitet und nicht gespeichert.

Denarino-Pro-Abos

Wenn die iOS-Abo-Konfiguration aktiv ist, erhält RevenueCat eine pseudonyme Denarino-Konto-ID, App-Store-Produkt und Transaktionsstatus, Abo-Zeiträume und Berechtigungsstatus. Damit kann Denarino Monats- und Jahrestarif anzeigen, Käufe abschließen und wiederherstellen und entscheiden, ob Denarino Pro aktiv ist. Denarinos Server gleicht diesen Status mit RevenueCat ab und nimmt signierte Abo-Ereignisse an; Ereignis-IDs und Typen bleiben zur Vermeidung doppelter Verarbeitung gespeichert. Denarino sendet weder die Konto-E-Mail noch den Anzeigenamen an RevenueCat. Apple verarbeitet Zahlung und Store-Konto. RevenueCat stellt die Kauf- und Berechtigungsinfrastruktur nach seinen anwendbaren Bedingungen und Schutzmaßnahmen bereit. Abo-Status ist kein vom Client schreibbarer Lernwert. Debug-Builds nutzen RevenueCats Test Store und können kein echtes Geld belasten; iOS-Release-Builds nutzen den Apple-spezifischen öffentlichen SDK-Schlüssel.

Anbieter für das Konto

Apple verarbeitet die Anfrage, wenn du „Mit Apple anmelden“ wählst. Bei der E-Mail-Anmeldung sendet Denarino die Adresse und die Nachricht mit dem Einmalcode über Brevo als Anbieter für Transaktions-E-Mails. Cloudflare liefert die Konto-API aus und speichert ihre D1-Datensätze. Diese Anbieter verarbeiten Daten nach ihren jeweils anwendbaren Bedingungen und Schutzmaßnahmen, einschließlich Schutzmaßnahmen für internationale Übermittlungen, soweit erforderlich.

Diese Website

Diese statische Website verwendet keine Cookies, keine Analyse, keine Formulare und kein Tracking. Sie wird über das globale Netzwerk von Cloudflare ausgeliefert. Cloudflare verarbeitet technische Anfragedaten wie IP-Adresse, aufgerufenen Pfad und Browserinformationen, um die Website bereitzustellen und zu schützen. Grundlage ist unser berechtigtes Interesse an einer sicheren und zuverlässigen Website (Art. 6 Abs. 1 lit. f DSGVO). Cloudflare kann Daten auf Grundlage seiner Zertifizierung nach dem Data Privacy Framework oder der Standardvertragsklauseln international verarbeiten.

Sprachwahl

Die Seite trägt Deutsch und Englisch in einem Dokument und führt ein einziges eigenes kleines Skript aus, um zu entscheiden, welche Sprache angezeigt wird. Es liest die Spracheinstellung, die dein Browser meldet, und speichert deine Wahl, wenn du selbst eine triffst, im lokalen Speicher deines Browsers unter denarino.lang, damit die Seite beim nächsten Mal in dieser Sprache öffnet. Dieser Eintrag enthält nichts außer en oder de, verlässt dein Gerät nicht, wird von niemandem sonst gelesen und ist für die von dir gewünschte Einstellung unbedingt erforderlich (§ 25 Abs. 2 Nr. 2 TDDDG). Wenn du die Websitedaten deines Browsers löschst, ist er weg.

E-Mail

Wenn du uns schreibst, verarbeiten wir deine Adresse und Nachricht nur, um deine Anfrage zu beantworten und gesetzliche Pflichten zu erfüllen. Grundlage ist Art. 6 Abs. 1 lit. b DSGVO, wenn es um einen Vertrag oder vorvertragliche Maßnahmen geht, sonst Art. 6 Abs. 1 lit. f DSGVO. Wir bewahren die Nachricht nur so lange auf, wie sie dafür benötigt wird oder gesetzlich vorgeschrieben ist.

Deine Rechte

Soweit die DSGVO gilt, kannst du Auskunft, Berichtigung, Löschung, Einschränkung oder Übertragbarkeit verlangen und der Verarbeitung widersprechen. Du kannst dich außerdem bei einer zuständigen Datenschutzaufsichtsbehörde beschweren. Schreib an hello@denarino.com, um ein Recht auszuüben oder eine Datenschutzfrage zu stellen.