Datenschutzerklärung
1. Auf einen Blick
Auffi ist ein Open-Source-Bildschirm-Sharing-Tool. Die folgenden Hinweise erklären, welche personenbezogenen Daten an welcher Stelle erhoben werden, wozu sie dienen und wie lange sie gespeichert bleiben. Auffi ist Privacy-by-Design entworfen: Bildschirminhalte, Maus- und Tastatureingaben sowie übertragene Dateien fließen ausschließlich Ende-zu-Ende verschlüsselt (DTLS-SRTP) direkt zwischen Sharer-App und Browser; nur wenn Firewalls das blockieren, leitet unser TURN-Relay die weiterhin verschlüsselten Pakete weiter. Der Auffi-Backend-Server kann diese Inhalte weder lesen noch speichert er sie.
2. Verantwortliche Stelle
Verantwortlich für die Datenverarbeitung auf dieser Website ist:
Manuel RödigTannenweg 6
85405 Nandlstadt
Deutschland
E-Mail: phash@phash.de
3. Deine Rechte (Art. 15–21 DSGVO)
- Recht auf Auskunft (Art. 15 DSGVO)
- Recht auf Berichtigung (Art. 16 DSGVO)
- Recht auf Löschung (Art. 17 DSGVO)
- Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)
- Recht auf Datenübertragbarkeit (Art. 20 DSGVO)
- Widerspruchsrecht (Art. 21 DSGVO)
Außerdem hast du das Recht, dich bei der zuständigen Aufsichtsbehörde zu beschweren — im Falle Bayerns das Bayerische Landesamt für Datenschutzaufsicht.
4. Server-Logs (Caddy-Reverse-Proxy)
Bei jedem Zugriff auf auffi.app erfasst der
Reverse-Proxy automatisch technische Daten in
Server-Log-Dateien:
- Browsertyp und -version
- Betriebssystem
- Referrer-URL
- Hostname / IP-Adresse (gekürzt auf die ersten zwei Oktette, z. B.
84.xxx) - Uhrzeit der Serveranfrage
Eine Zusammenführung dieser Daten mit anderen Datenquellen findet nicht statt. Die Erfassung erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse am sicheren Betrieb). Aufbewahrung: 14 Tage, danach automatische Rotation.
5. Verbindungs-Vermittlung (WebRTC-Signaling)
Beim Start einer Sharing-Session wird ein 9-stelliger Code generiert. Dieser dient ausschließlich als Kurzzeit-Schlüssel, um die Sharer-App mit dem Browser der helfenden Person zu verbinden:
- Code-Lebensdauer: 10 Minuten, danach serverseitig verworfen. Verbindungsversuche werden serverseitig gedrosselt (Rate-Limit pro IP).
- Vermittlung: Server tauscht SDP- und ICE-Daten zwischen Sharer-App und Browser aus. Diese enthalten technische Verbindungs-Metadaten (lokale Netzwerk-Hinweise), keine Inhaltsdaten.
- Pixel und Eingaben: fließen nie über den Signaling-Server. WebRTC verbindet Sharer-App und Browser direkt; nur wenn Firewalls oder strikte NATs das blockieren, läuft der verschlüsselte Stream durch unseren TURN-Relay (coturn) — auch dort nur weitergeleitet, nicht entschlüsselt und nicht gespeichert.
-
IP-Pseudonymisierung: Im Bestätigungsdialog
beim Sharer wird nur das gekürzte IP-Prefix
(
84.xxx) sowie das daraus ermittelte Herkunftsland angezeigt, nie die volle Adresse. - Herkunftsland (GeoIP): Damit die sharende Person eine Anfrage einordnen kann, ermittelt der Auffi-Server beim Ad-hoc-Verbinden aus der vollständigen IP-Adresse des Zuschauers das Land (ISO-Ländercode, z. B. „DE"). Die Zuordnung erfolgt ausschließlich im Arbeitsspeicher unseres Servers gegen eine lokal hinterlegte Datenbank (IP-to-Country Lite von DB-IP, CC-BY-4.0: IP Geolocation by DB-IP); es werden keine Daten an Dritte übertragen, das Ergebnis wird weder protokolliert noch gespeichert, sondern nur einmalig an den Sharer übermittelt. Bei Verbindungen zu gekoppelten Geräten (Fernzugriff, §6) entfällt diese Ermittlung. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer nachvollziehbaren Verbindungsfreigabe).
Verarbeitungsgrundlage der Vermittlung selbst: Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung — du forderst aktiv eine Verbindung an).
5a. Sharer-App (Desktop-Programm)
Die Sharer-App für Windows und Linux nimmt von sich aus nur folgende Verbindungen auf:
-
Update-Prüfung bei GitHub: Bei jedem Start
fragt die App unter
api.github.comab, ob es eine neuere Version gibt. Dabei erhält GitHub (GitHub, Inc., USA) deine IP-Adresse und die Kennungauffi-sharer/<Version>; weitere Daten werden nicht übertragen. Es handelt sich um eine Übermittlung in die USA. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse, dich auf Sicherheits- und Fehlerkorrekturen hinzuweisen). Es gilt die Datenschutzerklärung von GitHub. Schlägt die Abfrage fehl, startet die App ganz normal. -
Verbindungsaufbau über
auffi.app: Signaling (siehe §5) und kurzlebige TURN-Zugangsdaten laufen ausschließlich über unsere Server in Deutschland. Im Modus „Fernzugriff ohne Anwesenheit" hält die App zusätzlich eine verschlüsselte Verbindung mit ihrem Geräte-Token offen (siehe §6). -
Lokales Diagnose-Protokoll: Die App schreibt
technische Meldungen in die Datei
auffi-debug.logim Temp-Ordner deines Rechners. Diese Datei bleibt auf deinem Gerät und wird nicht an uns übertragen.
6. Optionales Konto (Unattended Access)
Wer das Dashboard unter auffi.app/dashboard/ nutzt,
legt ein Konto an. Dabei werden gespeichert:
- E-Mail-Adresse
- Passwort als argon2id-Hash (m = 64 MiB, t = 3, p = 1) — niemals im Klartext
- Konto-Erstellungs-Zeitstempel
- Letzter Login-Zeitstempel
- Pro Login-Sitzung: Zeitpunkt der letzten Nutzung und die Browser-/OS-Familie (z. B. „Chrome/Linux"), damit du deine Sitzungen wiedererkennst
- Geräte-Pairing-Daten: Geräte-ID, Alias, argon2id-Hash des Geräte-Tokens, Auto-Accept-Flag, Zeitpunkt „zuletzt online" (wird bei jeder Anmeldung des Geräts am Server aktualisiert). Das Geräte-Passwort prüft die Sharer-App auf dem Gerät selbst; unser Server speichert es nicht.
- Zähler für Passwort-Fehlversuche je Konto und je Gerät: nach 5 Fehlversuchen wird für 15 Minuten gesperrt. Gespeichert werden nur Zähler und Sperr-Ende, keine IP-Adresse; der Eintrag wird nach Ablauf der Sperre bzw. nach erfolgreicher Anmeldung gelöscht.
- Verbindungs-Log pro Gerät (Zeitpunkt, IP-Prefix, ob P2P oder TURN, übertragene Bytes)
- Feedback, das du über den Feedback-Button schickst (Kategorie, Rating, Text, anonymisiertes UA-Hint wie „Chrome/Linux")
Verarbeitungsgrundlage: Art. 6 Abs. 1 lit. b DSGVO. Sessions
werden über einen HttpOnly-, Secure-, SameSite=Strict-Cookie
(__Host-auffi_session) verwaltet — kein
Drittanbieter-Tracking. Die DB speichert nur den
SHA-256-Hash des Session-Tokens, nie das Klartext-Cookie.
Retention (automatische Löschfristen)
- Session-Cookies: 30 Tage ab letzter Nutzung.
- E-Mail-Verifikations- und Passwort-Reset-Tokens: bis Verbrauch oder 24 h.
- Verbindungs-Logs: 30 Tage.
- Feedback: bearbeitet → 1 Jahr, unbearbeitet → 2 Jahre, danach automatisches Hard-Delete.
-
Audit-Log (admin-side): 1 Jahr. Es protokolliert Eingriffe
von Admins (z. B. Konto sperren, Gerät oder Feedback
löschen) mit Zeitpunkt, betroffenem Datensatz, dessen Zustand
vorher/nachher und dem gekürzten IP-Prefix
(
84.xxx) des handelnden Admins. - Unbestätigte, nie genutzte Konten (keine Sitzung, kein gekoppeltes Gerät): 7 Tage nach Registrierung, danach automatisches Hard-Delete.
- Konto-Löschung: sofortiges Hard-Delete mit FK-Cascade (alle Geräte, Sessions, Logs gehen mit) — es gibt keine Karenzzeit und kein Wiederherstellen.
7. E-Mail-Versand (SMTP)
Für Verify-Mails, Passwort-Resets und E-Mail-Änderungs-Bestätigungen
versendet Auffi Transaktions-Mails über mail.mr-development.de
(eigener Mailserver in Deutschland, kein Dritt-Provider wie Sendgrid
o. ä.). Marketing-Mails versenden wir nicht.
Verarbeitungsgrundlage: Art. 6 Abs. 1 lit. b DSGVO. Die Empfänger-Adresse wird nach Versand nicht zusätzlich gespeichert; die zugehörige Konto-Spalte ist die einzige Persistenz. Ausnahme: Änderst du deine E-Mail-Adresse, speichern wir die neue Adresse, bis du sie über den Link bestätigst — höchstens 24 Stunden, danach wird der Eintrag automatisch gelöscht.
8. Cookies
Auffi setzt genau einen technisch notwendigen Cookie:
| Name | Zweck | Lebensdauer |
|---|---|---|
__Host-auffi_session |
Login-Sitzung für das Dashboard | 30 Tage |
Der Cookie ist HttpOnly (kein JavaScript-Zugriff),
Secure (nur über HTTPS) und
SameSite=Strict (kein Cross-Site-Versand). Das
__Host--Prefix wird vom Browser erzwungen — der
Cookie kann nicht von Subdomains überschrieben werden.
Da dieser Cookie ausschließlich der vom Nutzer angeforderten Dienstleistung (Login) dient, ist er nach § 25 Abs. 2 Nr. 2 TTDSG einwilligungsfrei.
9. Reichweitenmessung (selbstgehostetes Matomo)
Um zu verstehen, wie Menschen auffi.app finden und
ob der Dienst überhaupt genutzt wird, betreiben wir eine
selbstgehostete Matomo-Instanz auf demselben deutschen
Server (musikersuche.org/matomo/, IONOS
Frankfurt). Keine externen Analyse-Dienste, kein Google
Analytics, kein Facebook Pixel, keine externen Fonts (keine
Google Fonts), keine externen Scripts außer der eigenen
Matomo-Instanz.
Opt-in via Banner. Beim ersten Besuch der
Marketing-Seiten erscheint unten ein Hinweis mit zwei Buttons:
„Statistik OK" und „Ablehnen". Erst nach „Statistik OK" wird
die Matomo-Datei nachgeladen und ein Seitenaufruf gezählt;
„Ablehnen" speichert lokal eine Ablehnung im
localStorage, der Banner verschwindet, kein Matomo
wird je geladen. Diese Entscheidung gilt browser-weit für
alle Auffi-Seiten und kann jederzeit zurückgesetzt werden,
indem du in deinem Browser den
auffi_matomo_consent-Eintrag im
localStorage löschst — beim nächsten Besuch
erscheint der Banner dann wieder. Hat dein Browser
Do-Not-Track (DNT) aktiviert, wird Matomo gar nicht
erst angeboten — wir lesen das Signal still und tracken nicht.
Was erfasst wird
-
Aufrufe der statischen Seiten — alle
Marketing-, Vergleichs- und Rechtsseiten (Startseite, Download,
Impressum, Datenschutz, die
/vergleich/- und Themenseiten sowie deren englische Fassungen), nicht die laufende Sitzung - Herkunft des Aufrufs — Suchmaschine, Direktaufruf oder Backlink (kein Klick-Tracking innerhalb der Seite)
-
Grobe Geo-Region — abgeleitet aus der vor der
Speicherung anonymisierten IP (letzte zwei Oktette
verworfen, z. B.
84.xxx.xxx.xxx); aus dem Rest lässt sich nur das Land grob bestimmen - Browser- und Betriebssystem-Familie (z. B. „Chrome / Linux") — zur Sicherstellung der Kompatibilität
-
Aggregierte Backend-Zählung — wie oft ein
Verbindungscode generiert wurde. Diese Zählung wird auf
zwei Wegen gepflegt: einerseits fließt sie ohne jeden Bezug
zur konkreten Person, IP oder Sitzung in Matomo ein;
andererseits speichern wir in unserer SQLite-DB
(Tabelle
code_events) pro generiertem Code einen reinen Millisekunden-Timestamp ohne Code-Wert, ohne IP, ohne User-ID. Beide dienen ausschließlich der Messung der aggregierten Nutzungsmenge. Aufbewahrung der DB-Einträge: 365 Tage, danach automatische Löschung durch den Retention-Cron.
Was NICHT erfasst wird
- Mausbewegungen, Scroll-Verhalten, Klicks innerhalb der Seite
- Eingaben (insbesondere keine Verbindungs-Codes, keine Passwörter, keine Formularfeld-Inhalte)
- Inhalt der Bildschirm-Sitzungen — die werden Ende-zu-Ende zwischen Sharer-App und Browser verschlüsselt und tangieren weder Matomo noch unseren Server
- Aktivität während einer laufenden Verbindung — das Matomo-Script wird nur beim initialen Laden der Marketing- und Legal-Seiten ausgeführt
Technische Datenschutz-Maßnahmen
-
Cookielos — Matomo läuft im
disableCookies-Modus. Es werden keine Tracking-Cookies gesetzt. Trotzdem holen wir aktiv deine Einwilligung (siehe Banner oben) — wir folgen damit der strengeren Auslegung von § 25 TTDSG durch den LfDI Niedersachsen und gehen auf Nummer sicher. - IP-Anonymisierung — die letzten zwei Oktette der IP werden auf Matomo-Seite verworfen, bevor irgendetwas gespeichert wird.
- Do-Not-Track respektiert — sendet dein Browser das DNT-Header (Firefox-Setting „Websites mitteilen, dass meine Aktivitäten nicht verfolgt werden sollen", entsprechende Brave-/Tor-/Safari-Defaults), wird gar nichts erfasst.
Verarbeitungsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an aggregierter Reichweitenmessung zur Weiterentwicklung des Dienstes). Du kannst der Erfassung jederzeit per DNT-Browser-Einstellung widersprechen. Aufbewahrung in Matomo: 14 Monate, danach automatische Aggregation auf monatlicher Ebene und Löschung der Roh-Daten.
9a. Aggregierte Download-Klick-Zaehlung
Auf auffi.app/download/ ist neben jedem Download-Button
ein „X Downloads"-Badge sichtbar. Seit Mai 2026 laufen die
Downloads selbst direkt über unseren Server: ein Klick auf einen
Download-Button löst ein GET /api/downloads/file/:asset
aus, das die Datei aus dem GitHub-Release abruft und durch unseren
Server an deinen Browser durchleitet. Beim Start dieses Streams
(nicht beim bloßen Anzeigen der Seite) wird der INT-Zähler
download_counts pro Asset-Name in unserer SQLite-DB um
eins erhöht.
Was erfasst wird
-
Asset-Name aus der URL (z. B.
Auffi_0.4.5_amd64.deb) - Zaehlerstand (INTEGER) und Aenderungs-Zeitstempel pro Asset
- IP-Adresse in den Server-Logs (wie bei jeder HTTP-Anfrage) — siehe §4
Was NICHT erfasst wird
-
Kein Bezug zwischen Download und der speziellen IP/Sitzung —
in der
download_counts-Tabelle steht nur der aggregierte Zähler pro Asset, kein einzelner Download-Eintrag - Kein Cookie, kein LocalStorage-Token gesetzt für den Counter
- Kein Tracking über mehrere Downloads hinweg
- HEAD-Requests (z. B. von Link-Preview-Crawlern oder Uptime- Monitoring) erhöhen den Zähler nicht — nur tatsächlich gestartete Downloads werden gezählt
Verarbeitungsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an Erfolgsmessung der Download-Page). Eine Widerspruchs- moeglichkeit ist nicht eingerichtet, weil ohne Counter-Erhoehung der Inhalt der Page (das „X Downloads"-Badge) nicht aktuell waere — es handelt sich um aggregierte, nicht-personenbezogene Statistik. Aufbewahrung: Zaehler-Datensaetze bleiben dauerhaft; Server-Log-Eintraege mit IP-Praefix entsprechend §4 (14 d, dann rotiert + anonymisiert).
9b. Feedback-Symbol (rechts unten)
Auf der Startseite (/), der Download-Seite
(/download/) und im Dashboard erscheint rechts
unten ein Feedback-Symbol — aber nur fuer eingeloggte Nutzer.
Dazu fragt ein JavaScript beim Laden der Seite ueber
GET /api/me ab, ob ein gueltiges Session-Cookie
vorhanden ist. Diese eine HTTP-Anfrage uebertragt das
__Host-auffi_session-Cookie (siehe §8) als
Login-Check, sendet aber keine zusaetzlichen Daten und setzt
keine neuen Cookies. Bei nicht-eingeloggten Besuchern antwortet
der Server mit HTTP 401 und das Symbol bleibt unsichtbar — die
Anfrage selbst hinterlaesst nur den ueblichen IP-Praefix-Eintrag
im Server-Log (§4).
Auf Impressum und Datenschutz selbst (also auf
dieser Seite und unter /impressum/) wird das Symbol
bewusst NICHT geladen — Pflichtseiten ohne aktive Nutzer-Interaktion
sollen keine Cookies versenden. Wenn du Feedback zur Rechtstext-
Formulierung geben moechtest, nutze bitte
phash@phash.de.
Klickst du auf das Symbol, oeffnet sich ein Eingabefeld. Beim
Abschicken sendet der Browser einen POST /api/feedback
mit deinem Text, dem Session-Cookie, und einem Hinweis auf die
Quell-Seite (source="viewer" oder
source="dashboard") sowie der Browser-/OS-Familie
(z. B. Chrome/Linux). Auch die Sharer-App bietet
im Modus „Fernzugriff ohne Anwesenheit" ein Feedback-Formular
(source="sharer"): Sie meldet sich dabei mit ihrem
Geräte-Token an, und das Feedback wird dem Konto zugeordnet, dem
das gekoppelte Gerät gehört. Verarbeitungsgrundlage:
Art. 6 Abs. 1 lit. f DSGVO (Wartung + Verbesserung des Dienstes).
Inhalt + Zeitpunkt der Einreichung werden gespeichert und sind
nur fuer Admins sichtbar. Antwortet ein Admin, geht die Antwort
per E-Mail an die in deinem Konto hinterlegte Adresse (siehe §7).
Aufbewahrung: 1 Jahr nach Bearbeitung („Erledigt"),
spaetestens 2 Jahre nach Einreichung; die Audit-Eintraege ueber
Feedback-Aktionen werden gleichzeitig mit dem Feedback selbst
geloescht (kein laengeres Audit-Schatten-Leben des Inhalts).
10. Eingebundene Dritt-Dienste
-
GitHub — Links auf das Code-Repository
(
github.com/phash/auffi). Klick öffnet GitHub in neuem Tab; GitHubs Datenschutzerklärung gilt dort. -
Buy me a coffee — optionaler Spenden-Link im
Topbar. Klick öffnet
buymeacoffee.comin neuem Tab; deren Datenschutzerklärung gilt dort.
Keine dieser externen Seiten wird automatisch geladen — du
klickst aktiv darauf, und erst dann verlässt du
auffi.app.
11. Datensicherheit
Diese Website nutzt TLS (HTTPS) für die gesamte Übertragung inkl. WebSocket-Signaling. Das Zertifikat wird von Let's Encrypt automatisch erneuert. Server-Hosting: IONOS VPS in Frankfurt am Main. WebRTC-Streams sind zusätzlich DTLS-SRTP-verschlüsselt.
12. Open-Source-Quellcode
Auffi ist 100 % Open Source unter der AGPL-3.0. Du kannst jederzeit überprüfen, welche Daten wirklich verarbeitet werden: github.com/phash/auffi. Der vollständige Sicherheits-Audit liegt unter docs/security-review-2026-05.md.
13. Änderungen dieser Erklärung
Bei Änderungen am Funktionsumfang oder den Verarbeitungs-Wegen
aktualisieren wir diese Datenschutzerklärung. Die jeweils
aktuelle Version ist auf auffi.app/datenschutz/
abrufbar.
Stand: Oktober 2026.