Add Turnstile protection and harden export workflow

This commit is contained in:
2026-07-22 08:54:31 +02:00
parent 67c7b5ccff
commit 4b9a5d7e78
17 changed files with 1572 additions and 276 deletions
+136
View File
@@ -0,0 +1,136 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/app.php';
app_send_security_headers();
$downloadRetentionHours = app_env_int('DOWNLOAD_RETENTION_HOURS', 48, 1, 720);
$staleTaskRetentionHours = app_env_int('STALE_TASK_RETENTION_HOURS', 168, 24, 2160);
?>
<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/custom.css?v=2.2">
<title>Datenschutzerklärung Silias Zefix Export</title>
</head>
<body class="bg-light">
<nav class="navbar navbar-light site-header border-bottom py-2">
<div class="container">
<a class="brand-lockup" href="index.php" aria-label="Silias Zefix Export Startseite">
<span class="brand-logo-crop" aria-hidden="true"><img src="img/silias-logo.png" alt=""></span>
<span class="brand-divider" aria-hidden="true"></span>
<span class="brand-product">Zefix Export<small>Ein kostenloses Silias-Tool</small></span>
</a>
</div>
</nav>
<main class="container py-4 py-md-5">
<div class="row justify-content-center">
<div class="col-lg-9">
<article class="card shadow-sm">
<div class="card-body p-4 p-md-5">
<h1 class="h3 mb-4">Datenschutzerklärung</h1>
<p class="text-muted">Stand: 22. Juli 2026</p>
<h2 class="h5 mt-4">1. Verantwortlicher</h2>
<p>
Silias KLG<br>
Toggenburgstrasse 31<br>
8245 Feuerthalen, Schweiz<br>
E-Mail: <a href="mailto:info@silias.ch">info@silias.ch</a>
</p>
<h2 class="h5 mt-4">2. Zweck und Umfang der Datenbearbeitung</h2>
<p>
Der Dienst erstellt auf Ihren Wunsch einen Export aus dem Zentralen Firmenindex ZEFIX und sendet
den zugehörigen Download-Link an die von Ihnen angegebene E-Mail-Adresse. Dafür bearbeiten wir die
E-Mail-Adresse, die ausgewählten Suchparameter, den Zeitpunkt des Auftrags sowie technisch notwendige
Sicherheits- und Protokolldaten.
</p>
<p>
Die Bearbeitung dient der Bereitstellung des angeforderten Exports, der Betriebssicherheit sowie der
Erkennung und Verhinderung automatisierter oder missbräuchlicher Anfragen. Soweit die DSGVO anwendbar
ist, stützen wir diese Bearbeitung auf die Durchführung Ihrer Anfrage sowie unser berechtigtes Interesse
an einem sicheren und zuverlässigen Betrieb.
</p>
<h2 class="h5 mt-4">3. Cloudflare Turnstile</h2>
<p>
Zum Schutz des Exportformulars verwenden wir Cloudflare Turnstile im verwalteten Modus. Dabei werden
technisch notwendige Signale wie IP-Adresse, TLS-Fingerprint, User-Agent, Website-Herkunft und
Sicherheitsmerkmale des Browsers an Cloudflare übermittelt. Die Daten werden zur Unterscheidung zwischen
Menschen und automatisierten Zugriffen verwendet. Wir verwenden Turnstile nicht zu Werbe- oder
Marketingzwecken und haben die Pre-Clearance-Funktion deaktiviert.
</p>
<p>
Anbieter ist Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, USA. Cloudflare kann Daten
auch ausserhalb der Schweiz bearbeiten. Informationen zu Zweck, Rollenverteilung und internationalen
Übermittlungen finden Sie im
<a href="https://www.cloudflare.com/turnstile-privacy-policy/" target="_blank" rel="noopener">Turnstile Privacy Addendum</a>,
in der <a href="https://www.cloudflare.com/policies/privacy/" target="_blank" rel="noopener">Datenschutzerklärung von Cloudflare</a>
und im <a href="https://www.cloudflare.com/cloudflare-customer-dpa/" target="_blank" rel="noopener">Data Processing Addendum</a>.
</p>
<h2 class="h5 mt-4">4. Cookies und ähnliche Technologien</h2>
<p>
Diese Website verwendet keine Analyse- oder Marketing-Cookies. Turnstile kann technisch notwendige
Cookies oder lokalen Browserspeicher zur Sicherheitsprüfung einsetzen. Diese Sicherheitsfunktionen sind
für die Nutzung des öffentlich zugänglichen Exportformulars erforderlich. Die Cloudflare-Funktion
«Pre-Clearance», die ein <code>cf_clearance</code>-Cookie auf unserer Domain setzen würde, ist deaktiviert.
</p>
<h2 class="h5 mt-4">5. Empfänger und Datenquellen</h2>
<p>
Daten erhalten nur Dienstleister, soweit dies für Hosting, E-Mail-Versand, Missbrauchsschutz oder Betrieb
erforderlich ist. Die ausgewählten Suchkriterien werden serverseitig an die ZEFIX-Schnittstelle des
Bundesamts für Justiz übermittelt. Ihre E-Mail-Adresse wird nicht an ZEFIX übermittelt. Eine Weitergabe
zu Werbezwecken findet nicht statt.
</p>
<h2 class="h5 mt-4">6. Aufbewahrungsdauer</h2>
<ul>
<li>Offene Aufträge einschliesslich E-Mail-Adresse: bis zur Verarbeitung, spätestens <?php echo $staleTaskRetentionHours; ?> Stunden.</li>
<li>Fertige Exportdateien: <?php echo $downloadRetentionHours; ?> Stunden nach ihrer Erstellung.</li>
<li>Pseudonymisierte Rate-Limit-Einträge: höchstens acht Tage.</li>
<li>Technische Serverprotokolle: nur so lange, wie dies für Sicherheit, Fehleranalyse und Betrieb erforderlich ist.</li>
</ul>
<p>Nach Ablauf der jeweiligen Frist werden die Daten automatisch gelöscht oder überschrieben.</p>
<h2 class="h5 mt-4">7. Datensicherheit</h2>
<p>
Die Übertragung erfolgt verschlüsselt über HTTPS. Auftragsdaten und Exportdateien werden ausserhalb des
öffentlichen Webverzeichnisses gespeichert. Download-Links enthalten ein zufälliges Zugriffstoken und
sind zeitlich begrenzt. Bitte leiten Sie einen Download-Link nicht an unbefugte Personen weiter.
</p>
<h2 class="h5 mt-4">8. Ihre Rechte</h2>
<p>
Im Rahmen des anwendbaren Datenschutzrechts können Sie Auskunft, Berichtigung, Löschung oder
Einschränkung der Bearbeitung verlangen sowie einer Bearbeitung widersprechen. Zur Ausübung Ihrer Rechte
kontaktieren Sie uns unter <a href="mailto:info@silias.ch">info@silias.ch</a>. Sie können sich ausserdem
an den Eidgenössischen Datenschutz- und Öffentlichkeitsbeauftragten oder eine andere zuständige
Datenschutzaufsichtsbehörde wenden.
</p>
<h2 class="h5 mt-4">9. Änderungen</h2>
<p>
Wir können diese Datenschutzerklärung anpassen, wenn sich der Dienst oder die rechtlichen Anforderungen
ändern. Es gilt die jeweils auf dieser Seite veröffentlichte Fassung.
</p>
<a class="btn btn-primary mt-3" href="index.php">Zurück zur Startseite</a>
</div>
</article>
</div>
</div>
</main>
<footer class="site-footer border-top">
<div class="container py-3 text-center text-muted small">
© <?php echo date('Y'); ?> Silias KLG
</div>
</footer>
</body>
</html>