Datenschutzerklärung
Gilt für die Android-TV-App Tellyfin und für die Website tellyfin.app. Stand: 24. September 2026.
Kurzfassung
- Es gibt keinen Tellyfin-Server und kein Tellyfin-Konto. Die App spricht mit deinem Jellyfin-Server.
- Serveradresse, Sitzung und Einstellungen bleiben in der App-Sandbox auf deinem Gerät.
- Keine Werbung, keine Analyse, keine Werbe-ID, kein Profiling, und nichts darüber, was du schaust.
- Die bei Google Play veröffentlichte Variante sendet Absturzberichte an Sentry. Daneben gibt es hier und auf GitHub eine Variante, in der dafür gar kein Code enthalten ist.
- Nichts wird verkauft, und nichts wird für fremde Werbezwecke weitergegeben.
1. Verantwortlicher
Verantwortlicher für die hier beschriebene Verarbeitung im Sinne von Art. 4 Nr. 7 DSGVO ist:
Maurice Schmitz (online auch als Doxylamin)
Steubenstraße 13
41464 Neuss
E-Mail: privacy@tellyfin.app
Projekt: github.com/Doxylamin/Tellyfin
Tellyfin ist ein unabhängiges Open-Source-Projekt. Es steht in keiner Verbindung zum Jellyfin-Projekt und wird von diesem weder betrieben noch unterstützt.
2. Wie Tellyfin aufgebaut ist
Tellyfin ist ein Client. Die App hat kein eigenes Backend, keine Benutzerkonten, keine Cloud-Synchronisierung und keinen Server, auf dem etwas über dich gespeichert würde. Du richtest sie auf einen Jellyfin-Server, den du selbst oder jemand deines Vertrauens betreibt, und sie gibt von dort Live-TV wieder.
Das ist für diese Erklärung entscheidend: Bei fast allem, was du in der App tust, ist der von dir gewählte Jellyfin-Server der einzige Empfänger. Die zwei Ausnahmen sind die Absturzberichte in einer der Varianten und eine Versionsprüfung gegen tellyfin.app beim Start. Beide sind unten beschrieben.
3. Daten auf deinem Gerät
Folgendes wird im privaten Speicherbereich der App auf deinem TV-Gerät abgelegt und ist nur für Tellyfin lesbar. Nichts davon wird an mich übertragen, und nichts davon geht an Dritte.
| Was | Wofür |
|---|---|
| Die Adresse deines Jellyfin-Servers | Damit die App beim nächsten Start weiß, wohin sie sich verbinden soll |
| Dein Jellyfin-Zugriffstoken und Benutzername | Damit du angemeldet bleibst und nicht jedes Mal ein Passwort eingeben musst |
| Deine Lieblingssender | Um sie nach oben zu sortieren und den Favoriten-Reiter anzubieten |
| Der zuletzt geschaute Sender | Um dort weiterzumachen, wo du aufgehört hast |
| Dein eingestelltes Bandbreitenlimit | Um dasselbe Limit beim nächsten Start anzuwenden |
| Zwischengespeicherte Senderlogos | Damit der Programmführer nicht bei jedem Start alle Bilder neu lädt |
Das Abmelden in der App löscht die gespeicherte Sitzung. Beim Deinstallieren verschwindet alles davon. Die App schaltet außerdem die automatische Cloud-Sicherung von Android ab (allowBackup="false"), diese Daten landen also nicht in deiner Google-Sicherung.
4. Daten an deinen Jellyfin-Server
Während der Nutzung stellt die App Anfragen an den von dir eingerichteten Jellyfin-Server, genau wie jeder andere Jellyfin-Client auch. Dazu gehören die Anmeldung, das Abrufen von Senderliste und Programmdaten, der Stream selbst und eine Fortschrittsmeldung etwa alle zehn Sekunden, damit der Server die laufende Sitzung kennt.
Dein Server sieht dadurch mindestens deine IP-Adresse, deinen Jellyfin-Benutzernamen sowie welche Sender du wann öffnest. Was davon protokolliert und wie lange es aufbewahrt wird, entscheidet der Betreiber dieses Servers, nicht ich. Wird er von jemand anderem betrieben, frag dort nach den Datenschutzinformationen. Betreibst du ihn selbst, bist du dafür der Verantwortliche.
Zwei technische Punkte, die dabei relevant sind: Das Zugriffstoken wird im HTTP-Header Authorization übertragen und nicht in einer URL, landet also nicht in den Zugriffsprotokollen von Proxys oder Webservern. Und der Authorization-Header wird ausschließlich an den von dir konfigurierten Server-Host gesendet, an keinen anderen.
5. Absturzberichte
Tellyfin erscheint in zwei Varianten. Beide entstehen aus demselben Quellcode, sind mit demselben Schlüssel signiert und unterscheiden sich in genau einem Punkt.
- Die Standardvariante, die bei Google Play veröffentlicht und hier als empfohlener Download angeboten wird, enthält das Sentry-SDK für Absturzberichte.
- Die Variante ohne Absturzberichte, im Download-Bereich und auf GitHub erhältlich, hat das Sentry-SDK gar nicht erst als Abhängigkeit. Sein Code steckt nicht im APK, es gibt also nichts, das einen Bericht senden könnte, mit oder ohne Einstellung.
Was in einem Absturzbericht steht
In der Standardvariante erzeugt ein unbehandelter Fehler oder ein fehlgeschlagener Anmeldeversuch, der nach einem Programmfehler aussieht, einen Bericht mit:
- Art des Fehlers, Fehlermeldung und Stacktrace
- App-Version und ob es sich um einen Debug- oder Release-Build handelt
- Android-Version, Gerätehersteller, Modell, Architektur, Bildschirmdaten, Sprache, Zeitzone, verfügbarer Speicher und ob das Gerät ein Emulator ist
- eine kurze Spur der letzten Schritte in der App, etwa dass die Einstellungen gelesen und danach der Login-Endpunkt aufgerufen wurde
- eine zufällige Installationskennung, die das SDK beim ersten Start erzeugt und über die zwei Berichte derselben Installation zusammengeführt werden können. Sie wird nicht aus deinem Gerät, deinem Konto oder einer Werbe-ID abgeleitet und bei einer Neuinstallation neu vergeben.
Eine Einschränkung, klar gesagt: Eine Fehlermeldung oder ein Schritt in dieser Spur kann die Adresse deines Jellyfin-Servers enthalten, wenn sie im zugrunde liegenden Fehler vorkommt. Bei Netzwerkfehlern ist das häufig. Dein Passwort und dein Jellyfin-Zugriffstoken sind nie Teil eines Berichts.
Wer die Berichte verarbeitet
Absturzberichte werden an Sentry übermittelt, betrieben von der Functional Software, Inc., 45 Fremont Street, 8th Floor, San Francisco, CA 94105, USA. Das Unternehmen handelt als Auftragsverarbeiter für mich auf Grundlage eines Auftragsverarbeitungsvertrags. Das Projekt liegt in der US-Region von Sentry. Die Übermittlung in die USA erfolgt auf Grundlage der Standardvertragsklauseln der Europäischen Kommission.
Das SDK bleibt bei seiner Voreinstellung für personenbezogene Daten. Das heißt, es hängt deine IP-Adresse nicht an den Bericht an, und Sentry speichert sie auch nicht beim Ereignis. Berichte werden nach 90 Tagen automatisch gelöscht.
Rechtsgrundlage und wie du es vermeidest
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Mein berechtigtes Interesse besteht darin, Fehler in Software zu finden und zu beheben, die auf Geräten läuft, die mir nicht vorliegen und auf denen ich Probleme nicht nachstellen kann. Die Daten beschränken sich auf das, was ein Stacktrace braucht, es wird daraus kein Profil gebildet, und es wird damit keine Entscheidung über dich getroffen.
Wenn dir lieber ist, dass gar keine Diagnosedaten dein Gerät verlassen, installiere die Variante ohne Absturzberichte. Du kannst der Verarbeitung außerdem jederzeit nach Art. 21 DSGVO über die Adresse in Abschnitt 1 widersprechen.
6. Die Update-Prüfung
Beim Start ruft die App https://tellyfin.app/update.php ab. Die Antwort enthält die neueste Versionsnummer und einen GitHub-Downloadlink als JSON. Über dich oder dein Gerät wird dabei nichts gesendet, was über das hinausgeht, was jede HTTP-Anfrage zwangsläufig mitbringt, nämlich deine IP-Adresse und die üblichen Anfrage-Header. Diese Anfrage wird wie in Abschnitt 11 beschrieben vom Webserver protokolliert.
In der Variante für App-Stores ist die Update-Funktion herauskompiliert und läuft nicht, weil Aktualisierungen außerhalb des Store-eigenen Mechanismus gegen die Store-Richtlinien verstoßen. Die Sideload-Variante fragt vor jedem Download nach und installiert nichts von allein.
7. Android-Berechtigungen
| Berechtigung | Wofür |
|---|---|
INTERNET | Verbindung zu deinem Jellyfin-Server und Wiedergabe von dort |
ACCESS_NETWORK_STATE | Erkennen, dass das Netzwerk weg ist, damit ein Streamfehler wiederholt statt angezeigt wird |
REQUEST_INSTALL_PACKAGES | Wird nur von der Sideload-Variante genutzt, um ein von dir bestätigtes Update zu installieren. In der Store-Variante kommt sie nicht zum Einsatz. |
Tellyfin fordert keinen Zugriff auf Standort, Kamera, Mikrofon, Kontakte, Speicher oder andere sensible Berechtigungen an.
8. Google Play und Amazon Appstore
Wenn du Tellyfin über Google Play installierst, verarbeitet Google die Installation selbst als eigenständiger Verantwortlicher nach seiner eigenen Datenschutzerklärung. Je nach Einstellungen auf deinem Gerät und in deinem Google-Konto erhebt Google zusätzlich eigene Absturz- und Leistungsdaten und stellt mir in der Play Console aggregierte, nicht personenbezogene Statistiken bereit, etwa Installationszahlen, Gerätemodelle und Absturzraten. Einzelne Nutzer kann ich daraus nicht identifizieren.
Der zugehörige Eintrag im Play-Bereich „Datensicherheit“ gibt Absturzprotokolle und Diagnosedaten als erhoben an, nicht als an Dritte zu deren eigenen Zwecken weitergegeben, nicht für Werbung oder Tracking genutzt, und verschlüsselt übertragen.
Für den Amazon Appstore gilt dasselbe: Amazon verarbeitet die Installation als eigenständiger Verantwortlicher nach seinen eigenen Datenschutzhinweisen und stellt mir aggregierte Statistiken bereit. Die Veröffentlichung im Amazon Appstore ist öffentlich, es gibt dort also keine Testerliste und ich erfahre nicht, wer die App installiert hat. Bei Google Play läuft weiterhin ein geschlossener Test, und Google zeigt mir die E-Mail-Adresse beziehungsweise das Google-Konto jedes Testers, der ihm beitritt. Ich nutze diese Angabe ausschließlich, um den Test durchzuführen und Support-Mails zu beantworten, trage sie in keinen Verteiler ein, und lösche sie mit dem Ende des Tests oder auf Wunsch früher.
9. Was nie erhoben wird
- Keine Werbung, kein Werbe-SDK, keine Werbe-ID
- Keine Produktanalyse, kein Nutzungs-Tracking, keine Sitzungsaufzeichnung, keine Heatmaps
- Keine Aufzeichnung auf meiner Seite darüber, welche Sender oder Sendungen du schaust
- Kein Zugriff auf Kontakte, Standort, Kamera, Mikrofon oder Dateien
- Kein Verkauf von Daten und keine Weitergabe für fremde Werbezwecke
- Keine Cookies oder vergleichbaren Kennungen in der App
10. Kinder
Tellyfin ist ein allgemeiner Medien-Client und richtet sich nicht an Kinder. Es werden wissentlich keine Daten von Personen unter 16 Jahren erhoben. Beachte, dass die App selbst keine Inhalte filtert: Geschaut werden kann, was dein Jellyfin-Server anbietet, und eine Jugendschutzeinstellung gehört auf diesen Server.
11. Die Website tellyfin.app
Diese Website läuft auf einem Server, den ich selbst miete und administriere, in einem Rechenzentrum in Falkenstein. Die Infrastruktur stellt die Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen, als Auftragsverarbeiterin auf Grundlage eines Auftragsverarbeitungsvertrags bereit. Die Website setzt keine Cookies, verwendet keine Analysewerkzeuge und lädt weder Schriften noch Skripte oder Bilder von Dritten. Ein Besuch gibt also nichts an Dritte preis.
Der Webserver schreibt ein übliches Zugriffsprotokoll mit der anfragenden IP-Adresse, Datum und Uhrzeit, dem angefragten Pfad, dem HTTP-Status, der übertragenen Datenmenge sowie Referrer und User-Agent deines Browsers. Das ist für den sicheren Betrieb und zur Aufklärung von Störungen und Missbrauch erforderlich, Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Die Protokolle werden täglich rotiert und nach sieben Tagen gelöscht.
Ein kleines Skript läuft lokal in deinem Browser und liest dessen Zeitzone aus, und zwar für genau einen Zweck: Amazon betreibt pro Land einen eigenen Shop, der Link zum Amazon Appstore muss also auf deinen zeigen und nicht auf den amerikanischen. Die Zeitzone selbst wird nirgendwo hingeschickt. Deinen Browser verlässt nur der daraus ermittelte Shop, als Teil des Links, den du anklickst, und der taucht wie jeder andere angefragte Pfad im oben beschriebenen Zugriffsprotokoll auf. Ein Cookie oder eine Kennung wird dafür nicht gesetzt.
Die Download-Schaltflächen verweisen auf Release-Dateien bei GitHub. Wer einem dieser Links folgt, wird zu GitHub geleitet, und für diese Anfrage gilt dann die Datenschutzerklärung von GitHub.
12. Deine Rechte
Nach der DSGVO hast du das Recht auf Auskunft über deine personenbezogenen Daten (Art. 15), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20) sowie das Recht, einer Verarbeitung auf Grundlage berechtigter Interessen zu widersprechen (Art. 21). Soweit eine Verarbeitung auf einer Einwilligung beruht, kannst du diese jederzeit mit Wirkung für die Zukunft widerrufen.
Schreib dazu an privacy@tellyfin.app. Bei einem Absturzbericht gib bitte die Referenz an, die beim Fehler in der App angezeigt wurde. Ohne sie lässt sich ein gespeicherter Bericht in der Regel nicht dir zuordnen.
Außerdem hast du das Recht, dich bei einer Aufsichtsbehörde zu beschweren, insbesondere in dem Mitgliedstaat deines Aufenthaltsorts, deines Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes (Art. 77 DSGVO). Für mich zuständig ist die Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen, Kavalleriestraße 2-4, 40213 Düsseldorf.
13. Änderungen dieser Erklärung
Diese Erklärung wird angepasst, wenn sich die App in einer Weise ändert, die sie betrifft, etwa wenn ein Dienst eines Dritten hinzukommt oder wegfällt. Das Datum oben gibt immer den aktuellen Stand an, und die Historie dieser Seite ist im öffentlichen Repository des Projekts einsehbar.