# Legal page templates (imprint & privacy policy) Dorfteich ships legal pages as a product feature (issue #82, security.md §Privacy): Site Admins paste Markdown into **Administration → Legal pages**, and the texts render publicly at `/legal/imprint` and `/legal/privacy` — linked from the footer on every view. This document provides starting templates whose privacy section matches **what Dorfteich actually processes**; keep it in sync when a change adds or removes a processing activity (review anchor: security.md §Privacy). > **Not legal advice.** These templates are a technically accurate starting > point, not a substitute for a lawyer. Operator-specific parts (identity, > hosting provider, log retention, backups) are marked with `[…]` > placeholders and MUST be filled in. dorfteich.online uses the operator's > own standard texts, applied at go-live (#89) — not these templates. ## What Dorfteich processes (review checklist) The privacy templates below cover exactly these activities. When one of them changes, update the templates in the same change: | Activity | Data | Where implemented | | ----------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------- | | Accounts | username, e-mail, password hash, display name, locale | `users` table; signup/verification (ADR 0007) | | Sessions | session cookie (`dt_session`), user agent, expiry | `sessions` table | | Rate limiting | IP address in short-lived counters | `rate_limits` table (short TTL, operations.md) | | 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 | | 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) | | 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 | ## Imprint template (fill in and paste into Administration → Legal pages) The legal pages render their own localized heading (Imprint/Impressum, Privacy policy/Datenschutzerklärung), so the templates start straight with the content — do not add a top-level `#` heading of your own. ```markdown **Operator of this instance** [Name] [Street and number] [Postal code, city] [Country] **Contact** E-mail: [address] [Phone: optional] [If applicable: register entries, VAT ID, persons responsible for content.] ``` German version: ```markdown **Betreiberin/Betreiber dieser Instanz** [Name] [Straße und Hausnummer] [PLZ, Ort] [Land] **Kontakt** E-Mail: [Adresse] [Telefon: optional] [Falls zutreffend: Registereinträge, USt-IdNr., inhaltlich Verantwortliche.] ``` ## Privacy policy template (English) ```markdown This instance of Dorfteich is operated by [operator, see imprint]. We process personal data only as far as running this service requires (Art. 6 (1) (b) GDPR for accounts, Art. 6 (1) (f) GDPR for abuse protection and operational logs). ## Accounts When you register, we store your username, e-mail address, a password hash (never the password itself), your display name, and your language preference. The e-mail address is used to verify your account and for password resets. Accounts are visible to other members through the names you choose. ## Sessions and cookies After signing in, a session cookie (`dt_session`) keeps you signed in. We store the session together with the browser identification (user agent) your client sends and an expiry time. There are no tracking or third-party cookies. ## Abuse protection and server logs To protect the service against abuse, IP addresses are counted in short-lived rate-limit records that expire automatically. The web server in front of this instance additionally writes access logs containing IP addresses; these are rotated and deleted after [retention, e.g. 14 days]. ## E-mail Transactional e-mails (account verification, password reset) are sent through the SMTP relay [relay provider]. Your e-mail address and the message content are transmitted to that relay for delivery. ## Content you create Pages and uploaded files you create are stored on the server and are visible to the people your ponds' permissions allow. Content is not end-to-end encrypted — the server processes it in plaintext to provide 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 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 Your browser talks only to this instance: fonts are self-hosted, and there are no CDNs, no analytics, and no embedded third-party services. ## Your rights You can export your own data (profile and the ponds you own) as a ZIP archive at any time from your account settings (right of access and data portability). When your account is deleted, your personal pond and the ponds you own are deleted through the trash process, and your authorship on shared content is replaced with "deleted user" (pseudonymization). You further have the right to rectification, erasure, restriction of processing, and to lodge a complaint with a supervisory authority. To exercise your rights, contact [address from the imprint]. ## Hosting and backups This instance is hosted at [provider, location]. Backups are kept for [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) ```markdown Diese Dorfteich-Instanz wird betrieben von [Betreiberin/Betreiber, siehe Impressum]. Wir verarbeiten personenbezogene Daten nur, soweit der Betrieb dieses Dienstes es erfordert (Art. 6 Abs. 1 lit. b DSGVO für Konten, Art. 6 Abs. 1 lit. f DSGVO für Missbrauchsschutz und Betriebs-Logs). ## Konten Bei der Registrierung speichern wir Benutzername, E-Mail-Adresse, einen Passwort-Hash (nie das Passwort selbst), den Anzeigenamen und die Spracheinstellung. Die E-Mail-Adresse dient der Bestätigung des Kontos und dem Zurücksetzen des Passworts. Konten sind für andere Mitglieder unter den von dir gewählten Namen sichtbar. ## Sitzungen und Cookies Nach der Anmeldung hält ein Sitzungs-Cookie (`dt_session`) dich angemeldet. Wir speichern die Sitzung zusammen mit der von deinem Browser übermittelten Kennung (User-Agent) und einem Ablaufzeitpunkt. Es gibt keine Tracking- oder Drittanbieter-Cookies. ## Missbrauchsschutz und Server-Logs Zum Schutz vor Missbrauch werden IP-Adressen in kurzlebigen Rate-Limit-Einträgen gezählt, die automatisch verfallen. Der vorgeschaltete Webserver schreibt zusätzlich Zugriffs-Logs mit IP-Adressen; diese werden rotiert und nach [Aufbewahrung, z. B. 14 Tagen] gelöscht. ## E-Mail Transaktions-E-Mails (Konto-Bestätigung, Passwort-Zurücksetzen) werden über den SMTP-Server [Anbieter] versendet. Dafür werden deine E-Mail-Adresse und der Nachrichteninhalt an diesen Server übermittelt. ## Von dir erstellte Inhalte Von dir angelegte Seiten und hochgeladene Dateien liegen auf dem Server und sind für die Personen sichtbar, die die Berechtigungen deiner Teiche zulassen. Inhalte sind nicht Ende-zu-Ende-verschlüsselt — der Server verarbeitet sie im Klartext, um Suche, Export und Darstellung 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 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 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 in den Konto-Einstellungen als ZIP-Archiv exportieren (Auskunft und Datenübertragbarkeit). Bei der Löschung deines Kontos werden dein persönlicher Teich und die dir gehörenden Teiche über den Papierkorb-Prozess gelöscht; 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, Einschränkung der Verarbeitung und auf Beschwerde bei einer Aufsichtsbehörde. Wende dich dazu an [Kontakt aus dem Impressum]. ## Hosting und Backups Diese Instanz wird gehostet bei [Anbieter, Standort]. Backups werden [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.] ```