Add Datenschutzerklärung, two blog posts, and a /uses colophon

- datenschutz.astro: DSGVO privacy policy (server logfiles, Hetzner as
  Auftragsverarbeiter per Art. 28, cookieless Umami, self-hosted fonts,
  data-subject rights, supervisory-authority complaint).
- consts.ts: extract shared LEGAL entity data; Impressum now reads from it.
- blog: "Why my calendar app has no internet permission" and
  "Open standards as a constraint, not a checkbox".
- uses.astro: colophon of the site stack, Floret apps, and self-hosted infra.
- Footer: add Uses + Datenschutz links alongside Impressum.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 14:54:49 +02:00
co-authored by Claude Opus 4.8
parent 108e790621
commit d1acda5a93
7 changed files with 353 additions and 16 deletions
+12
View File
@@ -8,6 +8,18 @@ export const SITE = {
locale: 'en_US',
} as const;
// Legal entity details — single source of truth for the Impressum and
// Datenschutzerklärung. Registered Einzelunternehmen (Kleinunternehmer per
// § 19 UStG; no VAT ID, not in the Handelsregister). `phone` renders only if set.
export const LEGAL = {
business: 'IT-Dienstleister | Jean-Luc Makiola', // full Gewerbe name (§ 5 DDG)
person: SITE.author, // natural person responsible — § 18 Abs. 2 MStV
street: 'Mahlerstraße 10',
city: '14772 Brandenburg an der Havel',
email: 'mail@jeanlucmakiola.de',
phone: '',
} as const;
// Social / external links shown in the footer. `icon` is an Iconify name.
export const SOCIALS: { label: string; href: string; icon: string }[] = [
{ label: 'Gitea', href: 'https://gitea.jeanlucmakiola.de/makiolaj', icon: 'simple-icons:gitea' },