Legal texts for dorfteich.online; legal template covers the newer processing
All checks were successful
CD / Build and push images (push) Successful in 1m18s
CD / Deploy to Test (push) Successful in 12s
CD / Smoke tests against Test (push) Successful in 1m20s
CD / Promote to Int (push) Successful in 11s
CI / Lint, typecheck, test (push) Successful in 4m7s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 5m37s
CI / Import/export fidelity gate (push) Successful in 47s
All checks were successful
CD / Build and push images (push) Successful in 1m18s
CD / Deploy to Test (push) Successful in 12s
CD / Smoke tests against Test (push) Successful in 1m20s
CD / Promote to Int (push) Successful in 11s
CI / Lint, typecheck, test (push) Successful in 4m7s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 5m37s
CI / Import/export fidelity gate (push) Successful in 47s
- deploy/legal/dorfteich-online-{impressum,datenschutz}.md: ready-to-
paste Markdown for the flagship instance (Admin → Legal pages after
the wizard) — operator standard texts (§5 DDG, §18(2) MStV, VSBG
no-participation, UGC/liability/copyright notices) plus a privacy
policy grounded in what THIS instance actually does: Hetzner hosting
with DPA, session cookie only (no banner), rate-limit IPs, proxy logs
≤30d, transactional + digest mail with unsubscribe, plaintext content
with versions/comments and public pages, hashed API tokens with
audited writes, nightly backups incl. the encrypted-tunnel mirror to
the operator's private server, self-service export,
deletion/pseudonymization, LfDI BaWü.
- docs/self-hosting/legal-template.md: review checklist and both
language templates extended for the processing added since #82 —
comments/version history, notifications/digest mails, API tokens,
off-host backup copies.
No legal advice; texts follow the operator's standard building blocks
and should get a final human read before publishing.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EwZ4jR4KFAPvpjWevfUGX1
This commit is contained in:
parent
eeb0ef6794
commit
0c9d44e9c9
101
deploy/legal/dorfteich-online-datenschutz.md
Normal file
101
deploy/legal/dorfteich-online-datenschutz.md
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
Verantwortlicher für die Datenverarbeitung auf dorfteich.online ist
|
||||||
|
Stefan Waidele, Ensisheimer Straße 2, 79395 Neuenburg am Rhein,
|
||||||
|
E-Mail: stefan@waidele.info (siehe Impressum). Es werden nur
|
||||||
|
personenbezogene Daten verarbeitet, die für den Betrieb dieses Dienstes
|
||||||
|
erforderlich sind — es gibt keine Werbung, kein Tracking und keine
|
||||||
|
Weitergabe an Dritte zu kommerziellen Zwecken.
|
||||||
|
|
||||||
|
## Hosting
|
||||||
|
|
||||||
|
Diese Instanz läuft auf einem Server der Hetzner Online GmbH,
|
||||||
|
Industriestr. 25, 91710 Gunzenhausen (Serverstandort Deutschland). Mit
|
||||||
|
Hetzner besteht ein Vertrag zur Auftragsverarbeitung (Art. 28 DSGVO).
|
||||||
|
Die Verbindung ist durchgehend TLS-verschlüsselt.
|
||||||
|
|
||||||
|
## Konten
|
||||||
|
|
||||||
|
Bei der Registrierung speichere ich Benutzername, E-Mail-Adresse, einen
|
||||||
|
Passwort-Hash (nie das Passwort selbst), den Anzeigenamen und die
|
||||||
|
Spracheinstellung (Art. 6 Abs. 1 lit. b DSGVO). Die E-Mail-Adresse dient
|
||||||
|
der Bestätigung des Kontos, dem Zurücksetzen des Passworts und den unten
|
||||||
|
beschriebenen Benachrichtigungen. Benutzername und Anzeigename sind für
|
||||||
|
andere Mitglieder sichtbar, mit denen du Teiche teilst.
|
||||||
|
|
||||||
|
## Sitzungen und Cookies
|
||||||
|
|
||||||
|
Nach der Anmeldung hält ein technisch notwendiges Sitzungs-Cookie
|
||||||
|
(`dt_session`, Laufzeit 30 Tage) dich angemeldet. Zu jeder Sitzung
|
||||||
|
speichere ich die von deinem Browser übermittelte Kennung (User-Agent)
|
||||||
|
und den Ablaufzeitpunkt; unter „Einstellungen → Sitzungen" kannst du
|
||||||
|
jede Sitzung einsehen und beenden. Es gibt keine Tracking- und keine
|
||||||
|
Drittanbieter-Cookies — deshalb auch keinen Cookie-Banner.
|
||||||
|
|
||||||
|
## Missbrauchsschutz und Server-Logs
|
||||||
|
|
||||||
|
Zum Schutz vor Missbrauch (z. B. Anmeldeversuche) werden IP-Adressen in
|
||||||
|
kurzlebigen Zählern verarbeitet, die automatisch verfallen (Art. 6
|
||||||
|
Abs. 1 lit. f DSGVO). Der vorgeschaltete Webserver schreibt Zugriffs-Logs
|
||||||
|
mit IP-Adressen; diese werden rotiert und spätestens nach 30 Tagen
|
||||||
|
gelöscht.
|
||||||
|
|
||||||
|
## E-Mail
|
||||||
|
|
||||||
|
Transaktions-E-Mails (Konto-Bestätigung, Passwort-Zurücksetzen) sowie —
|
||||||
|
sofern du Seiten oder Teiche beobachtest — Benachrichtigungs-Sammelmails
|
||||||
|
(„Digests") werden über den Mailserver des Betreibers versendet. Digests
|
||||||
|
kannst du in den Einstellungen abschalten; jede Digest-Mail enthält
|
||||||
|
zudem einen Abmeldelink, der ohne Anmeldung funktioniert.
|
||||||
|
|
||||||
|
## Von dir erstellte Inhalte
|
||||||
|
|
||||||
|
Von dir angelegte Seiten, Kommentare und hochgeladene Dateien liegen auf
|
||||||
|
dem Server und sind für die Personen sichtbar, die die Berechtigungen
|
||||||
|
der jeweiligen Teiche zulassen; ausdrücklich öffentlich geschaltete
|
||||||
|
Seiten sind ohne Anmeldung im Internet abrufbar. Inhalte sind nicht
|
||||||
|
Ende-zu-Ende-verschlüsselt — der Server verarbeitet sie im Klartext, um
|
||||||
|
Suche, Zusammenarbeit, Export und Darstellung bereitzustellen. Zu jeder
|
||||||
|
Seite wird eine Versionshistorie einschließlich der beteiligten
|
||||||
|
Autorinnen und Autoren geführt. Gelöschte Seiten bleiben 30 Tage im
|
||||||
|
Papierkorb wiederherstellbar, bevor sie endgültig entfernt werden.
|
||||||
|
|
||||||
|
## API-Zugriff und KI-Assistenten
|
||||||
|
|
||||||
|
Wenn du in den Einstellungen persönliche API-Tokens anlegst (etwa um
|
||||||
|
Skripte oder KI-Assistenten anzubinden), wird nur ein Hash des Tokens
|
||||||
|
gespeichert. Zugriffe über Tokens unterliegen exakt deinen
|
||||||
|
Berechtigungen; schreibende Zugriffe werden im Admin-Protokoll
|
||||||
|
festgehalten.
|
||||||
|
|
||||||
|
## Backups
|
||||||
|
|
||||||
|
Zur Ausfallsicherheit werden täglich Sicherungen der Datenbank und der
|
||||||
|
hochgeladenen Dateien erstellt und 30 Tage aufbewahrt. Eine Kopie der
|
||||||
|
Sicherungen wird über eine verschlüsselte Verbindung auf einen privaten
|
||||||
|
Server des Betreibers in Deutschland gespiegelt (gleiche
|
||||||
|
Aufbewahrungsdauer). Gelöschte Inhalte können daher in Sicherungen noch
|
||||||
|
bis zu 30 Tage nach der endgültigen Löschung enthalten sein.
|
||||||
|
|
||||||
|
## Keine Anfragen an Dritte
|
||||||
|
|
||||||
|
Dein Browser kommuniziert ausschließlich mit dieser Instanz: Schriften
|
||||||
|
sind selbst gehostet, es gibt keine CDNs, keine Analyse-Dienste und
|
||||||
|
keine eingebetteten Drittanbieter.
|
||||||
|
|
||||||
|
## Deine Rechte
|
||||||
|
|
||||||
|
Du kannst deine eigenen Daten (Profil und die dir gehörenden Teiche)
|
||||||
|
jederzeit unter „Einstellungen → Datenexport" als ZIP-Archiv exportieren
|
||||||
|
(Auskunft und Datenübertragbarkeit, Art. 15 und 20 DSGVO). Bei der
|
||||||
|
Löschung deines Kontos werden deine persönlichen Daten entfernt; deine
|
||||||
|
Autorenschaft an geteilten Inhalten wird durch „gelöschte
|
||||||
|
Nutzerin/gelöschter Nutzer" ersetzt (Pseudonymisierung). Darüber hinaus
|
||||||
|
hast du das Recht auf Berichtigung, Löschung und Einschränkung der
|
||||||
|
Verarbeitung sowie auf Widerspruch (Art. 16–18, 21 DSGVO). Wende dich
|
||||||
|
dazu an die im Impressum genannte E-Mail-Adresse.
|
||||||
|
|
||||||
|
Beschwerden richtest du an die zuständige Aufsichtsbehörde: Der
|
||||||
|
Landesbeauftragte für den Datenschutz und die Informationsfreiheit
|
||||||
|
Baden-Württemberg (LfDI), Lautenschlagerstraße 20, 70173 Stuttgart,
|
||||||
|
<https://www.baden-wuerttemberg.datenschutz.de>.
|
||||||
|
|
||||||
|
_Stand: 12. Juli 2026_
|
||||||
63
deploy/legal/dorfteich-online-impressum.md
Normal file
63
deploy/legal/dorfteich-online-impressum.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
**Angaben gemäß § 5 DDG**
|
||||||
|
|
||||||
|
Stefan Waidele
|
||||||
|
Ensisheimer Straße 2
|
||||||
|
79395 Neuenburg am Rhein
|
||||||
|
Deutschland
|
||||||
|
|
||||||
|
**Kontakt**
|
||||||
|
|
||||||
|
E-Mail: stefan@waidele.info
|
||||||
|
|
||||||
|
**Verantwortlich für eigene Inhalte gemäß § 18 Abs. 2 MStV**
|
||||||
|
|
||||||
|
Stefan Waidele (Anschrift wie oben)
|
||||||
|
|
||||||
|
## Verbraucherstreitbeilegung
|
||||||
|
|
||||||
|
Ich bin nicht bereit und nicht verpflichtet, an Streitbeilegungsverfahren
|
||||||
|
vor einer Verbraucherschlichtungsstelle teilzunehmen (§ 36 VSBG).
|
||||||
|
|
||||||
|
## Inhalte von Nutzerinnen und Nutzern
|
||||||
|
|
||||||
|
dorfteich.online ist ein Wiki: Die Inhalte der einzelnen Teiche und
|
||||||
|
Seiten werden von den jeweiligen Nutzerinnen und Nutzern erstellt und
|
||||||
|
verantwortet. Als Betreiber mache ich mir diese Inhalte nicht zu eigen.
|
||||||
|
Hinweise auf rechtswidrige Inhalte nehme ich unter der oben genannten
|
||||||
|
E-Mail-Adresse entgegen und entferne betroffene Inhalte nach Prüfung
|
||||||
|
unverzüglich.
|
||||||
|
|
||||||
|
## Haftung für Inhalte
|
||||||
|
|
||||||
|
Für eigene Inhalte auf diesen Seiten bin ich nach den allgemeinen
|
||||||
|
Gesetzen verantwortlich. Ich bin jedoch nicht verpflichtet, übermittelte
|
||||||
|
oder gespeicherte fremde Informationen zu überwachen oder nach Umständen
|
||||||
|
zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
|
||||||
|
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von
|
||||||
|
Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt;
|
||||||
|
eine diesbezügliche Haftung ist erst ab dem Zeitpunkt der Kenntnis einer
|
||||||
|
konkreten Rechtsverletzung möglich.
|
||||||
|
|
||||||
|
## Haftung für Links
|
||||||
|
|
||||||
|
Von Nutzerinnen, Nutzern oder mir gesetzte Links führen zu Inhalten
|
||||||
|
Dritter, auf die ich keinen Einfluss habe. Für diese fremden Inhalte
|
||||||
|
übernehme ich keine Gewähr; verantwortlich ist stets der jeweilige
|
||||||
|
Anbieter. Zum Zeitpunkt der Verlinkung erkennbare Rechtsverstöße lagen
|
||||||
|
nicht vor. Bei Bekanntwerden von Rechtsverletzungen werden entsprechende
|
||||||
|
Links umgehend entfernt.
|
||||||
|
|
||||||
|
## Urheberrecht
|
||||||
|
|
||||||
|
Die durch den Betreiber erstellten Inhalte und Werke auf diesen Seiten
|
||||||
|
unterliegen dem deutschen Urheberrecht. Von Nutzerinnen und Nutzern
|
||||||
|
erstellte Inhalte verbleiben bei diesen; mit dem Einstellen räumen sie
|
||||||
|
dem Betreiber die für den Betrieb des Dienstes erforderlichen einfachen
|
||||||
|
Nutzungsrechte ein (Speicherung, Anzeige, Backups, Export). Die
|
||||||
|
Dorfteich-Software selbst ist Open Source (MIT-Lizenz).
|
||||||
|
|
||||||
|
## Verfügbarkeit
|
||||||
|
|
||||||
|
dorfteich.online ist ein kostenfreies Angebot. Ich bemühe mich um einen
|
||||||
|
zuverlässigen Betrieb und regelmäßige Datensicherungen, übernehme jedoch
|
||||||
|
keine Gewähr für die ununterbrochene Verfügbarkeit des Dienstes.
|
||||||
@ -27,6 +27,10 @@ them changes, update the templates in the same change:
|
|||||||
| Reverse-proxy logs | IP address, requested URL | host level (Caddy/nginx), operator-managed rotation |
|
| Reverse-proxy logs | IP address, requested URL | host level (Caddy/nginx), operator-managed rotation |
|
||||||
| Transactional e-mail | recipient address, mail content | SMTP relay (wizard/secret store, #80); verification, password reset |
|
| Transactional e-mail | recipient address, mail content | SMTP relay (wizard/secret store, #80); verification, password reset |
|
||||||
| Content & uploads | pages, attachments authored by users | ponds/pages/files; server sees plaintext (no E2E, security.md §Out of scope) |
|
| Content & uploads | pages, attachments authored by users | ponds/pages/files; server sees plaintext (no E2E, security.md §Out of scope) |
|
||||||
|
| Comments & versions | comment threads; per-page version history incl. contributor names | comments (#91), versions (ADR 0013) |
|
||||||
|
| Notifications & digests | in-app notifications; digest mails with unsubscribe token | notifications (#94), digests (#95) |
|
||||||
|
| API tokens | token hash, scope, last use; writes audit-logged | personal access tokens (#104), MCP (#105) |
|
||||||
|
| Off-host backup copies | full backup sets on an operator-chosen target | Nextcloud target (#103), private mirror (#84) |
|
||||||
| Data export | self-service ZIP (profile + own ponds) | `POST /users/me/data-export` (#68) |
|
| Data export | self-service ZIP (profile + own ponds) | `POST /users/me/data-export` (#68) |
|
||||||
| Deletion | trash/purge for content; pseudonymized authorship ("deleted user") | PseudonymizationService (#59), trash retention (ADR 0013) |
|
| Deletion | trash/purge for content; pseudonymized authorship ("deleted user") | PseudonymizationService (#59), trash retention (ADR 0013) |
|
||||||
| No third-party requests | fonts self-hosted, no CDNs, no analytics | ADR 0016, CSP in nginx.conf |
|
| No third-party requests | fonts self-hosted, no CDNs, no analytics | ADR 0016, CSP in nginx.conf |
|
||||||
@ -112,10 +116,26 @@ message content are transmitted to that relay for delivery.
|
|||||||
Pages and uploaded files you create are stored on the server and are
|
Pages and uploaded files you create are stored on the server and are
|
||||||
visible to the people your ponds' permissions allow. Content is not
|
visible to the people your ponds' permissions allow. Content is not
|
||||||
end-to-end encrypted — the server processes it in plaintext to provide
|
end-to-end encrypted — the server processes it in plaintext to provide
|
||||||
search, export, and rendering. Deleted pages remain restorable from the
|
search, export, and rendering. Every page keeps a version history
|
||||||
|
including the names of its contributors; comments are stored with their
|
||||||
|
author. Deleted pages remain restorable from the
|
||||||
trash for [trash retention, default 30] days before they are permanently
|
trash for [trash retention, default 30] days before they are permanently
|
||||||
removed.
|
removed.
|
||||||
|
|
||||||
|
## Notifications and digest mails
|
||||||
|
|
||||||
|
If you watch pages or ponds, notifications are collected in the app and
|
||||||
|
— depending on your settings — bundled into digest e-mails. Digests can
|
||||||
|
be disabled in the settings; every digest carries an unsubscribe link
|
||||||
|
that works without signing in.
|
||||||
|
|
||||||
|
## API tokens
|
||||||
|
|
||||||
|
If you create personal access tokens (for scripts or AI assistants),
|
||||||
|
only a hash of the token is stored. Token access is limited to your own
|
||||||
|
permissions; write operations are recorded in the administrative audit
|
||||||
|
log.
|
||||||
|
|
||||||
## No third-party requests
|
## No third-party requests
|
||||||
|
|
||||||
Your browser talks only to this instance: fonts are self-hosted, and
|
Your browser talks only to this instance: fonts are self-hosted, and
|
||||||
@ -135,7 +155,9 @@ exercise your rights, contact [address from the imprint].
|
|||||||
## Hosting and backups
|
## Hosting and backups
|
||||||
|
|
||||||
This instance is hosted at [provider, location]. Backups are kept for
|
This instance is hosted at [provider, location]. Backups are kept for
|
||||||
[retention] and stored [location/provider].
|
[retention] and stored [location/provider]. [If configured: a copy of
|
||||||
|
each backup set is transferred to [target, e.g. a Nextcloud / a private
|
||||||
|
server] and kept there for [retention].]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Privacy policy template (Deutsch)
|
## Privacy policy template (Deutsch)
|
||||||
@ -182,10 +204,27 @@ Von dir angelegte Seiten und hochgeladene Dateien liegen auf dem Server
|
|||||||
und sind für die Personen sichtbar, die die Berechtigungen deiner Teiche
|
und sind für die Personen sichtbar, die die Berechtigungen deiner Teiche
|
||||||
zulassen. Inhalte sind nicht Ende-zu-Ende-verschlüsselt — der Server
|
zulassen. Inhalte sind nicht Ende-zu-Ende-verschlüsselt — der Server
|
||||||
verarbeitet sie im Klartext, um Suche, Export und Darstellung
|
verarbeitet sie im Klartext, um Suche, Export und Darstellung
|
||||||
bereitzustellen. Gelöschte Seiten bleiben [Aufbewahrung, Standard 30]
|
bereitzustellen. Zu jeder Seite wird eine Versionshistorie
|
||||||
|
einschließlich der beteiligten Autorinnen und Autoren geführt;
|
||||||
|
Kommentare werden mit ihrer Autorin/ihrem Autor gespeichert. Gelöschte
|
||||||
|
Seiten bleiben [Aufbewahrung, Standard 30]
|
||||||
Tage im Papierkorb wiederherstellbar, bevor sie endgültig entfernt
|
Tage im Papierkorb wiederherstellbar, bevor sie endgültig entfernt
|
||||||
werden.
|
werden.
|
||||||
|
|
||||||
|
## Benachrichtigungen und Digest-Mails
|
||||||
|
|
||||||
|
Wenn du Seiten oder Teiche beobachtest, werden Benachrichtigungen in der
|
||||||
|
App gesammelt und — je nach Einstellung — als Sammel-E-Mails („Digests")
|
||||||
|
zugestellt. Digests lassen sich in den Einstellungen abschalten; jede
|
||||||
|
Digest-Mail enthält einen ohne Anmeldung funktionierenden Abmeldelink.
|
||||||
|
|
||||||
|
## API-Tokens
|
||||||
|
|
||||||
|
Wenn du persönliche API-Tokens anlegst (für Skripte oder
|
||||||
|
KI-Assistenten), wird nur ein Hash des Tokens gespeichert. Zugriffe über
|
||||||
|
Tokens unterliegen deinen eigenen Berechtigungen; schreibende Zugriffe
|
||||||
|
werden im Admin-Protokoll festgehalten.
|
||||||
|
|
||||||
## Keine Anfragen an Dritte
|
## Keine Anfragen an Dritte
|
||||||
|
|
||||||
Dein Browser kommuniziert ausschließlich mit dieser Instanz: Schriften
|
Dein Browser kommuniziert ausschließlich mit dieser Instanz: Schriften
|
||||||
@ -207,5 +246,8 @@ Aufsichtsbehörde. Wende dich dazu an [Kontakt aus dem Impressum].
|
|||||||
## Hosting und Backups
|
## Hosting und Backups
|
||||||
|
|
||||||
Diese Instanz wird gehostet bei [Anbieter, Standort]. Backups werden
|
Diese Instanz wird gehostet bei [Anbieter, Standort]. Backups werden
|
||||||
[Aufbewahrung] aufbewahrt und liegen [Ort/Anbieter].
|
[Aufbewahrung] aufbewahrt und liegen [Ort/Anbieter]. [Falls
|
||||||
|
konfiguriert: Eine Kopie der Sicherungen wird zu [Ziel, z. B. eine
|
||||||
|
Nextcloud / ein privater Server] übertragen und dort [Aufbewahrung]
|
||||||
|
aufbewahrt.]
|
||||||
```
|
```
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user