insert copyright headers for images
Sonarqube Scanner / Prepare environment (push) Successful in 7s
Sonarqube Scanner / Build and test (push) Successful in 30s
Sonarqube Scanner / SonarQube analysis (push) Successful in 1m6s
Sonarqube Scanner / Deploy to Server (push) Successful in 6s

This commit is contained in:
Florian Zumpe
2026-10-04 10:14:40 +02:00
parent 3a682f2b30
commit d3311cce06
18 changed files with 382 additions and 12 deletions
+127
View File
@@ -0,0 +1,127 @@
# Bilder, Tonaufnahmen und Nutzungsrechte
Stand: 4. Oktober 2026. Grundlage der Änderungen: Repository-Commit `7409072`.
## Ergebnis der Recherche
Die Betreiber können Nutzungsrechte erhalten; das Urheberrecht selbst bleibt
bei den Urhebern (§§ 29 und 31 UrhG). Eine Nutzungserlaubnis und die
Urheberbezeichnung sind verschiedene Fragen. Die Übertragung von Nutzungsrechten
beseitigt das Recht auf Anerkennung der Urheberschaft aus § 13 UrhG nicht.
Ein pauschaler Verzicht auf Namensnennung ist deshalb nicht Bestandteil dieses
Entwurfs. Ein BGH-Fall zu professionellen Stockfotografen begründet keine
allgemeine Erlaubnis, die Namen von Kindern oder anderen Beitragenden wegzulassen.
Der eigenständig formulierte Entwurf in `public/index.html` begrenzt die
Rechteeinräumung auf Wegwichtel: Prüfung, Bereitstellung der Strecken, Anzeige,
Wiedergabe, technisch notwendige Anpassungen und die vorgesehene Offline-Nutzung.
Das einfache Nutzungsrecht schließt den Urheber nicht von eigener Nutzung aus.
Eine räumliche Beschränkung wäre für öffentlich erreichbare Inhalte unpraktisch;
inhaltlich bleibt die Erlaubnis auf diesen App-Zweck begrenzt. Werbung außerhalb
der App und eigenständiger Verkauf sind nicht umfasst.
Die Datenschutzerklärung informiert getrennt über personenbezogene Aufnahmen,
Öffentlichkeit, Speicherung, Einwilligungen und Widerruf. Sie ist kein
Lizenzvertrag. Eine Erlaubnis des Fotografen ersetzt nicht die Rechte einer
abgebildeten Person; bei Tonaufnahmen müssen auch Rechte an Musik, Text,
Darbietung und Aufnahme geklärt sein. Bei minderjährigen Urhebern ist die
Zustimmung der gesetzlichen Vertreter zu prüfen (§ 107 BGB).
## Umsetzung in der App
Unter Informationen gibt es die neue Nutzungsvereinbarung. Sie und ihre
Dialogüberschrift bleiben ebenso wie Impressum und Datenschutz statisch auf
Deutsch. Nur die Menübeschriftung und der verständliche Hinweis im Editor
werden übersetzt. Beim Streckenformular kann die Vereinbarung vor dem
Einsenden geöffnet werden. Das lokale Speichern räumt keine Rechte ein.
Der Text ist ein **prüfbarer Entwurf**, keine Zusicherung einer rechtssicheren
AGB-Regelung. Es wurde noch kein System implementiert, das Zustimmung, Version
der Vereinbarung und Urheberbezeichnung je Aufnahme erfasst und serverseitig
prüft. Der Hinweis im Editor allein ersetzt diesen Nachweis nicht. Bestehende
Aufnahmen erhalten durch die Codeänderung keine nachträgliche Lizenz.
Die notwendigen Arbeiten stehen in
[TODO-MEDIENRECHTE.md](agents/TODO-MEDIENRECHTE.md).
Vor verbindlicher Verwendung sind insbesondere diese Platzhalter zu ersetzen:
- vollständiger Name und Anschrift des tatsächlichen Betreibers als Lizenznehmer;
- Kontakt für Rechtefragen, Widerruf und Entfernung;
- Rechtsgrundlagen, Empfänger, Hostinganbieter sowie Lösch- und Sicherungsfristen.
Außerdem müssen die Texte und das Zustimmungsverfahren zum tatsächlichen
Betriebsmodell der Schule passen und rechtlich geprüft werden. Die bereits
vorhandenen Kontaktangaben im Impressum wurden nicht verändert. Die frühere
pauschale Rechtezuordnung zur Schule wurde durch die Trennung von Urheberschaft
und Nutzungsrechten ersetzt.
## HTTP-Rechtehinweise
`X-Copyright` ist ein HTTP-Antwortheader, kein HTML-Element. Die Werte stehen
zentral in `src/services/copyright.js` und enthalten für zuverlässige
Übertragung nur ASCII-Zeichen.
- Hochgeladene Streckenbilder: Hinweis auf die Rechteeinräumung **unter Zustimmung**
zur Nutzungsvereinbarung und den Fortbestand der Urheberrechte. Der Wortlaut
beschreibt die Regel; er ist kein Beweis, dass eine konkrete Person tatsächlich
berechtigt war oder zugestimmt hat. Das gilt auch für alte Uploads.
- Dateien unter `public/images/group-symbols/`: eigener Quellenhinweis auf Envato
mit dem vom Betreiber angegebenen Eintrag.
- Andere statische Bilder einschließlich SVG und ICO: allgemeiner Hinweis auf
die jeweilige Lizenz; keine Behauptung einer Lizenz durch Nutzer-Uploads.
- JSON-Metadaten, HTML, CSS und JavaScript erhalten keinen Bild-Rechteheader.
Zusätzliche Hinweise sind getrennt: `X-Copyright-Notice` erklärt bei allen
Bildantworten die Grenzen des technischen Hinweises; `X-Copyright-Source`
enthält bei den Gruppensymbolen den Envato-Link. Persönliche Kontaktdaten
werden dabei nicht öffentlich in Headern ausgegeben.
Die Hinweise werden auch für HEAD, Teilabrufe und unveränderte Antworten mit
Status 304 ausgegeben. Dieselben Node-Endpunkte werden über den geschützten
Moderationspfad verwendet. Leitet Nginx statische Dateien unmittelbar aus,
muss der Header auch dort konfiguriert werden; die Node-Einstellungen greifen
nur für Antworten, die Node ausliefert.
Der Header ersetzt **keine sichtbare Urheberbezeichnung**, macht ein Bild
nicht kopiergeschützt und räumt Besuchern keine freie Weiterverwendung ein.
Die vorhandene Offline-Speicherung bewahrt Antwortheader. Bereits gespeicherte
App-Kopien müssen neu gespeichert werden, um die neuen Hinweise zu enthalten.
## Envato-Gruppensymbole
Quelle laut Betreiber:
https://app.envato.com/search/graphics/341b34af-8f28-4222-bc16-32ce99291077
Der Eintrag war beim Rechercheabruf nicht zugänglich. Deshalb wurde kein
Urhebername oder individueller Lizenzstatus aus dem Eintrag behauptet.
„Quelle: Envato“ bezeichnet die Plattform; es ist keine Behauptung, Envato sei
selbst Urheber der Grafik. Die tatsächliche Lizenz und der Lizenznachweis für
Wegwichtel müssen vom Betreiber geprüft und aufbewahrt werden. Auflagen des
konkreten Downloads sind auch bei öffentlich ausgelieferten PNGs und ihrer
Offline-Nutzung zu berücksichtigen.
Die vorhandenen Grafikdateien wurden nicht verändert und gehören nicht zum
Änderungsarchiv. Der Envato-Link steht zusätzlich bei den Bildquellen im
Impressum.
## Quellen
Gesetzliche Grundlagen:
- [§ 13 UrhG – Anerkennung der Urheberschaft](https://www.gesetze-im-internet.de/urhg/__13.html)
- [§ 29 UrhG – Rechtsgeschäfte über das Urheberrecht](https://www.gesetze-im-internet.de/urhg/__29.html)
- [§ 31 UrhG – Einräumung von Nutzungsrechten](https://www.gesetze-im-internet.de/urhg/__31.html)
- [§ 305 BGB – Einbeziehung von AGB](https://www.gesetze-im-internet.de/bgb/__305.html)
- [§ 107 BGB – Zustimmung bei Minderjährigen](https://www.gesetze-im-internet.de/bgb/__107.html)
Rechtsinformationen und Datenschutz:
- [eRecht24: Nutzungsrechte](https://www.e-recht24.de/urheberrecht/13261-nutzungsrechte.html)
- [IT-Recht Kanzlei: Bildnachweise im Impressum](https://www.it-recht-kanzlei.de/urheber-foto-bildnachweis-impressum.html)
- [WBS.LEGAL: BGH zum Verzicht auf Namensnennung in AGB](https://www.wbs.legal/urheberrecht/bgh-verzicht-auf-namensnennung-des-urhebers-durch-agb-ist-grundsaetzlich-moeglich-69950/)
- [VG Bild-Kunst: Nutzungsrechte](https://www.bildkunst.de/lizenzen/bildrechte_klaeren/nutzungsrechte/)
- [LfDI Baden-Württemberg: Veröffentlichung von Fotos](https://www.baden-wuerttemberg.datenschutz.de/faq-veroeffentlichung-von-fotos-speziell-fuer-vereine/)
- [Envato: Lizenz-FAQ](https://help.elements.envato.com/hc/en-us/articles/360000629346-Envato-Elements-License-FAQ)
Die fremden Muster wurden nicht kopiert. Der App-Entwurf ist für den hier
beschriebenen Zweck eigenständig formuliert.
+8
View File
@@ -26,6 +26,10 @@ Die in der Anwendung enthaltenen Texte sind Vorlagen und ersetzen keine Prüfung
- Einwilligungen der Sorgeberechtigten für erkennbare Kinder
- Freigaben für Sprachaufnahmen und Namensnennungen
- dokumentierte Nutzungsrechte an Bildern, Texten, Tonaufnahmen und Routendaten
- geprüfte Nutzungsvereinbarung mit identifiziertem Betreiber und belegbarer Zustimmung
- passende Urheberbezeichnung je Bild und Tonaufnahme, sichtbar bei der Aufnahme
- getrennte Nachweise für personenbezogene Einwilligungen und urheberrechtliche Lizenzen
- konkreter Lizenznachweis für die Envato-Gruppensymbole
- redaktionelle Prüfung vor Veröffentlichung
- festgelegtes Verfahren für Korrektur- und Löschanfragen
@@ -41,3 +45,7 @@ Die in der Anwendung enthaltenen Texte sind Vorlagen und ersetzen keine Prüfung
## Konfiguration der Vorlagentexte
In `public/index.html` sind alle mit eckigen Klammern gekennzeichneten Platzhalter zu ersetzen. Nicht benötigte Abschnitte sind zu entfernen; zusätzliche gesetzliche oder organisatorische Pflichtangaben sind zu ergänzen.
Die Formulierungen und offenen Schritte stehen in
[Bilder-und-Ton-Nutzungsrechte.md](Bilder-und-Ton-Nutzungsrechte.md) und
[TODO-MEDIENRECHTE.md](agents/TODO-MEDIENRECHTE.md).
+1 -1
View File
@@ -56,7 +56,7 @@ Die App richtet sich an Grundschulkinder und Menschen ohne technische Vorkenntni
- Alle eigenen Bedienungstexte liegen zentral in der Klasse `WegwichtelTexts`
in `public/js/texts-de.js`. Keine neuen sichtbaren Texte direkt in HTML oder
Funktionscode schreiben.
- Ausnahme: Impressum und Datenschutzerklärung bleiben ausschließlich statisch
- Ausnahme: Impressum, Datenschutzerklärung und Nutzungsvereinbarung bleiben ausschließlich statisch
auf Deutsch in `public/index.html` und tragen `lang="de"`. Ihre Texte und
Kontaktangaben gehören nicht in Sprachdateien und erhalten keine i18n-Attribute.
Auch ihre Dialogüberschriften bleiben beim Sprachwechsel auf Deutsch.
+2 -2
View File
@@ -35,9 +35,9 @@ HTML verwendet `data-i18n`, `data-i18n-title`, `data-i18n-aria-label`,
stehen Beschriftungen bereits vor dem Laden der Skripte bereit. Nach Änderungen
die erzeugte `public/index.html` mit ins Repository übernehmen.
Impressum und Datenschutzerklärung sind davon ausgenommen. Ihre rechtlichen
Impressum, Datenschutzerklärung und Nutzungsvereinbarung sind davon ausgenommen. Ihre rechtlichen
Texte und Kontaktangaben stehen ausschließlich statisch auf Deutsch in
`public/index.html`, ohne i18n-Attribute und mit `lang="de"` an beiden Artikeln.
`public/index.html`, ohne i18n-Attribute und mit `lang="de"` an den rechtlichen Artikeln.
Änderungen an diesen Angaben direkt im HTML vornehmen. Auch die zugehörigen
Dialogüberschriften bleiben auf Deutsch. Die Menüeinträge und die übrige
Bedienoberfläche werden weiterhin übersetzt.
+52
View File
@@ -0,0 +1,52 @@
# TODO: Einräumung und Nachweis von Medienrechten
Ausgangspunkt: [Recherche und umgesetzte Hinweise](../Bilder-und-Ton-Nutzungsrechte.md).
Die statischen Rechtstexte und X-Copyright sind eingebunden; ein belegbares
Zustimmungs- und Namensnennungssystem ist noch nicht umgesetzt.
## Vor verbindlicher Verwendung und Freigabe zu erledigen
1. Den tatsächlichen Lizenznehmer, Rechtekontakt, Rechtsgrundlagen und Fristen
ergänzen. Den Entwurf und die Zustimmung für Kinder rechtlich prüfen lassen.
2. Die relevante Vereinbarung vor dem Einsenden zugänglich machen und eine
nicht vorausgewählte, ausdrückliche Zustimmung einholen. Eine bloße
Datenschutzerklärung und eine zufällige Gerätekennung sind kein Rechtenachweis.
3. Je Bild und Tonaufnahme die gewünschte Urheberbezeichnung und die Erklärung
über Berechtigung erfassen. Nicht automatisch den Streckenersteller mit dem
Fotografen, Sprecher, Musiker oder Rechteinhaber gleichsetzen.
4. Die Urheberbezeichnung direkt bei der jeweiligen Aufnahme sichtbar anzeigen,
auch bei Offline-Nutzung. Ein Header oder ein allgemeines Impressum ersetzt
die vereinbarte Bild-/Tonzuordnung nicht. Ein Verzicht darf nur auf gesonderter,
belegbarer Vereinbarung beruhen, nicht auf einem leeren Namensfeld.
5. Zustimmung auch auf dem Server prüfen: Version der Vereinbarung,
serverseitiger Zeitpunkt, konkretes Bild/konkrete Tonaufnahme und berechtigte
zuordnungsfähige Person. Nicht auf eine ausschließlich clientseitige Checkbox
vertrauen. Eine kleine Rechte-Tabelle mit referenzierten Medien oder
unveränderlichen Dateihashes evaluieren; Zugriff auf Belege beschränken.
Nicht pauschal zusätzliche Gerätefingerprints oder IP-Adressen sammeln.
6. Neue und ersetzte Dateien neu erfassen; reine Beschriftungsänderungen von
neuer Rechteeinräumung unterscheiden. Bild-, Audio-, JSON-, API- und
Python-Werkzeug-Uploads sowie erneutes Einsenden berücksichtigen.
7. Bestandsmedien separat prüfen. Fehlenden Rechtebeleg nicht rückwirkend aus
einem Upload oder aus dem neuen Header konstruieren. Veröffentlichung ohne
erforderlichen Beleg sperren oder nachträglich eine echte Erlaubnis einholen.
8. Widerruf, begründete Beschwerden und Beendigung der Bereitstellung behandeln;
personenbezogene Einwilligung und Lizenz nicht gleichsetzen. Papierkorb,
Sicherungsfristen und verbleibende Offline-Kopien berücksichtigen.
9. Für die Envato-Gruppensymbole Autor, konkrete Lizenz und Nachweis prüfen.
Die Quelle ist vom Betreiber benannt; der einzelne Eintrag war nicht abrufbar.
Quelle: https://app.envato.com/search/graphics/341b34af-8f28-4222-bc16-32ce99291077
## Bereits umgesetzt und beizubehalten
- Rechtstexte ausschließlich statisch auf Deutsch; Bedienhinweise in Deutsch
und Englisch mit semantischen i18n-Schlüsseln.
- Unterschiedliche Header für Nutzerbilder, Envato-Gruppensymbole und andere
App-Bilder; keine Upload-Lizenzbehauptung für statische Bibliotheksdateien.
- Headertexte bleiben ein Hinweis, kein Eigentums-, Zustimmungs- oder
Kopierschutznachweis. Bei später belegten Zustimmungen kann der individuelle
Header um Urheberbezeichnung und Vertragsversion ergänzt werden; persönliche
Kontaktdaten dürfen dabei nicht öffentlich werden.
- Tests prüfen Bildantworten einschließlich HEAD, Range und 304 sowie die
Nicht-Übersetzung rechtlicher Seiten. Schemaänderungen müssen zusätzlich
mit der Laufzeitdatenbankprüfung abgestimmt werden.