Das ist meine Datenschutzerklärung für www.inkcurity.net, die App Skat Tracker und die Dienste, die ich selbst betreibe. Oben steht die Kurzfassung, darunter jedes Detail. Wenn etwas unklar ist, frag mich: privacy@inkcurity.net.
Kurzfassung
- Keine Cookies, kein Tracking.Diese Website lädt nichts von fremden Servern und zählt niemanden.
- Logs für 15 Tage.Mein Server notiert jeden Seitenaufruf mit deiner IP-Adresse und löscht ihn nach 15 Tagen.
- Mails bleiben, bis wir fertig sind.Schreibst du mir, nutze ich deine Mail nur für die Antwort.
- Skat Tracker geht ohne Konto.Mit Konto liegt dein Cloud-Backup auf meinem Server. Fehlerberichte gehen an Sentry in den USA, aus der App aber nur, wenn du zustimmst.
- Du hast Rechte.Auskunft, Löschung, Widerspruch und mehr: Eine Mail genügt.
This is my privacy policy for www.inkcurity.net, the Skat Tracker app and the services I run myself. The short version comes first, every detail below. If anything’s unclear, ask me: privacy@inkcurity.net. This English version is a translation. The German version is binding.
Short version
- No cookies, no tracking.This website loads nothing from other servers and counts nobody.
- Logs for 15 days.My server notes every page view with your IP address and deletes it after 15 days.
- Mail stays until we’re done.If you write to me, I use your mail only to reply.
- Skat Tracker works without an account.With an account, your cloud backup lives on my server. Error reports go to Sentry in the US, but from the app only if you agree.
- You have rights.Access, deletion, objection and more: one email is enough.
Live-BelegLive receipt
Musst du mir nicht glauben. Dein Browser misst diesen Seitenaufruf und druckt das Ergebnis. Nichts davon wird gesendet.You don’t have to take my word for it. Your browser measures this page view and prints the result. None of it is sent anywhere.
INKCURITY
www.inkcurity.net/privacy/
Beleg liegt bereit.Receipt ready.
- GemessenMeasuredAnfragen, Größen, Cache, Verbindung, Cookies und Speicher, so wie dein Browser sie meldet.Requests, sizes, cache, connection, cookies and storage, as your browser reports them.
- HausordnungHouse rulesDie Sicherheitsregeln, die mein Server eben mitgeschickt hat. Dein Browser setzt sie durch.The security rules my server just sent along. Your browser enforces them.
- ZugesichertPromisedWas kein Browser messen kann. Dafür stehe ich mit dieser Erklärung gerade.What no browser can measure. This policy is my word on it.
- Blinde FleckenBlind spotsCookies mit HttpOnly-Flag (ich setze keine), Anfragen, die dein Browser oder Erweiterungen selbst stellen, und meine Server-Logs. Was aus dem Cache kommt, zählt mit 0 Byte.HttpOnly cookies (I set none), requests your browser or extensions make on their own, and my server logs. Anything served from cache counts as 0 bytes.
§ 1 Wer verantwortlich ist
Verantwortlich für alles auf dieser Seite bin ich:
Jan Klotz
privacy@inkcurity.net · PGP-Schlüssel: /keys/me@inkcurity.net.asc
Ich betreibe das alles privat und allein. Einen Datenschutzbeauftragten habe ich nicht, und als Einzelperson brauche ich auch keinen.
§ 2 Diese Website
2.1 Hosting. Die Website und alle Dienste weiter unten laufen auf einem Server, den ich bei der netcup GmbH, Daimlerstraße 25, 76185 Karlsruhe, miete. Er steht in einem Rechenzentrum von netcup in Wien (Österreich). Ich verwalte ihn selbst. netcup stellt die Maschine und könnte technisch darauf zugreifen, deshalb habe ich mit netcup einen Vertrag zur Auftragsverarbeitung nach Art. 28 DSGVO geschlossen.
2.2 Server-Logs
- Was: IP-Adresse, Datum und Uhrzeit, aufgerufene Adresse samt Parametern, Statuscode, Datenmenge, die Seite, von der du kommst (Referrer, falls dein Browser ihn schickt), und die Kennung deines Browsers (User-Agent). Protokolliert werden Seiten und Dateien wie mein PGP-Schlüssel. Bilder, Schriften, Stylesheets und Skripte protokolliere ich nicht. Bei Fehlern oder gesperrten Anfragen schreibt der Server zusätzlich ein Fehlerprotokoll mit IP-Adresse.
- Wozu: Der Server soll sicher und stabil laufen. Dafür finde ich Fehler und erkenne und wehre Angriffe ab.
- Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO. Mein berechtigtes Interesse ist ein sicherer, funktionierender Server.
- Wie lange: Die Logdateien wechseln täglich und werden nach 15 Tagen gelöscht.
- Wer sonst: Niemand. Ich mache daraus keine Statistiken und keine Profile und verknüpfe sie mit nichts.
2.3 Schutz vor Angriffen. Das Programm fail2ban liest die Logs mit. Schickt eine IP-Adresse in kurzer Zeit auffällig viele fehlerhafte oder verbotene Anfragen (typisch für Bots auf der Suche nach Lücken), sperrt es sie automatisch für 1 Stunde bis 2 Tage, bei Wiederholung für 1 Woche. Die Sperre endet von selbst, das Sperrprotokoll lösche ich nach spätestens 5 Wochen. Rechtsgrundlage ist auch hier Art. 6 Abs. 1 lit. f DSGVO. Wurdest du versehentlich gesperrt, schreib mir.
2.4 Speicher in deinem Browser. Diese Website setzt keine Cookies. Ein paar Einstellungen merkt sich dein Browser trotzdem, und zwar im Speicher dieser Website (localStorage, sessionStorage). Gespeichert wird erst, wenn du die jeweilige Funktion selbst benutzt. Die Einträge verlassen dein Gerät nie, ich bekomme sie nicht zu sehen, und andere Websites können sie nicht lesen.
| Eintrag | Inhalt | Gespeichert, wenn du … | Bleibt, bis … |
|---|---|---|---|
ic-lang | Sprache, z. B. „de“ | die Sprache umschaltest | du ihn löschst |
ic-accent, ic-paper, ic-motion | Farbe, helle Edition, reduzierte Bewegung | sie im Terminal einstellst | du sie löschst |
ic-vt | Testschalter für Seitenübergänge („on“) | eine Adresse mit ?vt=on öffnest | du eine Adresse mit ?vt=auto öffnest oder ihn löschst |
ic-splash, ic-splash-pal | Tintenspritzer an oder aus, Farbpalette | sie im Terminal einstellst | du sie löschst |
ic-term-hist | deine Terminal-Befehle (sessionStorage) | das Terminal benutzt | du den Tab schließt |
ic-hand (sessionStorage) | gefundene Karten und wie du sie im Tresor gelegt hast, solange du sie nicht merkst | eine Karte findest | du den Tab schließt |
ic-hand | gefundene Karten, wann du sie gefunden hast, welche du im Tresor schon gesehen hast und wie du sie gelegt hast | „Merken“ tippst | du ihn löschst |
ic-2048-best, ic-2048-state | dein Bestwert und das laufende Spiel in 2048 | 2048 spielst | du sie löschst |
Rechtsgrundlage ist § 25 Abs. 2 Nr. 2 TDDDG: Die Speicherung ist unbedingt erforderlich, damit die Funktion arbeitet, die du gerade ausdrücklich nutzt. Eine Einwilligung brauche ich dafür nicht. Hast du nichts eingestellt, nimmt die Seite die Sprache deines Browsers. Die liest sie nur auf deinem Gerät aus, dabei wird nichts gespeichert oder gesendet. Löschen kannst du alles unten in der Gefahrenzone oder in deinem Browser.
2.5 Was es hier nicht gibt. Kein Analytics, keine Werbung, keine Social-Media-Knöpfe, keine eingebetteten Videos oder Karten, keine Schriften oder Skripte von fremden Servern, kein Fingerprinting. Mein Server schickt deinem Browser eine Content-Security-Policy, die das Nachladen von anderen Servern verbietet. Dazu kommt eine Referrer-Policy, die beim Klick auf einen Link nach draußen nicht verrät, dass du von hier kommst. Links zu GitHub oder Threema sind einfache Links. Musst du mir nicht glauben: Der Beleg oben misst es in deinem Browser.
§ 3 Wenn du mir schreibst
- Was: deine E-Mail-Adresse, dein Name (falls du ihn nennst), deine Nachricht samt Anhängen und die technischen Kopfzeilen der Mail, darunter die IP-Adresse des Servers, der sie mir zustellt.
- Wozu: um dir zu antworten.
- Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO, denn du und ich haben ein Interesse an einer Antwort. Geht es um etwas, das du von mir willst, etwa ein Konto in meiner Cloud, gilt Art. 6 Abs. 1 lit. b DSGVO.
- Wie lange: bis die Sache erledigt ist, danach lösche ich die Mails innerhalb von 7 Tagen. In den Sicherungen meines Mailservers steckt eine Mail danach noch höchstens 14 Tage.
- Wer sonst: Niemand. Meine Mails laufen über meinen eigenen Mailserver (Mailcow auf mail.inkcurity.net). Er prüft eingehende Mails automatisch auf Spam und Viren und fragt dafür öffentliche Sperrlisten nach dem sendenden Server, etwa Spamhaus, SpamCop, Barracuda und Mailspike. Dabei übermittelt er nur die IP-Adresse des sendenden Servers. Zum Schutz vor Spam und Missbrauch protokolliert er Zustellungen (sendender Server, Absender- und Empfängeradresse, Zeitpunkt, Spam-Bewertung) und löscht diese Protokolle nach 14 Tagen. Die Verwaltungsoberfläche zeigt zusätzlich nur die jeweils letzten Einträge in begrenzter Zahl. Was der Spamfilter dauerhaft lernt, sind statistische Merkmale von Spam, keine Adressen.
- Verschlüsselt: Mit meinem PGP-Schlüssel kannst du Ende-zu-Ende-verschlüsselt schreiben.
- Discord und Threema: Schreibst du mir dort, gelten zusätzlich die Datenschutzbestimmungen von Discord (USA) bzw. Threema (Schweiz). Ich nutze die Nachricht auch dann nur für die Antwort.
§ 4 Skat Tracker
Skat Tracker ist meine App zum Mitschreiben von Skatabenden: für Android über Google Play und als Web-Version unter skat.inkcurity.net. Dieser Abschnitt gilt für beide.
4.1 Ohne Konto. Ohne Konto bleibt alles auf deinem Gerät: Tische, Runden, Spieler, Statistiken, Einstellungen und das App-Protokoll. Ich bekomme davon nichts. Die Tisch-Benachrichtigung entsteht auf dem Gerät, es gibt keinen Push-Dienst. Die Android-App ist vom Android-Backup ausgenommen, deine Daten landen also auch nicht automatisch in einem Google-Backup.
4.2 Mit Konto (Cloud-Backup)
- Was: E-Mail-Adresse, Handle, Anzeigename und eine interne Konto-ID. Dazu deine synchronisierten Tische, Runden, Spieler, Statistiken und Einstellungen. Pro Anmeldung entsteht eine Sitzung mit Zeitstempeln und der Kennung deiner App bzw. deines Browsers. Passwörter gibt es nicht: Du meldest dich mit einem Link oder einem 6-stelligen Code an, den ich dir per Mail schicke. Codes und Sitzungsschlüssel speichere ich nur als Hash.
- Wozu: damit Konto, Anmeldung und Cloud-Backup funktionieren.
- Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO, denn du nutzt einen Dienst, den ich dir anbiete.
- Für andere sichtbar: Angemeldete Nutzende können dich über deinen Handle finden und sehen dann Handle und Anzeigenamen. Deine E-Mail-Adresse sieht niemand.
- Wie lange: solange dein Konto besteht. Login-Links gelten 15 Minuten und sind 24 Stunden später gelöscht. Eine Sitzung läuft ab, wenn du die App 365 Tage nicht öffnest. Abgelaufene und abgemeldete Sitzungen lösche ich nach 30 Tagen.
- Wer sonst: Niemand. Die Login-Mails verschickt mein eigener Mailserver (Mailcow auf mail.inkcurity.net).
- Namen deiner Mitspielenden: Was du als Spielernamen einträgst, sind oft Namen anderer Leute. Ich speichere sie mit deinem Backup und stütze mich dabei auf Art. 6 Abs. 1 lit. f DSGVO (euer gemeinsames Interesse, den Abend festzuhalten). Vornamen oder Spitznamen reichen völlig. Du spielst nur mit und willst nicht im Backup stehen? Sag der Person Bescheid, die den Tisch führt, sie kann dich umbenennen oder löschen. Kommst du so nicht weiter, schreib mir: Du kannst der Speicherung widersprechen (Art. 21 DSGVO), dann lösche ich deinen Namen.
4.3 Logs und Missbrauchsschutz. Bei jeder Anfrage der App notiert mein Server IP-Adresse, Zeitpunkt, aufgerufene Schnittstelle und Ergebnis, und zwar in den Server-Logs aus § 2.2 (15 Tage) und im Protokoll der App-Schnittstelle (30 Tage). Spielinhalte stehen darin nicht. Damit niemand den Server überlastet oder fremde Postfächer mit Login-Mails flutet, zählt der Server Anfragen pro IP-Adresse und Login-Mails pro E-Mail-Adresse. Das passiert nur im Arbeitsspeicher und höchstens eine Stunde lang. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO.
4.4 Fehlerberichte (Sentry). Damit ich Fehler finde, nutze ich Sentry, einen Dienst der Functional Software, Inc., 45 Fremont Street, 8th Floor, San Francisco, CA 94105, USA.
- In der Android-App nur mit deiner Zustimmung. Erst wenn du unter Mehr › „Diagnosedaten teilen“ einschaltest, schickt die App bei einem Fehler Daten an Sentry: Fehlermeldung, technischen Ablauf (Stacktrace), App-Version, Gerätemodell, Android-Version und die Stelle in der App. E-Mail-Adresse, Handle, Namen und Login-Daten filtere ich vorher heraus, Spielinhalte hänge ich nicht an. Rechtsgrundlage ist deine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO, § 25 Abs. 1 TDDDG). Du kannst sie jederzeit mit demselben Schalter widerrufen. Die Web-Version schickt keine Fehlerberichte.
- Auf meinem Server automatisch. Stürzt dort etwas ab, schickt der Server einen Bericht mit Fehler, Stacktrace, Uhrzeit, aufgerufener Schnittstelle und der Kennung deiner App bzw. deines Browsers. IP-Adresse, Login-Daten, E-Mail-Adresse und Inhalte entferne ich vorher. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO, mein Interesse ist ein Dienst, der funktioniert.
- In den USA. Sentry speichert die Berichte in den USA. Sentry ist nach dem EU-US Data Privacy Framework zertifiziert, für das ein Angemessenheitsbeschluss der EU-Kommission gilt (Art. 45 DSGVO). Zusätzlich enthält Sentrys Vertrag zur Auftragsverarbeitung die EU-Standardvertragsklauseln (Art. 46 Abs. 2 lit. c DSGVO), eine Kopie schicke ich dir auf Anfrage. Beim Senden aus der App sieht Sentry technisch die IP-Adresse deines Geräts. Gespeichert wird sie mit meinen Einstellungen nicht.
- Wie lange: Sentry löscht Berichte nach 30 Tagen. Sie sind nicht mit deinem Konto verknüpft und verschwinden deshalb auch nicht sofort, wenn du es löschst.
4.5 Bug-Report per Mail. Unter Mehr › Bug-Report öffnet die App eine fertige Mail an mich, auf Wunsch mit dem lokalen App-Protokoll (App-Version, Gerätedaten, die letzten Fehler, keine Spielinhalte). Gesendet wird erst, wenn du in deinem Mailprogramm auf Senden tippst. Danach gilt § 3.
4.6 Google Play. Lädst du die App über Google Play, verarbeitet Google dabei Daten in eigener Verantwortung, es gilt Googles Datenschutzerklärung. Von Google bekomme ich nur zusammengefasste Zahlen wie Installationen und Absturzstatistiken, aus denen ich niemanden erkennen kann.
4.7 Löschen
- Konto: in der App unter Mehr › Konto › Konto löschen. Konto, Cloud-Backup und alle Sitzungen verschwinden sofort von meinem Server. Ohne Zugriff auf die App geht es über das Formular auf skat.inkcurity.net/account-deletion oder per Mail an privacy@inkcurity.net. Ich lösche dann innerhalb von 30 Tagen, meist viel schneller, und antworte nur an die registrierte Adresse. Das Formular schickt mir zur Missbrauchsabwehr auch IP-Adresse und Browser-Kennung mit. Diese Mail lösche ich, wenn der Fall erledigt ist.
- Was kurz bleibt: Sicherungen der Datenbank höchstens 14 Tage, das Protokoll der App-Schnittstelle höchstens 30 Tage, Server-Logs höchstens 15 Tage, Sentry-Berichte ohne Kontobezug bis zu 30 Tage. Gelöschte Konten stelle ich aus Sicherungen nicht wieder her.
- Tische, Runden und Spieler: Löschst du einen Tisch, eine Runde oder einen Spieler in der App, verschwindet er auch aus deinem Cloud-Backup, sobald die App das nächste Mal online ist. Der Name eines gelöschten Spielers bleibt an den Tischen, an denen er gesessen hat, bis du diese Tische löschst. Sicherungen der Datenbank werden nach 14 Tagen überschrieben.
§ 5 Meine anderen Dienste
Ein paar Dienste betreibe ich auf demselben Server, getrennt von dieser Website. Überall gelten die Server-Logs und der Angriffsschutz aus § 2.2 und § 2.3.
5.1 cloud.inkcurity.net (Nextcloud) und office.inkcurity.net (OnlyOffice). Konten vergebe ich nur auf Anfrage. Gespeichert werden deine Kontodaten (Benutzername, Anzeigename, E-Mail-Adresse), was du hochlädst (Dateien, Kalender, Kontakte), deine Freigaben und die Protokolle der Nextcloud, unter anderem Anmeldungen mit IP-Adresse. Dokumente, die du im Browser bearbeitest, öffnet der Dokumentenserver auf office.inkcurity.net, der ebenfalls auf meinem Server läuft. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, für die Protokolle lit. f. Alles bleibt, bis du dein Konto löschst oder mich darum bittest. Die Protokolle (einschließlich des Prüfprotokolls über Anmeldungen und Änderungen) bleiben 14 Tage, der Aktivitätsverlauf deines Kontos 90 Tage. Alles wird per TLS verschlüsselt übertragen und auf dem Server verschlüsselt gespeichert. Für besonders Vertrauliches gibt es zusätzlich Ende-zu-Ende-Verschlüsselung: Ordner, die du damit schützt, kann auch ich nicht lesen.
5.2 paste.inkcurity.net (PrivateBin). Dein Text wird in deinem Browser verschlüsselt, bevor er hochgeladen wird. Der Schlüssel steckt im Teil des Links nach dem #, und den schickt dein Browser nie an meinen Server. Ich kann Inhalte also nicht lesen. Der Server sieht nur die verschlüsselten Daten, ihre Größe, Zeitpunkte und das Ablaufdatum, das du wählst. Abgelaufene und nach dem Lesen gelöschte Pastes entfernt er. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO: sicherer Austausch und Schutz vor Missbrauch. Soll ich eine Paste vorzeitig löschen, schick mir den Link ohne den Teil nach dem #.
5.3 mail.inkcurity.net (Mailcow). Das ist mein Mailserver. Für Mails von außen gilt § 3. Postfächer für andere vergebe ich derzeit nicht. Sollte sich das ändern, ergänze ich hier, was ich dafür speichere.
5.4 Translator (Discord-Bot)
Mein Bot übersetzt Discord-Nachrichten, wenn jemand per Befehl, Rechtsklick oder Flaggen-Reaktion darum bittet.
- Was: der Text der Nachricht, die übersetzt werden soll, die Discord-IDs der Person, die übersetzen lässt, und des Servers, die Server-Einstellungen, ein Zähler übersetzter Zeichen und Markierungen wie „Premium“ oder „gesperrt“. Nachrichten speichere ich nicht und schreibe sie in keine Logs.
- Wohin: Den Text schicke ich zum Übersetzen an DeepL SE, Maarweg 165, 50825 Köln. Ich nutze dafür die kostenlose DeepL API Free. Dabei darf DeepL die Texte nach seinen eigenen Bedingungen vorübergehend speichern und zur Verbesserung seiner Übersetzung verwenden; einen Vertrag zur Auftragsverarbeitung gibt es dafür nicht. Kann DeepL ein Sprachpaar nicht, geht der Text an Google Translate (Google LLC, 1600 Amphitheatre Parkway, Mountain View, USA). Google ist nach dem EU-US Data Privacy Framework zertifiziert, für das ein Angemessenheitsbeschluss der EU-Kommission gilt (Art. 45 DSGVO). Auch mit Google habe ich dafür keinen eigenen Vertrag. Übersetze deshalb bitte nichts Vertrauliches.
- Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO, gestützt auf die Übersetzung, um die jemand bittet.
- Wie lange: Zähler und Einstellungen, solange der Bot auf dem Server ist oder bis du Löschung verlangst. Nachrichtentexte gar nicht.
- Discord verarbeitet alles als eigener Verantwortlicher (Discord Inc., USA).
§ 6 Empfänger und Drittländer
Ich verkaufe nichts und gebe nur weiter, was die Tabelle nennt, oder wenn ich gesetzlich dazu verpflichtet bin.
| Empfänger | Wofür | Wo | Grundlage |
|---|---|---|---|
| netcup GmbH, Karlsruhe | Server für alles | Österreich (Wien) | Auftragsverarbeitung (Art. 28 DSGVO) |
| Functional Software, Inc. (Sentry) | Fehlerberichte Skat Tracker | USA | Auftragsverarbeitung; DPF (Art. 45) und Standardvertragsklauseln (Art. 46) |
| DeepL SE, Köln | Übersetzungen (Translator) | Deutschland | eigene Bedingungen (API Free), siehe § 5.4 |
| Google LLC | Ersatz-Übersetzung (Translator) | USA | DPF (Art. 45), siehe § 5.4 |
| Google (Play) | Vertrieb der App | Irland/USA | eigene Verantwortung |
| Discord Inc. | Plattform des Bots, Kontakt | USA | eigene Verantwortung |
§ 7 Speicherdauer auf einen Blick
| Was | Wie lange |
|---|---|
| Server-Logs (alle Dienste) | 15 Tage |
| Protokolle des Mailservers und der Nextcloud | 14 Tage |
| Aktivitätsverlauf der Nextcloud | 90 Tage |
| fail2ban: Sperre / Sperrprotokoll | 1 Stunde bis 1 Woche / 5 Wochen |
| Einträge in deinem Browser | bis du sie löschst, Terminal-Verlauf bis Tab-Ende |
| Mails an mich | bis erledigt + 7 Tage, Mail-Sicherungen + 14 Tage |
| Skat-Tracker-Konto und Cloud-Backup | bis du es löschst |
| Login-Links / alte Sitzungen | 24 Stunden / 30 Tage |
| Protokoll der App-Schnittstelle | 30 Tage |
| Datenbank-Sicherungen | 14 Tage |
| Sentry-Berichte | 30 Tage |
| Missbrauchs-Zähler im Arbeitsspeicher | höchstens 1 Stunde |
| Translator: Zähler und Einstellungen | bis der Bot den Server verlässt oder du Löschung verlangst |
§ 8 Deine Rechte
Du hast das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18) und Datenübertragbarkeit (Art. 20). Eine Einwilligung kannst du jederzeit für die Zukunft widerrufen (Art. 7 Abs. 3). Schreib einfach an privacy@inkcurity.net, ich antworte innerhalb eines Monats. Kann ich dir Daten nicht sicher zuordnen, etwa bei Server-Logs, frage ich nach Angaben, mit denen das geht, zum Beispiel Zeitpunkt und IP-Adresse deines Besuchs. Beschwerde: Du kannst dich bei jeder Datenschutz-Aufsichtsbehörde beschweren (Art. 77 DSGVO). Für mich zuständig ist das Unabhängige Landeszentrum für Datenschutz Schleswig-Holstein, Holstenstraße 98, 24103 Kiel, mail@datenschutzzentrum.de.
§ 9 Kleingedrucktes, das trotzdem zählt
- Musst du mir etwas geben? Nein, nichts davon ist gesetzlich oder vertraglich vorgeschrieben. Ohne IP-Adresse kann dir allerdings kein Server eine Seite schicken, und ohne E-Mail-Adresse gibt es kein Skat-Tracker-Konto.
- Automatisierte Entscheidungen: Ich treffe keine automatisierten Entscheidungen und bilde keine Profile im Sinne von Art. 22 DSGVO. fail2ban sperrt nur vorübergehend Adressen, die sich wie Angreifer verhalten (§ 2.3).
- Sicherheit: Alle Verbindungen laufen verschlüsselt (TLS 1.2/1.3, HSTS). Login-Codes und Sitzungsschlüssel speichere ich nur als Hash. Sicherungen liegen auf dem Server und sind nur für Administratoren lesbar. Administratorzugriff habe nur ich, Sicherheitsupdates spielt der Server automatisch ein.
- Änderungen: Ändert sich etwas, passe ich diese Seite an und setze oben ein neues Datum. Ältere Fassungen schicke ich dir auf Anfrage.
- Sprache: Diese Erklärung gibt es auf Deutsch und Englisch. Verbindlich ist die deutsche Fassung.
§ 1 Who’s responsible
I’m responsible for everything on this page:
Jan Klotz · privacy@inkcurity.net · PGP key: /keys/me@inkcurity.net.asc
I run all of this privately and on my own. I don’t have a data protection officer, and as an individual I don’t need one.
§ 2 This website
2.1 Hosting. The website and all services below run on a server I rent from netcup GmbH, Daimlerstraße 25, 76185 Karlsruhe, Germany. It sits in a netcup data centre in Vienna (Austria). I run it myself. netcup provides the machine and could technically access it, which is why I have a data processing agreement with netcup under Art. 28 GDPR.
2.2 Server logs
- What: IP address, date and time, the requested address including parameters, status code, amount of data, the page you came from (referrer, if your browser sends it) and your browser’s identifier (user agent). Pages and files such as my PGP key are logged. Images, fonts, stylesheets and scripts aren’t. On errors or blocked requests the server also writes an error log with the IP address.
- Why: to keep the server secure and stable. That means finding errors and spotting and fending off attacks.
- Legal basis: Art. 6(1)(f) GDPR. My legitimate interest is a secure, working server.
- How long: The log files rotate daily and are deleted after 15 days.
- Who else: Nobody. I don’t turn them into statistics or profiles, and I don’t link them to anything.
2.3 Protection against attacks. A program called fail2ban reads the logs. If an IP address sends a suspicious number of faulty or forbidden requests in a short time (typical for bots hunting for vulnerabilities), fail2ban blocks it automatically for 1 hour to 2 days, repeat offenders for 1 week. Blocks expire on their own, and I delete the block log after 5 weeks at the latest. The legal basis is again Art. 6(1)(f) GDPR. If you were blocked by mistake, write to me.
2.4 Storage in your browser. This website sets no cookies. Your browser still remembers a few settings in this website’s storage (localStorage, sessionStorage). Nothing is stored until you use the feature yourself. The entries never leave your device, I never see them, and other websites can’t read them.
| Entry | Content | Stored when you … | Stays until … |
|---|---|---|---|
ic-lang | language, e.g. “en” | switch the language | you delete it |
ic-accent, ic-paper, ic-motion | colour, light edition, reduced motion | set them in the terminal | you delete them |
ic-vt | test switch for page transitions (“on”) | open an address with ?vt=on | you open an address with ?vt=auto or delete it |
ic-splash, ic-splash-pal | ink splashes on or off, palette | set them in the terminal | you delete them |
ic-term-hist | your terminal commands (sessionStorage) | use the terminal | you close the tab |
ic-hand (sessionStorage) | cards you found and how you laid them in the vault, as long as you don’t keep them | find a card | you close the tab |
ic-hand | cards you found, when you found them, which ones you have already seen in the vault and how you laid them | tap “Keep” | you delete it |
ic-2048-best, ic-2048-state | your best score and the game in progress in 2048 | play 2048 | you delete them |
The legal basis is Section 25(2) No. 2 of the German TDDDG (Telecommunications Digital Services Data Protection Act): storing is strictly necessary for the feature you’re explicitly using, so I don’t need consent for it. If you haven’t set anything, the site uses your browser’s language. It reads it on your device only, and nothing is stored or sent. You can delete everything in the danger zone below or in your browser.
2.5 What you won’t find here. No analytics, no ads, no social media buttons, no embedded videos or maps, no fonts or scripts from other servers, no fingerprinting. My server sends your browser a Content Security Policy that forbids loading anything from other servers. It also sends a Referrer Policy, so clicking a link to somewhere else doesn’t reveal that you came from here. Links to GitHub or Threema are plain links. You don’t have to take my word for it: the receipt above measures it in your browser.
§ 3 When you write to me
- What: your email address, your name (if you give it), your message with attachments, and the mail’s technical headers, including the IP address of the server delivering it to me.
- Why: to reply.
- Legal basis: Art. 6(1)(f) GDPR, because both of us want an answer. If it’s about something you want from me, such as an account in my cloud, Art. 6(1)(b) GDPR applies.
- How long: until we’re done; after that I delete the mail within 7 days. Backups of my mail server keep a mail for 14 more days at most.
- Who else: Nobody. My mail runs on my own mail server (Mailcow at mail.inkcurity.net). It checks incoming mail for spam and viruses automatically and asks public blocklists about the sending server, such as Spamhaus, SpamCop, Barracuda and Mailspike. Only the sending server’s IP address goes to them. To protect against spam and abuse it logs deliveries (sending server, sender and recipient address, time, spam score) and deletes these logs after 14 days. The admin interface additionally keeps only a limited number of the most recent entries. What the spam filter keeps learning are statistical traits of spam, not addresses.
- Encrypted: With my PGP key you can write to me end-to-end encrypted.
- Discord and Threema: If you message me there, Discord’s (US) or Threema’s (Switzerland) privacy policies also apply. I still use your message only to reply.
§ 4 Skat Tracker
Skat Tracker is my app for keeping score at Skat nights. It’s on Android via Google Play and on the web at skat.inkcurity.net, and this section covers both.
4.1 Without an account. Without an account, everything stays on your device: tables, rounds, players, stats, settings and the app log. I get none of it. The table notification is created on the device, and there is no push service. The Android app is excluded from Android backup, so your data doesn’t end up in a Google backup automatically either.
4.2 With an account (cloud backup)
- What: email address, handle, display name and an internal account ID. Also your synced tables, rounds, players, stats and settings. Each sign-in creates a session with timestamps and your app’s or browser’s identifier. There are no passwords: you sign in with a link or a 6-digit code I email you. I store codes and session keys only as hashes.
- Why: so that your account, sign-in and cloud backup work.
- Legal basis: Art. 6(1)(b) GDPR, because you’re using a service I offer you.
- Visible to others: signed-in users can find you by your handle and then see your handle and display name. Nobody sees your email address.
- How long: as long as your account exists. Sign-in links are valid for 15 minutes and are deleted 24 hours later. A session expires if you don’t open the app for 365 days. I delete expired and signed-out sessions after 30 days.
- Who else: Nobody. Sign-in emails go out through my own mail server (Mailcow at mail.inkcurity.net).
- Your fellow players’ names: The player names you enter are often other people’s names. I store them with your backup, based on Art. 6(1)(f) GDPR (your shared interest in recording the game night). First names or nicknames are plenty. If you only play along and don’t want to be in someone’s backup, tell the person running the table: they can rename or delete you. If that doesn’t work, write to me: you can object to the storage (Art. 21 GDPR), and I’ll delete your name.
4.3 Logs and abuse protection. For each app request, my server notes the IP address, time, the endpoint called and the result. They go into the server logs from § 2.2 (15 days) and into the app API’s log (30 days). No game content is in there. To stop anyone from overloading the server or flooding other people’s inboxes with sign-in emails, the server counts requests per IP address and sign-in emails per email address. It does that in memory only, for an hour at most. The legal basis is Art. 6(1)(f) GDPR.
4.4 Error reports (Sentry). To find bugs, I use Sentry, a service of Functional Software, Inc., 45 Fremont Street, 8th Floor, San Francisco, CA 94105, USA.
- In the Android app, only with your consent. Only after you turn on More › “Share diagnostics” does the app send anything to Sentry. When an error occurs, it sends the error message, the technical trace (stack trace), app version, device model, Android version and where in the app it happened. I filter out email address, handle, names and sign-in data first and attach no game content. The legal basis is your consent (Art. 6(1)(a) GDPR, Section 25(1) TDDDG). You can withdraw it any time with the same switch. The web version sends no error reports.
- On my server, automatically. If something crashes there, the server sends a report with the error, stack trace, time, the endpoint called and your app’s or browser’s identifier. I remove IP address, sign-in data, email address and content first. The legal basis is Art. 6(1)(f) GDPR: my interest in a service that works.
- In the US. Sentry stores the reports in the US. Sentry is certified under the EU-US Data Privacy Framework, which is covered by an adequacy decision of the European Commission (Art. 45 GDPR). In addition, Sentry’s data processing agreement includes the EU Standard Contractual Clauses (Art. 46(2)(c) GDPR), and I’ll send you a copy on request. When the app sends a report, Sentry technically sees your device’s IP address. With my settings, it isn’t stored.
- How long: Sentry deletes reports after 30 days. They aren’t linked to your account, so they don’t disappear right away when you delete it.
4.5 Bug report by email. More › Bug report opens a ready-made email to me, optionally with the local app log (app version, device data, recent errors, no game content). Nothing is sent until you tap send in your mail app. After that, § 3 applies.
4.6 Google Play. If you get the app from Google Play, Google processes data under its own responsibility, and Google’s privacy policy applies. From Google I only get aggregated figures such as installs and crash statistics, which don’t let me identify anyone.
4.7 Deletion
- Account: in the app under More › Account › Delete account. Your account, cloud backup and all sessions disappear from my server immediately. Without access to the app, use the form at skat.inkcurity.net/account-deletion or email privacy@inkcurity.net. I’ll delete within 30 days, usually much sooner, and reply only to the registered address. To prevent abuse, the form also sends me your IP address and browser identifier. I delete that mail once the case is closed.
- What stays briefly: database backups for up to 14 days, the app API log for up to 30 days, server logs for up to 15 days, and Sentry reports, which aren’t linked to your account, for up to 30 days. I don’t restore deleted accounts from backups.
- Tables, rounds and players: If you delete a table, a round or a player in the app, it also disappears from your cloud backup the next time the app is online. A deleted player’s name stays at the tables they sat at until you delete those tables. Database backups are overwritten after 14 days.
§ 5 My other services
A few services run on the same server, separate from this website. The server logs and attack protection from § 2.2 and § 2.3 apply to all of them.
5.1 cloud.inkcurity.net (Nextcloud) and office.inkcurity.net (OnlyOffice). I hand out accounts on request only. Stored are your account data (username, display name, email address), what you upload (files, calendars, contacts), your shares and Nextcloud’s logs, including sign-ins with IP address. Documents you edit in the browser are opened by the document server at office.inkcurity.net, which also runs on my server. The legal basis is Art. 6(1)(b) GDPR, and (f) for logs. Everything stays until you delete your account or ask me to. Logs (including the audit log of sign-ins and changes) stay for 14 days, your account’s activity feed for 90 days. Everything is transferred encrypted via TLS and stored encrypted on the server. For anything especially confidential there is end-to-end encryption on top: folders you protect with it can’t be read even by me.
5.2 paste.inkcurity.net (PrivateBin). Your text is encrypted in your browser before it’s uploaded. The key lives in the part of the link after the #, which your browser never sends to my server, so I can’t read the content. The server only sees the encrypted data, its size, timestamps and the expiry you choose. It removes expired pastes and pastes deleted after reading. The legal basis is Art. 6(1)(f) GDPR: secure sharing and abuse protection. If you want me to delete a paste early, send me the link without the part after the #.
5.3 mail.inkcurity.net (Mailcow). This is my mail server. Mail from outside is covered in § 3. I don’t currently hand out mailboxes to other people. If that changes, I’ll add here what I store for them.
5.4 Translator (Discord bot)
My bot translates Discord messages when someone asks via command, right-click or flag reaction.
- What: the text of the message to translate, the Discord IDs of the person asking and of the server, server settings, a counter of translated characters, and flags like “premium” or “blocked”. I don’t store messages and don’t write them to any log.
- Where to: I send the text to DeepL SE, Maarweg 165, 50825 Cologne, Germany, for translation. I use the free DeepL API Free for this. Under its own terms, DeepL may store the texts for a while and use them to improve its translation; there is no data processing agreement for it. If DeepL can’t handle a language pair, the text goes to Google Translate (Google LLC, 1600 Amphitheatre Parkway, Mountain View, USA). Google is certified under the EU-US Data Privacy Framework, which is covered by an adequacy decision of the European Commission (Art. 45 GDPR). I have no separate contract with Google for this either. So please don’t translate anything confidential.
- Legal basis: Art. 6(1)(f) GDPR, based on the translation someone asked for.
- How long: the counter and settings as long as the bot is on the server or until you ask for deletion. Message texts are not kept at all.
- Discord processes everything as an independent controller (Discord Inc., USA).
§ 6 Recipients and third countries
I sell nothing. I only pass on what this table lists, or what I’m legally required to.
| Recipient | What for | Where | Basis |
|---|---|---|---|
| netcup GmbH, Karlsruhe | the server for everything | Austria (Vienna) | processing agreement (Art. 28 GDPR) |
| Functional Software, Inc. (Sentry) | Skat Tracker error reports | USA | processing agreement; DPF (Art. 45) and SCCs (Art. 46) |
| DeepL SE, Cologne | translations (Translator) | Germany | own terms (API Free), see § 5.4 |
| Google LLC | fallback translation (Translator) | USA | DPF (Art. 45), see § 5.4 |
| Google (Play) | app distribution | Ireland/USA | independent controller |
| Discord Inc. | bot platform, contact | USA | independent controller |
§ 7 Retention at a glance
| What | How long |
|---|---|
| Server logs (all services) | 15 days |
| Mail server and Nextcloud logs | 14 days |
| Nextcloud activity feed | 90 days |
| fail2ban: block / block log | 1 hour to 1 week / 5 weeks |
| Entries in your browser | until you delete them; terminal history until the tab closes |
| Mail to me | until done + 7 days; mail backups + 14 days |
| Skat Tracker account and cloud backup | until you delete it |
| Sign-in links / old sessions | 24 hours / 30 days |
| App API log | 30 days |
| Database backups | 14 days |
| Sentry reports | 30 days |
| Abuse counters in memory | 1 hour at most |
| Translator: counter and settings | until the bot leaves the server or you ask for deletion |
§ 8 Your rights
You have the right of access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18) and data portability (Art. 20). You can withdraw consent at any time with effect for the future (Art. 7(3)). Just write to privacy@inkcurity.net, and I’ll answer within a month. If I can’t reliably match data to you, as with server logs, I’ll ask for details that make it possible, such as the time and IP address of your visit. Complaint: You can complain to any data protection supervisory authority (Art. 77 GDPR). The one responsible for me is the Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein, Holstenstraße 98, 24103 Kiel, Germany, mail@datenschutzzentrum.de.
§ 9 Small print that still matters
- Do you have to give me anything? No, none of this is required by law or contract. Without an IP address, though, no server can send you a page, and without an email address there’s no Skat Tracker account.
- Automated decisions: I make no automated decisions and do no profiling within the meaning of Art. 22 GDPR. fail2ban only temporarily blocks addresses that behave like attackers (§ 2.3).
- Security: All connections are encrypted (TLS 1.2/1.3, HSTS). I store sign-in codes and session keys only as hashes. Backups stay on the server and only administrators can read them. I’m the only one with admin access, and security updates install automatically.
- Changes: If something changes, I update this page and put a new date at the top. I’ll send you older versions on request.
- Language: This policy exists in German and English. The German version is binding.
GefahrenzoneDanger zone
Lokale Daten löschenDelete local data
Was diese Website in deinem Browser gespeichert hatWhat this website stored in your browser
Löscht alles, was www.inkcurity.net in diesem Browser gespeichert hat. Meine Server-Logs laufen nach 15 Tagen von selbst ab. Für Mails und Konten schreib mir, dein Skat-Tracker-Konto löschst du auch direkt in der App.Deletes everything www.inkcurity.net has stored in this browser. My server logs expire on their own after 15 days. For mail and accounts, email me; you can also delete your Skat Tracker account right in the app.
keine Werbenetzwerke. keine Web Beacons. kein „We value your privacy“-Banner.no ad networks. no web beacons. no “we value your privacy” banner.