Rechtstexte wieder gestylt: als Vite-Einstiege mit app.css gebaut

Die Seiten verlinkten /css/app.css, das es seit dem React-Umbau nicht mehr
gibt. Jetzt liegen sie unter frontend/static/docs, Vite baut sie mit und
schreibt den Link auf das gehashte app.css um; serveDoc liefert sie unter
den bisherigen Adressen /static/docs/… aus web/ aus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
irrlicht
2026-09-27 15:14:53 +02:00
co-authored by Claude Opus 5.5
parent df0cfec132
commit 43c640dee6
7 changed files with 29 additions and 4 deletions
+164
View File
@@ -0,0 +1,164 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Beitragsordnung - Kontrollverlust</title>
<link rel="stylesheet" href="/src/app.css">
</head>
<body>
<header>
<nav id="legal">
<a href="/static/docs/impressum.html">Impressum</a> -
<a href="/static/docs/datenschutz.html">Datenschutz</a> -
<a href="/static/docs/beitragsordnung.html">Beitragsordnung</a> -
<a href="/stats">Statistik</a>
</nav>
<a href="/"><h1>Kontrollverlust</h1></a>
<div id="sigils" aria-hidden="true">
<img src="/static/assets/sigils/anarchy_a.svg" alt="">
<img src="/static/assets/sigils/chaos_star.svg" alt="">
<img src="/static/assets/sigils/sab_cat.svg" alt="">
</div>
</header>
<main>
<div class="doc">
<h1>Beitragsordnung</h1>
<p>Diese Ordnung bildet die Grundlage für die inhaltliche Moderation. Jede Löschung wird durch einen konkreten Paragraphen begründet.<br>
Das Forum richtet sich an Erwachsene.</p>
<p><strong>Übersicht der Löschgründe</strong></p>
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse: collapse; width: 100%;">
<tr style="background-color: #f0f0f0;">
<th>Grund</th>
<th>Regel</th>
</tr>
<tr><td>Illegaler Inhalt</td><td>§2</td></tr>
<tr><td>Urheberrechtsverletzung</td><td>§3</td></tr>
<tr><td>Foto mit erkennbarem Gesicht</td><td>§4</td></tr>
<tr><td>Foto: Nacktheit oder Gewalt</td><td>§4</td></tr>
<tr><td>Diskriminierung gegen Gruppe</td><td>§5</td></tr>
<tr><td>Gewalt- oder Straftatdrohung</td><td>§5</td></tr>
<tr><td>Doxxing</td><td>§5</td></tr>
<tr><td>Spam oder Werbung</td><td>§6</td></tr>
<tr><td>Schädliche Manipulation</td><td>§7</td></tr>
<tr><td>Umgehung einer Sperre</td><td>§8</td></tr>
</table>
<br>
<p><strong>§1 Geltungsbereich</strong><br><br>
Diese Ordnung gilt für alle Nutzer des Forums. Sie bezieht sich auf:
<ul>
<li>Beiträge (Text und Bilder)</li>
<li>Benutzernamen</li>
</ul>
</p>
<p><strong>§2 Illegale Inhalte</strong><br><br>
Inhalte, die gegen deutsches Recht verstoßen, sind verboten. Dazu gehören insbesondere:
<ul>
<li>Volksverhetzung (§130 StGB)</li>
<li>Kinderpornografische Inhalte (§184b StGB)</li>
<li>Gewaltverherrlichung (§131 StGB)</li>
<li>Verfassungsfeindliche Symbole (§86a StGB)</li>
<li>Aufforderung zu Straftaten (§111 StGB)</li>
<li>Üble Nachrede und Verleumdung (§186, §187 StGB)</li>
</ul>
</p>
<p><strong>§3 Urheberrecht</strong><br><br>
<ul>
<li>Keine Veröffentlichung fremder Inhalte ohne Nutzungsrecht</li>
<li>Bei Zitaten: Quellenangabe erforderlich</li>
</ul>
</p>
<p><strong>§4 Bildregeln</strong><br><br>
<em>Keine Fotos mit erkennbaren Gesichtern</em>
<ul>
<li>Begründung: Einvernehmlichkeit der Abbildung ist nicht prüfbar</li>
<li>Ausnahme: Öffentliche Personen in öffentlicher Funktion</li>
</ul>
<em>Keine fotografische Darstellung von:</em>
<ul>
<li>Nacktheit</li>
<li>Gewalt</li>
</ul>
<em>Erlaubt sind:</em>
<ul>
<li>Zeichnungen, Illustrationen, Beschreibungen (auch explizit)</li>
<li>Textuelle Diskussion von Sexualität und Gewalt</li>
</ul>
</p>
<p><strong>§5 Umgangsformen</strong><br><br>
<em>Grundprinzip: Redefreiheit mit Grenzen</em><br><br>
<em>Erlaubt:</em>
<ul>
<li>Harter Ton, Beleidigungen, Provokationen</li>
<li>Je kreativer und cleverer eine Beleidigung, desto härter darf sie sein</li>
</ul>
<em>Verboten:</em>
<ul>
<li>Diskriminierung aufgrund von Geburtsmerkmalen (Hautfarbe, Herkunft, Behinderung, etc.)</li>
<li>Diskriminierung aufgrund gewählter Identität (Religion, Geschlechtsidentität, Sexualität, etc.)</li>
<li>Drohungen mit Gewalt oder Straftaten</li>
<li>Doxxing (Veröffentlichung persönlicher Daten Dritter)</li>
</ul>
<em>Kurzformel:</em> Beleidige die Person, nicht die Gruppe.
</p>
<p><strong>§6 Spam und Werbung</strong><br><br>
<ul>
<li>Kein kommerzieller Spam</li>
<li>Keine Mehrfachposts mit identischem Inhalt</li>
<li>Keine irreführenden oder schädlichen Links (Phishing, Malware)</li>
</ul>
</p>
<p><strong>§7 Technische Regeln</strong><br><br>
<em>Sicherheitslücken:</em>
<ul>
<li>Responsible Disclosure ist erwünscht</li>
<li>Gefundene Lücken bitte an den Betreiber melden</li>
<li>Keine Ausnutzung zum Schaden anderer Nutzer</li>
</ul>
<em>Bots:</em>
<ul>
<li>Nicht ohne vorherige Absprache</li>
<li>Anfragen an den Betreiber – API-Zugang ist möglich</li>
</ul>
</p>
<p><strong>§8 Mehrfachaccounts</strong><br><br>
<ul>
<li>Mehrfachaccounts sind erlaubt</li>
<li>Missbrauch zur Umgehung einer Sperre führt zur Sperre aller Accounts</li>
</ul>
</p>
<p><strong>§9 Moderation und Konsequenzen</strong><br><br>
<em>Wer moderiert:</em> Betreiber und benannte Moderatoren<br><br>
<em>Stufenmodell:</em>
<ol>
<li>Beitragslöschung mit Begründung (Verweis auf Regel)</li>
<li>Verwarnung bei wiederholten Verstößen</li>
<li>Temporäre Sperre</li>
<li>Permanente Sperre</li>
</ol>
<em>Einspruch:</em> Per E-Mail an <a>stress@bnd.wtf</a>
</p>
<p><strong>§10 Änderungen</strong><br><br>
<ul>
<li>Diese Ordnung kann angepasst werden</li>
<li>Änderungen werden im Forum bekannt gegeben</li>
</ul>
</p>
</div>
</main>
</body>
</html>
+208
View File
@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datenschutz - Kontrollverlust</title>
<link rel="stylesheet" href="/src/app.css">
</head>
<body>
<header>
<nav id="legal">
<a href="/static/docs/impressum.html">Impressum</a> -
<a href="/static/docs/datenschutz.html">Datenschutz</a> -
<a href="/static/docs/beitragsordnung.html">Beitragsordnung</a> -
<a href="/stats">Statistik</a>
</nav>
<a href="/"><h1>Kontrollverlust</h1></a>
</header>
<main>
<div class="doc">
<h1>Datenschutzerklärung</h1>
<p><strong>Verantwortlicher</strong><br>
David Bernet<br>
Merseburger Str. 108<br>
06110 Halle (Saale)<br>
<br>
Telefon: +49-15782760787<br>
E-Mail: <a>stress@bnd.wtf</a>
</p>
<p><strong>Übersicht der erfassten Daten</strong></p>
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse: collapse; width: 100%;">
<tr style="background-color: #f0f0f0;">
<th>Datenart</th>
<th>Zweck</th>
<th>Speicherdauer</th>
<th>Rechtsgrundlage</th>
</tr>
<tr>
<td>Benutzername</td>
<td>Kontoidentifikation</td>
<td>Bis zur Löschung</td>
<td>Vertragserfüllung</td>
</tr>
<tr>
<td>Passwort (gehasht)</td>
<td>Authentifizierung</td>
<td>Bis zur Löschung</td>
<td>Vertragserfüllung</td>
</tr>
<tr>
<td>Session-Token</td>
<td>Angemeldet bleiben</td>
<td>Gewählte Dauer (20 Min - 1 Jahr)</td>
<td>Vertragserfüllung</td>
</tr>
<tr>
<td>Beiträge & Bilder</td>
<td>Forumsinhalt</td>
<td>Bis zur Löschung</td>
<td>Vertragserfüllung</td>
</tr>
<tr>
<td>IP-Adresse (vollständig)</td>
<td>Technische Bereitstellung</td>
<td>Max. 24 Stunden</td>
<td>Berechtigtes Interesse</td>
</tr>
<tr>
<td>IP-Adresse (anonymisiert)</td>
<td>Reichweitenmessung (Seitenaufrufe)</td>
<td>Unbegrenzt</td>
<td>Berechtigtes Interesse</td>
</tr>
</table>
<br>
<p><strong>1. Registrierung und Benutzerkonto</strong><br><br>
<em>Erfasste Daten:</em>
<ul>
<li>Benutzername (öffentlich sichtbar)</li>
<li>Passwort (mindestens 10 Zeichen)</li>
</ul>
<em>Verarbeitung:</em>
<ul>
<li>Passwort wird mit bcrypt gehasht gespeichert (Klartext wird nicht gespeichert)</li>
<li>Benutzername wird bereinigt und in Kleinbuchstaben konvertiert</li>
<li>Keine E-Mail-Adresse erforderlich</li>
</ul>
<em>Zweck:</em> Erstellung und Verwaltung des Benutzerkontos<br>
<em>Rechtsgrundlage:</em> Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO)<br>
<em>Speicherdauer:</em> Bis zur Löschung des Kontos
</p>
<p><strong>2. Anmeldung und Sessions</strong><br><br>
<em>Erfasste Daten:</em>
<ul>
<li>Session-Token (zufällig generiert)</li>
<li>Erstellungs- und Ablaufzeitpunkt</li>
</ul>
<em>Cookies:</em>
<ul>
<li><code>session</code> - Speichert den Anmeldestatus (HttpOnly, SameSite=Lax, Secure)</li>
<li><code>csrf_token</code> - Schutz vor CSRF-Angriffen (HttpOnly, SameSite=Strict)</li>
</ul>
<em>Wählbare Session-Dauer:</em> 20 Minuten, 1 Stunde, 5 Stunden, 24 Stunden oder 1 Jahr<br>
<em>Zweck:</em> Authentifizierung und Sicherheit<br>
<em>Rechtsgrundlage:</em> Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO)
</p>
<p><strong>3. Forumsbeiträge</strong><br><br>
<em>Erfasste Daten:</em>
<ul>
<li>Textinhalt (max. 1000 Zeichen)</li>
<li>Erstellungszeitpunkt</li>
<li>Verknüpfung zum Benutzerkonto</li>
<li>Optional: Hochgeladenes Bild (JPG, PNG, GIF; max. 1024x1024 Pixel)</li>
</ul>
<em>Sichtbarkeit:</em> Beiträge und Benutzername sind öffentlich einsehbar<br>
<em>Zweck:</em> Bereitstellung der Forumsfunktion<br>
<em>Rechtsgrundlage:</em> Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO)<br>
<em>Speicherdauer:</em> Bis zur Löschung durch den Nutzer
</p>
<p><strong>4. Server-Logs</strong><br><br>
<em>Erfasste Daten:</em>
<ul>
<li>IP-Adresse</li>
<li>Zugriffszeitpunkt</li>
<li>Angeforderte Seite</li>
</ul>
<em>Zweck:</em> Technische Bereitstellung der Website und Fehleranalyse<br>
<em>Rechtsgrundlage:</em> Berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO)<br>
<em>Speicherdauer:</em> Maximal 24 Stunden
</p>
<p><strong>5. Anonymisierte Reichweitenmessung</strong><br><br>
<em>Erfasste Daten:</em>
<ul>
<li>Anonymisierte IP-Adresse (IPv4: letzte 16 Bit entfernt, IPv6: letzte 96 Bit entfernt)</li>
<li>Zugriffstag (ohne Uhrzeit)</li>
<li>Aufgerufene Seite</li>
</ul>
<em>Verarbeitung:</em>
<ul>
<li>Die IP-Adresse wird unmittelbar bei der Verarbeitung gekürzt; die vollständige Adresse wird zu keinem Zeitpunkt gespeichert oder weiterverwendet.</li>
<li>Aus der bereits anonymisierten IP-Adresse wird zusätzlich der Netzbetreiber (das autonome System, z.&nbsp;B. „AS3320 Deutsche Telekom AG") bestimmt. Dies ist kein zusätzlich erhobenes Merkmal, sondern eine Einordnung der anonymisierten IP-Adresse anhand eines lokalen Datensatzes (MaxMind GeoLite2-ASN). Auch für diese Einordnung wird nicht die vollständige IP-Adresse herangezogen. Es findet keine Standortbestimmung statt.</li>
<li>Die Auswertung erfolgt ausschließlich auf unserem Server. Die IP-Adresse wird zu keinem Zeitpunkt an Dritte übermittelt; insbesondere erfolgt keine Online-Abfrage bei MaxMind.</li>
<li>Es werden ausschließlich aggregierte Zählwerte gespeichert (Aufrufe je Tag, anonymisiertem Netz, Seite und Netzbetreiber). Es kommen keine Cookies und keine sonstige Speicherung auf Ihrem Endgerät zum Einsatz.</li>
</ul>
<em>Zweck:</em> Erfassung des Seitenwachstums und der Reichweite (Seitenaufrufe)<br>
<em>Rechtsgrundlage:</em> Berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO)<br>
<em>Hinweis:</em> Durch die Anonymisierung und Aggregation ist keine Rückverfolgung auf einzelne Personen möglich.
</p>
<p><strong>6. Datenlöschung</strong><br><br>
<em>Beitrag löschen:</em>
<ul>
<li>Inhalt und Bilder werden entfernt</li>
<li>Beitragsstruktur bleibt erhalten (zeigt "[gelöscht]")</li>
</ul>
<em>Konto löschen:</em>
<ul>
<li>Alle eigenen Beiträge werden wie oben gelöscht</li>
<li>Alle Sessions werden beendet</li>
<li>Benutzername und Passwort werden gelöscht</li>
<li>Hochgeladene Bilder werden vom Server entfernt</li>
</ul>
</p>
<p><strong>7. Nicht erfasste Daten</strong><br><br>
Folgende Daten werden nicht erhoben:
<ul>
<li>E-Mail-Adresse</li>
<li>Standortdaten</li>
<li>Geräte- oder Browserinformationen</li>
<li>Tracking durch Drittanbieter</li>
<li>Werbe-Cookies</li>
</ul>
</p>
<p><strong>8. Ihre Rechte</strong><br><br>
Sie haben folgende Rechte bezüglich Ihrer personenbezogenen Daten:
<ul>
<li><em>Auskunft:</em> Welche Daten über Sie gespeichert sind</li>
<li><em>Berichtigung:</em> Korrektur unrichtiger Daten</li>
<li><em>Löschung:</em> Entfernung Ihrer Daten (siehe Abschnitt 6)</li>
<li><em>Widerspruch:</em> Gegen die Verarbeitung auf Basis berechtigter Interessen</li>
<li><em>Beschwerde:</em> Bei der zuständigen Datenschutzbehörde</li>
</ul>
Zur Ausübung Ihrer Rechte wenden Sie sich bitte an die oben genannten Kontaktdaten.
</p>
<p><strong>9. Sicherheitsmaßnahmen</strong><br><br>
<ul>
<li>Passwörter werden mit bcrypt gehasht (nicht im Klartext gespeichert)</li>
<li>Session-Cookies sind HttpOnly (kein JavaScript-Zugriff)</li>
<li>CSRF-Schutz bei allen Formularen</li>
<li>HTTPS-Verschlüsselung</li>
</ul>
</p>
</div>
</main>
</body>
</html>
+49
View File
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Impressum - Kontrollverlust</title>
<link rel="stylesheet" href="/src/app.css">
</head>
<body>
<header>
<nav id="legal">
<a href="/static/docs/impressum.html">Impressum</a> -
<a href="/static/docs/datenschutz.html">Datenschutz</a> -
<a href="/static/docs/beitragsordnung.html">Beitragsordnung</a> -
<a href="/stats">Statistik</a>
</nav>
<a href="/"><h1>Kontrollverlust</h1></a>
</header>
<main>
<div class="doc">
<h1>Impressum</h1>
<p>Angaben gemäß § 5 DDG</p>
<p>David Bernet<br>
<br>
Merseburger Str. 108<br>
06110 Halle (Saale) <br>
</p>
<p> <strong>Vertreten durch: </strong><br>
David Bernet<br>
</p>
<p><strong>Kontakt:</strong> <br>
Telefon: +49-15782760787<br>
E-Mail: <a>stress@bnd.wtf</a></br></p>
<p><strong>Verbraucherstreitbeilegung / Universalschlichtungsstelle</strong>
<br>Wir nehmen nicht an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teil und sind dazu auch nicht verpflichtet.
</p>
<p><strong>Datenschutzerklärung</strong><br>
Unter dem folgenden Link finden Sie unsere <a href="/static/docs/datenschutz.html" target="_blank">Datenschutzerklärung</a>.
</p>
<p><strong>Haftungsausschluss: </strong>
<br><br><strong>Haftung für Inhalte</strong><br>
Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 DDG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 DDG sind wir als Diensteanbieter 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 jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.<br><br><strong>Haftung für Links</strong><br>
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.<br><br><strong>Urheberrecht</strong><br>
Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.</p>
</div>
</main>
</body>
</html>