diff --git a/.gitignore b/.gitignore
index 492f923..f0fe79d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
-/dist
+# /dist
/tmp
/out-tsc
# Only exists if Bazel was run
diff --git a/dist/we-bstly-angular.zip b/dist/we-bstly-angular.zip
new file mode 100644
index 0000000..b2ab1b3
Binary files /dev/null and b/dist/we-bstly-angular.zip differ
diff --git a/dist/we-bstly-angular/3rdpartylicenses.txt b/dist/we-bstly-angular/3rdpartylicenses.txt
new file mode 100644
index 0000000..591acd2
--- /dev/null
+++ b/dist/we-bstly-angular/3rdpartylicenses.txt
@@ -0,0 +1,686 @@
+@angular/animations
+MIT
+
+@angular/cdk
+MIT
+The MIT License
+
+Copyright (c) 2020 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+@angular/common
+MIT
+
+@angular/core
+MIT
+
+@angular/flex-layout
+MIT
+The MIT License
+
+Copyright (c) 2020 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+@angular/forms
+MIT
+
+@angular/localize
+MIT
+
+@angular/material
+MIT
+The MIT License
+
+Copyright (c) 2020 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+@angular/material-moment-adapter
+MIT
+The MIT License
+
+Copyright (c) 2020 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+@angular/platform-browser
+MIT
+
+@angular/router
+MIT
+
+angularx-qrcode
+MIT
+
+css-loader
+MIT
+Copyright JS Foundation and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+dijkstrajs
+MIT
+```
+Dijkstra path-finding functions. Adapted from the Dijkstar Python project.
+
+Copyright (C) 2008
+ Wyatt Baldwin Willkommen zu 'Bastelei e. V.'. Der eingetragene Verein bietet sich für unsere Zwecke als Rechtsform an, da wir nicht wirtschaftlich orientiert arbeiten wollen, sondern ideelle Ziele haben. Wir haben uns allerdings bewusst gegen eine Gemeinnützigkeit im Sinne des Vereinsgesetzes entschieden. Dies hat rechtliche Gründe, da wir uns selbst sehr wohl als Gemeinnützig betrachten würden. Die Erfahrung mit der Arbeit in gemeinnützigen Vereinen sowie die aktuellen Rechtsprechungen, die nicht mit unserem Verständnis von Gemeinnützigkeit übereinstimmen, haben uns jedoch zu dem Schluss kommen lassen, dass wir von Anfang an auf den juristischen Anspruch der Gemeinnützigkeit verzichten werden. Der offensichtliche Nachteil besteht vor allem im Verzicht auf Steuerbegünstigungen, dies gilt auch z.B. für die Steuererstattung von Mitgliedsbeiträgen, die hier entfällt. Auf der anderen Seite können wir jetzt einfacher Rücklagen bilden, Mitglieder für Arbeit entlohnen und freier Entscheidungen treffen, so dass wir unsere Ziele einfacher und schneller erreichen können. des “Bastelei e. V.” Die ökologischen, ökonomischen und kulturellen Probleme unserer Zeit stellen uns vor die Aufgabe, unsere gesamte
+ Kultur und Technologie auf nachhaltigere, ethische und zivilisiertere Grundlagen zu stellen. Diese Probleme durch
+ globale Institutionen anzugehen zeitigt dabei nur bedingt Erfolge, Dezentralisierung ist Teil des Kulturbegriffs,
+ eine zentrale Kultur gibt es nicht. Die Zukunft ist keine Errungenschaft einer Elite oder eine technische Ingenieursleistung sondern eine Reihe von
+ Möglichkeiten die jeder einzelne Mensch durch sein Handeln gestalten kann indem er seine Kreativität und Solidarität
+ entwickelt und die friedliche Gemeinschaft mit anderen Lebewesen unabhängig von Alter, Geschlecht und Abstammung
+ sowie gesellschaftlicher Stellung pflegt. Die Kommende Bastelei möchte diesen Bestrebungen zur Gestaltung einer lebenswerten und kulturreichen Zukunft in ihrem
+ Rahmen und mit den Mitteln der Bastelei eine organisatorische Grundlage bieten. Der Verein stellt seinen Mitgliedern
+ deswegen eine organisatorische und institutionelle Infrastruktur zur Verfügung um ihre Projekte und Ideen
+ selbstständig verfolgen zu können. Der Verein führt den Namen "Bastelei". Der Verein wird in das Vereinsregister eingetragen und dann um den Zusatz „e.
+ V.“ ergänzt. Der Verein hat seinen Sitz in Gevelsberg. Das Geschäftsjahr ist das Kalenderjahr. Zweck des Vereins ist die gemeinsame Arbeit an der Organisation, Entwicklung, Bereitstellung und dem Betrieb offener,
+ kollaborativ genutzter technischer Infrastruktur sowie der Ausrichtung von Veranstaltungen zur Förderung des
+ nachhaltigen Umgangs mit Technologien und der informationellen Selbstbestimmung aus ideellem Interesse. Hierbei
+ werden alle rassistischen, faschistischen und sexistischen Strömungen ausgeschlossen. Ordentliche Vereinsmitglieder können ausschließlich natürliche Personen werden. Die Beitrittserklärung erfolgt in Textform gegenüber dem Vorstand. Über die Annahme der Beitrittserklärung
+ entscheidet der Vorstand. Die Mitgliedschaft beginnt mit der vorläufigen Annahme der Beitrittserklärung und der
+ Zahlung des ersten Beitrages im Voraus. Die Vorläufigkeit endet mit der Bestätigung des Mitglieds durch den
+ Vorstand. Die Mitgliedschaft endet durch Austrittserklärung, durch Tod von natürlichen Personen oder durch Ausschluss; die
+ Beitragspflicht für das laufende Beitragsjahr bleibt hiervon unberührt. Der Austritt wird durch Willenserklärung in Textform gegenüber dem Vorstand vollzogen. Die Mitgliederversammlung kann solche Personen, die sich besondere Verdienste um den Verein oder um die von ihm
+ verfolgten satzungsgemäßen Zwecke erworben haben, zu Ehrenmitgliedern ernennen. Ehrenmitglieder haben alle Rechte
+ eines ordentlichen Mitglieds. Sie sind von Beitragsleistungen befreit. Fördermitglieder sind passive Mitglieder ohne Stimmrecht in der Mitgliederversammlung. Fördermitglieder können
+ ausschließlich natürliche Personen werden. Bei Minderjährigen ist die Zustimmung des gesetzlichen Vertreters
+ erforderlich. Die Mitglieder sind berechtigt, die Einrichtungen des Vereins in Anspruch zu nehmen und an Veranstaltungen des
+ Vereins teilzunehmen. Die Mitglieder sind verpflichtet, die satzungsgemäßen Zwecke des Vereins zu unterstützen und zu fördern. Sie sind
+ verpflichtet, die festgesetzten Beiträge zu zahlen. Ein Mitglied kann durch Beschluss des Vorstandes ausgeschlossen werden, wenn es das Ansehen des Vereins schädigt,
+ seinen Beitragsverpflichtungen nicht nachkommt oder wenn ein sonstiger wichtiger Grund vorliegt. Der Vorstand muss
+ dem auszuschließenden Mitglied den Beschluss in Textform unter Angabe von Gründen, an die letzte bekannte Anschrift
+ oder an die zuletzt bekannte E-Mail-Adresse, mitteilen und ihm auf Verlangen eine Anhörung gewähren. Gegen den Beschluss des Vorstandes kann das auszuschließende Mitglied die Mitgliederversammlung anrufen. Bis zum
+ Beschluss der Mitgliederversammlung ruht die Mitgliedschaft. Die Anrufung muss innerhalb einer Frist von vier Wochen
+ ab Zugang des Ausschließungsbeschlusses in Textform beim Vorstand eingelegt werden. Erfolgt keine Anrufung oder
+ verstreicht die Frist, gilt die Mitgliedschaft ab dem Zeitpunkt des Ausschlusses als beendet. Der Verein erhebt Mitgliedsbeiträge. Das Nähere regelt eine Beitragsordnung, die von der Mitgliederversammlung
+ beschlossen wird. Im Falle nicht fristgerechter Entrichtung der Beiträge ruht die Mitgliedschaft. Im begründeten Einzelfall kann für ein Mitglied durch Vorstandsbeschluss ein von der Beitragsordnung abweichender
+ Beitrag festgesetzt werden.
+
+ Die Organe des Vereins sind:
+we.bstly
+Satzung
+Präambel
+
+§1 Name, Sitz, Geschäftsjahr
+§2 Zweck
+§3 Mitgliedschaft
+§4 Rechte und Pflichten der Mitglieder
+§5 Ausschluss eines Mitglieds
+§6 Beitrag
+§7 Organe des Vereins
+
+
+
Oberstes Beschlussorgan ist die Mitgliederversammlung. Ihrer Beschlussfassung unterliegen: +
Die ordentliche Mitgliederversammlung findet jedes Jahr beim Kongress der Kommenden Bastelei statt.
+ +Mitgliederversammlungen können digital oder auch als Hybridveranstaltungen abgehalten werden. Technische + Hürden können durch Bildung von Kleingruppen gelöst werden.
+ +Außerordentliche Mitgliederversammlungen werden auf Beschluss des Vorstandes abgehalten, wenn die Interessen des + Vereins dies erfordern, oder wenn mindestens fünf Prozent, bei weniger als 60 Mitgliedern mindestens drei + Mitglieder, aller stimmberechtigten Mitglieder dies unter Angabe des Zwecks in Textform beantragen.
+ +Die Einberufung der Mitgliederversammlung erfolgt in Textform durch den Vorstand mit einer Frist von mindestens zwei + Wochen. Eine verkürzte Frist ist möglich, wenn alle Mitglieder der Frist vor Ablauf zustimmen. Zur Wahrung der Frist + reicht die Versendung an die zuletzt bekannte E-Mail-Adresse oder die Aufgabe der Einladung zur Post an die letzte + bekannte Anschrift. Hierbei sind die Tagesordnung bekannt zu geben und ihr die nötigen Informationen zugänglich zu + machen. Anträge zur Tagesordnung sind mindestens sieben Tage vor der Mitgliederversammlung beim Vorstand in Textform + einzureichen. Über die Behandlung von Initiativanträgen entscheidet die Mitgliederversammlung.
+ +Die Mitgliederversammlung ist beschlussfähig, wenn mindestens fünf Prozent, bei weniger als 60 Mitgliedern mindestens + drei Mitglieder, aller stimmberechtigten Mitglieder anwesend sind. Beschlüsse sind jedoch gültig, wenn die + Beschlussfähigkeit vor der Beschlussfassung nicht angezweifelt worden ist. Ist die Mitgliederversammlung aufgrund + mangelnder Teilnehmerzahl nicht beschlussfähig, ist die darauf folgende ordentlich einberufene Mitgliederversammlung + ungeachtet der Teilnehmerzahl beschlussfähig. Auf Letzteres muss in der Einladung hingewiesen werden.
+ +Beschlüsse über Satzungsänderungen und über die Auflösung des Vereins bedürfen zu ihrer Rechtswirksamkeit + der Dreiviertelmehrheit der anwesenden stimmberechtigten Mitglieder. In allen anderen Fällen genügt die + einfache Mehrheit.
+ +Jedes stimmberechtigte Mitglied, welches mit den Beiträgen nicht im Rückstand ist, hat eine Stimme. + Stimmen können übertragen werden.
+ +Über die Beschlüsse der Mitgliederversammlung ist ein Protokoll anzufertigen, das von der + VersammlungsleiterIn und der ProtokollführerIn zu unterzeichnen ist. Das Protokoll ist allen Mitgliedern + zugänglich zu machen und auf der nächsten Mitgliederversammlung genehmigen zu lassen.
+ +Die Mitgliederversammlung wählt den Vorstand und die FinanzprüferInnen. Die Wahlen finden offen in Form + der „Wahl durch Zustimmung” statt.
+ +Entsprechend sichere, elektronische Wahlformen sind zulässig, dadurch können jedoch keine geheimen Wahlen + durchgeführt werden. Abwesende Mitglieder können so jedoch auch an Wahlen teilnehmen. Technische Hürden + können durch Bevollmächtigungen gelöst werden.
+ +Jeder zu besetzende Posten wird einzeln gewählt, wobei gleichrangige Posten jeweils gemeinsam gewählt werden können. + Bei der Wahl des Vorstandes ist gewählt, wer die meisten abgegebenen Stimmen erhält. Bei Stimmengleichheit findet + eine Stichwahl statt. Bei erneuter Stimmengleichheit entscheidet das Los. Bei der Wahl der FinanzprüferInnen sind + diejenigen beiden KandidatInnen gewählt, die die meisten Stimmen erhalten. Bei Stimmengleichheit findet eine + Stichwahl statt. Bei erneuter Stimmengleichheit entscheidet das Los. +
+ +Der Vorstand im Sinne des §26, Abs. 2 BGB besteht aus zwei oder mehr gleichberechtigten Mitgliedern.
+ +Vertretungsberechtigt ist jedes Vorstandsmitglied allein. Ausgenommen sind Einstellung und Entlassung von + Angestellten, gerichtliche Vertretung sowie Anzeigen, Aufnahme von Krediten, Gründung, Erwerb und Veräußerung von + Gesellschaften und Geschäftsanteilen von Gesellschaften zur Verwirklichung der satzungsgemäßen Ziele; bei denen der + Verein durch mindestens zwei Vorstandsmitglieder vertreten wird.
+ +Scheidet ein Vorstandsmitglied vorzeitig aus, kann der Vorstand ein neues Vorstandsmitglied aus dem Kreis der + Mitglieder bis zur nächsten Vollversammlung berufen.
+ +Die Amtsdauer der Vorstandsmitglieder beträgt zwei Jahre. Wiederwahl ist zulässig. Damit auch nach Ablauf + der Amtsdauer eine ordnungsgemäße gesetzliche Vertretung gesichert ist, bleibt der Vorstand bis zur + Neuwahl im Amt.
+ +Der Vorstand ist Dienstvorgesetzter aller vom Verein angestellten MitarbeiterInnen.
+ +Die Vorstandsmitglieder nehmen eine interne Aufgabenverteilung vor. Mit dem Ablauf des Geschäftsjahres + stellt der Vorstand unverzüglich die Abrechnung sowie die Vermögensübersicht und sonstige Unterlagen von + wirtschaftlichem Belang den FinanzprüferInnen des Vereins zur Prüfung zur Verfügung.
+ +Der Vorstand führt die laufenden Geschäfte des Vereins. Bei der Geschäftsführung sind die + Vorstandsmitglieder an die Beschlüsse der Mitgliederversammlung gebunden. Der Vorstand soll seine + gesamte Tätigkeit so durchschaubar wie möglich erledigen und andere Vereinsmitglieder kooperativ + beteiligen. Der Vorstand kann haupt- oder ehrenamtlich Tätige mit der Führung der Geschäfte beauftragen.
+ +Der Vorstand verwaltet das Vereinsvermögen.
+ +Zur Kontrolle der Haushaltsführung bestellt die Mitgliederversammlung zwei FinanzprüferInnen. Nach + Durchführung ihrer Prüfung informieren sie den Vorstand von ihrem Prüfungsergebnis und erstatten der + Mitgliederversammlung Bericht.
+ +Die FinanzprüferInnen dürfen dem Vorstand nicht angehören.
+ +Die FinanzprüferInnen sind grundsätzlich ehrenamtlich tätig; sie haben Anspruch auf Erstattung + notwendiger Auslagen im Rahmen einer von der Mitgliederversammlung zu beschließenden Richtlinie über die + Erstattung von Reisekosten und Auslagen.
+ +Bei der Auflösung des Vereins oder bei Wegfall seines Zweckes fällt das Vereinsvermögen an eine von der + Mitgliederversammlung zu bestimmende Körperschaft des öffentlichen Rechts oder eine andere + steuerbegünstigte Körperschaft zwecks Verwendung für die bürgerschaftliche Bildung.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/club/membership.html b/dist/we-bstly-angular/assets/templates/de-informal/club/membership.html new file mode 100644 index 0000000..144608b --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/club/membership.html @@ -0,0 +1,7 @@ +Die Vereinsmitgliedschaft richtet sich an alle, die den Verein aktiv unterstützen und mitgestalten möchten. Als Vereinsmitglied kannst du durch Teilnahme an Mitgliederversammlungen und Abstimmungen mitbestimmen.
+ +Vor allem mit Blick auf zukünftige Projekte auch außerhalb des digitalen Raumes ist deine aktive Beteiligung nötig, damit wir größere Vielfältigkeit und Kreativität in unsere Projekte bekommen. Und da wir große Freude an demokratischen Prozessen haben, ist jedes Mitglied auch eine Bereicherung um Vereinsprozesse offener gestalten zu können. Bei der Bastelei soll es um möglichst kreative, zwanglose und gute Zusammenarbeit zur Bereicherung aller Beteiligten gehen.
+ +Wenn du also nicht nur ein Interesse an unseren digitalen Services hast, sondern Ideen und Ziele mitverfolgen möchtest, kannst du dir deine Vereinsmitgliedschaft ganz einfach unter we.bstly.de klicken. Du musst nur noch auf Genehmigung deines Antrages warten und anschließend deinen ersten Mitgliedsbeitrag überweisen. Anschließend bekommst du jährlich automatisch eine Erinnerung an deine hinterlegte E-Mail Adresse, deine Mitgliedschaft zu verlängern.
+ +Falls du nur an unseren digitalen Angeboten interessiert bist, bieten wir diese auch Nicht-Vereinsmitgliedern an. Du solltest allerdings grundsätzlich mit den Zielen und Idealen des Vereins übereinstimmen. Wir nutzen die Beiträge aus deiner Nutzung, um unsere Vereinsarbeit weiter zu finanzieren.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/general/we.html b/dist/we-bstly-angular/assets/templates/de-informal/general/we.html new file mode 100644 index 0000000..83d9f40 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/general/we.html @@ -0,0 +1,4 @@ +Jeden Monat überweisen wir zwielichtigen Konzernen zweistellige Beträge, damit sie uns unsere Daten abnehmen. Dafür + bekommen wir intransparente Software mit denen wir auf Geräten, die wir nicht kontrollieren irgendwie unseren + digitalen Alltag bestreiten müssen. Als erste Initiative dem ein Ende zu setzen bringen _Bastler + und Louis Fabu, der Sekretär der Kommenden Bastelei, euch DIE DIGITALE BASTELEI.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/general/what.html b/dist/we-bstly-angular/assets/templates/de-informal/general/what.html new file mode 100644 index 0000000..4a2a4a8 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/general/what.html @@ -0,0 +1,11 @@ +Wir betreiben freie Software auf selbst-verwaltenden Servern und bieten euch so Alternativen zu den sog. + "Cloud-Diensten", die euch sonst Google, Apple oder wer sonst andrehen. Wir verteilen die Kosten gleichmäßig auf + alle Nutzenden und sammeln noch etwas mehr Geld ein, um das Ganze weiter zu entwickeln und weitere Projekte und + Initiativen im Rahmen der Kommenden Bastelei zu finanzieren. Wir verwahren nur minimale Daten + von euch und + verknüpfen eure Zahlungsinformationen nicht mit euren User-Konten.
++ Zum Start gibt es aktuell für 3€ im Monat zunächst ein E-Mail-Konto auf @bstly.de mit eigenem Adressbereich, 5GB + Speicher und catch-all-Funktion und einen Account für unsere Nextcloud mit 15GB + Speicherplatz. Dazu gehören so praktische Funktionen wie synchronisierbare Kalender, Online Office zum + kollaborativen Erstellen von Texten und einiges mehr. Mehr Details zu den aktuellen und geplanten Services findest du hier.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/general/you.html b/dist/we-bstly-angular/assets/templates/de-informal/general/you.html new file mode 100644 index 0000000..b8d5134 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/general/you.html @@ -0,0 +1,7 @@ +Du kannst Teil der Digitalen Bastelei werden: Entweder wirst du Vereinsmitglied oder bezahlst deine Teilnahme direkt + über unser + Einkaufs-System und überweist uns im halbjährlichen oder + jährlichen + Abstand. Einen Invite bekommst du bei den Beauftragten der Kommenden Bastelei in eurer Nähe. Je mehr Leute die Services + nutzen, desto effizienter wird es natürlich, weswegen wir später eventuell weitere Dienste, Upgrades oder + Wunschfeatures zur Verfügung stellen können.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/imprint.html b/dist/we-bstly-angular/assets/templates/de-informal/imprint.html new file mode 100644 index 0000000..f0dd1f3 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/imprint.html @@ -0,0 +1,65 @@ + + + + + + + + +Kontakt
+ Name: Bastelei e. V.
+ Adresse: Asternstraße 6, 58285 Gevelsberg
+ Telefon: 02332 666 77 01
+ Fax: 02332 666 76 99
+ E-Mail: impressum@bstly.de
Der Inhalt unserer Internetseiten wurde mit größtmöglicher Sorgfalt erstellt. Wir übernehmen jedoch keine Gewähr + dafür, + dass dieser Inhalt richtig, vollständig, und aktuell ist und zudem noch gefällt. Gemäß § 7 Abs. 1 TMG sind wir für + den Inhalt verantwortlich, selbst wenn dieser bestellt wurde.
+ +Gemäß den §§ 8, 9 und 10 TMG ist für uns keine Verpflichtung gegeben, dass wir Informationen von Dritten, die + übermittelt oder gespeichert wurden, überwachen oder Umstände erheben, die Hinweise auf nicht rechtmäßige + Tätigkeiten + ergeben.
+ +Davon nicht berührt, ist unsere Verpflichtung zur Sperrung oder Entfernung von Informationen, welche von den + allgemeinen Gesetzen herrührt.
+ +Wir haften allerdings erst in dem Moment, in dem wir von einer konkreten Verletzung von Rechten Kenntnis bekommen. + Dann + wird eine unverzügliche Entfernung des entsprechenden Inhalts vorgenommen.
+ +Unsere Internetseiten enthält Links, die zu externen Internetseiten von Dritten führen, auf deren Inhalte wir jedoch + keinen Einfluss haben. Es ist uns daher nicht möglich, eine Gewähr für diese Inhalte zu tragen.
+ +Die Verantwortung dafür hat immer der jeweilige Anbieter/Betreiber der entsprechenden Internetseite. Wir überprüfen + die von uns verlinkten Internetseiten zum Zeitpunkt der Verlinkung auf einen möglichen Rechtsverstoß in voller + Breite.
+ +Es kann uns jedoch, ohne einen konkreten Anhaltspunkt, nicht zugemutet werden, ständig die verlinkten Internetseiten + inhaltlich zu überwachen. Wenn wir jedoch von einer Rechtsverletzung Kenntnis erlangen, werden wir den + entsprechenden + Link unverzüglich entfernen.
+ +Wir weisen darauf hin, dass wir hinsichtlich der Inhalte auf unserer Internetseiten, soweit sie nicht von uns + erstellt + worden sind, das Urheberrecht von Dritten jederzeit beachtet haben.
+ +Wenn du uns mitteilen würdest, dass du trotzdem eine Urheberrechtsverletzung gefunden hast, würden wir das sehr + schätzen. Dann können wir den entsprechenden Inhalt sofort entfernen und würde damit das Urheberrecht nicht mehr + verletzen.
+ + + \ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/privacy-policy.html b/dist/we-bstly-angular/assets/templates/de-informal/privacy-policy.html new file mode 100644 index 0000000..a2bb65b --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/privacy-policy.html @@ -0,0 +1,570 @@ + + + + + + + +Die folgende Erklärung gilt für die Domain bstly.de, deren Subdomains sowie für die von Bastelei e. V. + bereitgestellten Services.
+Personenbezogene Daten (nachfolgend zumeist nur „Daten“ genannt) werden von uns nur im Rahmen der + Erforderlichkeit + sowie zum Zwecke der Bereitstellung eines funktionsfähigen und nutzerfreundlichen Internetauftritts, inklusive + seiner Inhalte und der dort angebotenen Leistungen, verarbeitet.
+ +Gemäß Art. 4 Ziffer 1. der Verordnung (EU) 2016/679, also der Datenschutz-Grundverordnung (nachfolgend nur + „DSGVO“ + genannt), gilt als „Verarbeitung“ jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführter Vorgang oder + jede + solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten, wie das Erheben, das Erfassen, die + Organisation, + das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die + Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die + Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.
+ +Mit der nachfolgenden Datenschutzerklärung informieren wir dich insbesondere über Art, Umfang, Zweck, Dauer und + Rechtsgrundlage der Verarbeitung personenbezogener Daten, soweit wir entweder allein oder gemeinsam mit anderen + über + die Zwecke und Mittel der Verarbeitung entscheiden.
+ +Die Datenschutzerklärung ist wie folgt gegliedert:
+ I. Informationen über uns als Verantwortliche
+ II. Rechte der Nutzer und Betroffenen
+ III. Informationen zur Datenverarbeitung
Verantwortliche Anbieter dieses Internetauftritts im datenschutzrechtlichen Sinne:
+ Name: Bastelei e. V.
+ Adresse: Asternstraße 6, 58285 Gevelsberg
+ Telefon: 02332 666 77 01
+ Fax: 02332 666 76 99
+ E-Mail: datenschutz@bstly.de
Mit Blick auf die nachfolgend noch näher beschriebene Datenverarbeitung hast du als Nutzer und Betroffenen das
+ Recht
+ auf Bestätigung, ob dich betreffende Daten verarbeitet werden, auf Auskunft über die verarbeiteten Daten, auf
+ weitere
+ Informationen über die Datenverarbeitung sowie auf Kopien der Daten (vgl. auch Art. 15 DSGVO);
+ auf Berichtigung oder Vervollständigung unrichtiger bzw. unvollständiger Daten (vgl. auch Art. 16 DSGVO);
+ auf unverzügliche Löschung der dich betreffenden Daten (vgl. auch Art. 17 DSGVO), oder, alternativ, soweit eine
+ weitere Verarbeitung gemäß Art. 17 Abs. 3 DSGVO erforderlich ist, auf Einschränkung der Verarbeitung nach
+ Maßgabe
+ von Art. 18 DSGVO;
+ auf Erhalt der dich betreffenden und von dir bereitgestellten Daten und auf Übermittlung dieser Daten an andere
+ Anbieter/Verantwortliche (vgl. auch Art. 20 DSGVO);
+ auf Beschwerde gegenüber der Aufsichtsbehörde, sofern du der Ansicht bist, dass die dich betreffenden Daten
+ durch
+ den Anbieter unter Verstoß gegen datenschutzrechtliche Bestimmungen verarbeitet werden (vgl. auch Art. 77
+ DSGVO).
+
Darüber hinaus ist der Anbieter dazu verpflichtet, alle Empfänger, denen gegenüber Daten durch den Anbieter + offengelegt worden sind, über jedwede Berichtigung oder Löschung von Daten oder die Einschränkung der + Verarbeitung, + die aufgrund der Artikel 16, 17 Abs. 1, 18 DSGVO erfolgt, zu unterrichten. Diese Verpflichtung besteht jedoch + nicht, + soweit diese Mitteilung unmöglich oder mit einem unverhältnismäßigen Aufwand verbunden ist. Unbeschadet dessen + hat + der Nutzer ein Recht auf Auskunft über diese Empfänger.
+ +Ebenfalls hast du als Nutzer und Betroffenen nach Art. 21 DSGVO das Recht auf Widerspruch gegen die künftige + Verarbeitung der dich betreffenden Daten, sofern die Daten durch den Anbieter nach Maßgabe von Art. 6 Abs. 1 + lit. f) + DSGVO verarbeitet werden. Insbesondere ist ein Widerspruch gegen die Datenverarbeitung zum Zwecke der + Direktwerbung + statthaft.
+ +Du hast gemäß denVorschriften der Datenschutzgrundverordnung (DSGVO) ein Auskunftsrecht über die zu deiner Person + gespeicherten Daten, einen Berichtigungsanspruch sowie – bei Vorliegen der rechtlichen Voraussetzungen – einen + Anspruch auf Einschränkung der Verarbeitung und Löschung.
+ +Eine Auskunft / Löschung kann entweder in den entsprechenden Diensten über die persönlichen Einstellungen + angefordert + werden oder per E-Mail Kontakt erfragt werden.
+ +Deine bei Nutzung des Internetauftritts verarbeiteten Daten werden gelöscht oder gesperrt, sobald der Zweck der + Speicherung entfällt, der Löschung der Daten keine gesetzlichen Aufbewahrungspflichten entgegenstehen und + nachfolgend keine anderslautenden Angaben zu einzelnen Verarbeitungsverfahren gemacht werden.
+ +Aus technischen Gründen, werden Daten durch deinen Internet-Browser an den Server übermittelt. Soweit technisch + möglich, werden Daten wie u.a. Typ und Version deines Internetbrowsers, das Betriebssystem, die Website, von der + aus + du auf unseren Internetauftritt gewechselt hast (Referrer URL), die Website(s) des Internetauftritts, die du + besuchst, Datum und Uhrzeit des jeweiligen Zugriffs sowie die IP-Adresse des Internetanschlusses, von dem aus + die + Nutzung unseres Internetauftritts erfolgt, nicht(!) erhoben.
+ +Da unser Interesse im Schutz dieser personenbezogenen Daten liegt, werden diese Daten generell nicht erhoben. Zur + Verbesserung, Stabilität, Funktionalität und Sicherheit unseres Internetauftritts ist jedoch eine temporäre + Erhebung möglich. Diese Speicherung erfolgt auf der Rechtsgrundlage von Art. 6 Abs. 1 lit. f) DSGVO.
+ +Sollten diese so erhobenen Daten vorübergehend in sog. Server-Log-Files gespeichert werden, geschieht dies jedoch + nicht gemeinsam mit anderen Daten von dir.
+ +Die Daten werden spätestens nach 14 Tagen wieder gelöscht.
+ + +Sofern Du per Kontaktformular oder E-Mail mit uns in Kontakt trittst, werden die dabei von dir angegebenen Daten + zur Bearbeitung deiner Anfrage genutzt. Die Angabe der Daten ist zur Bearbeitung und Beantwortung deiner Anfrage + erforderlich - ohne deren Bereitstellung können wir deine Anfrage nicht oder allenfalls eingeschränkt + beantworten. +
+ +Rechtsgrundlage für die Verarbeitung dieser Daten ist Art. 6 Abs. 1 lit. b) DSGVO.
+ +Deine Daten werden gelöscht, sofern deine Anfrage abschließend beantwortet worden ist und der Löschung keine + gesetzlichen Aufbewahrungspflichten entgegenstehen, wie bspw. bei einer sich etwaig anschließenden + Vertragsabwicklung.
+ +Die folgenden Daten werden durch den Dienst Pretix erfasst und gespeichert: +
+ +
Bezeichnung | +Betroffene Benutzer / Speicherfrist | +Verwendungszweck / Weitergabe an Dritte | +
---|---|---|
+ Cookies
+ Zufällig generierte IDs, technisch bedingte Parameter + |
+
+ alle Besucher der Seite / Sitzungsende (Beenden des Browsers) + |
+
+ Wiedererkennung des Benutzers während der Nutzung der Anwendung +keine Weitergabe an Dritte + |
+
+ Rechnungsdaten / Mitgliedsdaten
+ E-Mail Adresse, Name, Anschrift (freiwillig: Kommentar, Referenz) + |
+
+ Benutzer mit getätigter Bestellung / bis zur Löschung + |
+
+ Durchführung der Bestellung, interne Auflistung der Vereinsmitglieder, Archivierung für + Steuerprüfung + +keine Weitergabe an Dritte + |
+
+ Bestelldaten
+ Datum, Status, Menge sowie Art der Bestellung + |
+
+ Benutzer mit getätigter Bestellung / bis zur Löschung + |
+
+ Durchführung der Bestellung, automatische Erinnerung für Mitglieder +Keine Weitergabe an Dritte + |
+
Die folgenden Daten werden durch den Dienst we.bstly erfasst und gespeichert: +
+ +
Bezeichnung | +Betroffene Benutzer / Speicherfrist | +Verwendungszweck / Weitergabe an Dritte | +
---|---|---|
+ Cookies
+ Zufällig generierte IDs, technisch bedingte Parameter + |
+
+ alle Besucher der Seite / Sitzungsende (Beenden des Browsers) +Benutzer der „automatischen Anmeldung“ / bis zur aktiven Beendigung der Sitzung + |
+
+ Wiedererkennung des Benutzers während der Nutzung der Anwendung +Wiedererkennung des Benutzers bei „automatischer Anmeldung“ +keine Weitergabe an Dritte + |
+
+ Account-Daten
+ Benutzername, öffentlicher PGP Schlüssel (freiwillig: E-Mail Adresse), Profildaten (freiwillig) + + |
+
+ Benutzer mit Account / bis zur Löschung + |
+
+ Identifizierung für Login, Nutzung weiterer Diensten +Weitergabe nur durch aktive Einstellung, ansonsten keine Weitergabe an Dritte + |
+
+ Passwort + |
+
+ Keine permanente Speicherung, direkte Weitergabe an Authentifizierungsserver + |
+
+ Authentifizierung (Login) +Keine Weitergabe an Dritte + |
+
+ Einstellungen / Eigenschaften
+ Berechtigungen und Quotas (freiwillig: Parameter Zweifaktor Authentifizierung) + |
+
+ Benutzer mit Account / siehe Account-Daten + |
+
+ Nutzung weiterer Diensten, Steuerung des Login Prozesses +Keine Weitergabe an Dritte + |
+
Die folgenden Daten werden durch den Dienst Nextcloud erfasst und gespeichert: +
+ +
Bezeichnung | +Betroffene Benutzer / Speicherfrist | +Verwendungszweck / Weitergabe an Dritte | +
---|---|---|
+ Cookies
+ Zufällig generierte IDs, technisch bedingte Parameter + |
+
+ alle Besucher der Seite / Sitzungsende (Beenden des Browsers) +Benutzer der „automatischen Anmeldung“ / 16 Tage nach letzter Nutzung + |
+
+ Wiedererkennung des Benutzers während der Nutzung der Anwendung +Wiedererkennung des Benutzers bei „automatischer Anmeldung“ +keine Weitergabe an Dritte + |
+
+ Account-Daten
+ Benutzername (freiwillig: E-Mail Adresse) + |
+
+ Benutzer mit Account / bis zur Löschung + |
+
+ Suche nach Benutzern beim Teilen von Inhalten, Senden von Benachrichtigungen +Weitergabe an alle Nutzer + |
+
+ Einstellungen/ Eigenschaften
+ Zeitstempel letztes Login, Speicherplatzkontingent, Speicherplatzkauf / Laufzeit, Sprache, + vorgenommene persönliche Einstellungen + |
+
+ Benutzer mit Account / siehe Account-Daten + |
+
+ Erkennung inaktiver Benutzer, Speicherplatzzuweisung, persönliche Anpassung der Oberfläche, + Benachrichtigungen, etc. +Keine Weitergabe an Dritte + |
+
+ Aktivitäten
+ Auflistung der im System durchgeführten Aktionen, z.B. Upload von Dateien + |
+
+ Benutzer mit Account / 14 Tage + |
+
+ Nachvollziehbarkeit von Änderungen +Weitergabe individuell vom Nutzer einstellbar + |
+
+ strukturierte Daten
+ Daten, welche von Apps in der Datenbank abgelegt werden + |
+
+ Benutzer mit Account / maximale Speicherfrist siehe Account-Daten, ansonsten abhängig von der + jeweiligen App + |
+
+ Nutzung der jeweiligen Apps +Weitergabe von in Apps erfassten Daten individuell vom Nutzer einstellbar + |
+
+ Dateien
+ Dateien, welche mit der „Dateien“-Anwendung oder externen Clients abgelegt werden + |
+
+ Benutzer mit Account / siehe Account-Daten + |
+
+ Nutzung der „Dateien“-App oder Clients für verschiedene Plattformen zur Dateisynchronisierung, + Teilen + von Dateien mit Dritten +Weitergabe von Dateien individuell vom Nutzer einstellbar + |
+
Die folgenden Daten werden durch den Dienst E-Mail Postfach erfasst und gespeichert: +
+ +
Bezeichnung | +Betroffene Benutzer / Speicherfrist | +Verwendungszweck / Weitergabe an Dritte | +
---|---|---|
+ E-Mails
+ Empfangene und gesendete E-Mails + |
+
+ Benutzer mit E-Mail Postfach / bis zur Löschung + |
+
+ Speicherung der E-Mails zur Abfrage +Jeweilige Sender & Empfänger der E-Mail + |
+
Im Dienst Workadventure können weitere Dienste eingebunden sein, wie z.B. Jitsi Meet. Außerdem können externe + Webseiten geöffnet werden, es werden allerdings keine erfassten Daten an diese Webseiten weitergegeben!
+ +Die folgenden Daten werden durch den Dienst Workadventure erfasst: +
+ +
Bezeichnung | +Betroffene Benutzer / Speicherfrist | +Verwendungszweck / Weitergabe an Dritte | +
---|---|---|
+ Username
+ Gesetzter Username + |
+
+ Benutzer mit gültiger Session / bis zur Beendigung der Session + |
+
+ Identifizierung des Avatars +Andere Benutzer mit gültiger Session + |
+
+ Audiodaten
+ (optional) Audiodaten des freigegebenen Mikrofons + |
+
+ Benutzer mit freigegebenen Mikrofon / WICHTIG: die Daten werden nicht an den Server übertragen + sondern direkt an die anderen Benutzer in der Nähe gesendet! + |
+
+ Direkte Gespräche mit anderen Benutzern +Andere Benutzer in direkter Nähe zum Avatar + |
+
+ Videodaten
+ (optional) Videodaten der freigegebenen Kamera + |
+
+ Benutzer mit freigegebener Kamera / WICHTIG: die Daten werden nicht an den Server übertragen + sondern + direkt an die anderen Benutzer in der Nähe gesendet! + |
+
+ Direkte Gespräche mit anderen Benutzern +Andere Benutzer in direkter Nähe zum Avatar + |
+
Die folgenden Daten werden durch den Dienst Jitsi Meet erfasst: +
+ +
Bezeichnung | +Betroffene Benutzer / Speicherfrist | +Verwendungszweck / Weitergabe an Dritte | +
---|---|---|
+ Benutzername
+ Gesetzter Benutzername + |
+
+ Benutzer mit gültiger Session / bis zur Beendigung der Session + |
+
+ Anzeige des Benutzernamen an andere Benutzer +Andere Benutzer im Konferenzraum + |
+
+ Konferenzraum-Id
+ Id des beigetretenen Konferenzraums + |
+
+ Benutzer mit gültiger Session / bis zur Beendigung der Session + |
+
+ Zuweisung des Users zum Konferenzraum +/ + |
+
+ Audiodaten
+ (optional) Audiodaten des freigegebenen Mikrofons + |
+
+ Benutzer mit freigegebenen Mikrofon / Keine permanente Speicherung + |
+
+ Gespräche mit anderen Benutzern im Konferenzraum +Andere Benutzer im Konferenzraum + |
+
+ Videodaten
+ (optional) Videodaten der freigegebenen Kamera + |
+
+ Benutzer mit freigegebener Kamera / Keine permanente Speicherung + |
+
+ Gespräche mit anderen Benutzern im Konferenzraum +Andere Benutzer im Konferenzraum + |
+
+ Textnachrichten
+ (optional) Textnachrichten die der Benutzer in den Chat sendet + |
+
+ Benutzer, die Chat-Nachrichten schreiben / Keine permanente Speicherung + |
+
+ Textnachrichten an andere Benutzern im Konferenzraum +Andere Benutzer im Konferenzraum + |
+
Sämtliche Daten werden verschlüsselt übertragen. Die Nutzung einer unverschlüsselten Verbindung zum Server ist + technisch ausgeschlossen.
+ +Zusätzliche Sicherheitsfunktionen, wie 2-Faktor-Authentifizierung und anwendungsspezifische Logins werden + unterstützt + und können in den Einstellungen aktiviert werden.
+ +Die Daten werden im Rechenzentrum der netcup GmbH gespeichert. Eine regelmäßige, automatisierte Datensicherung der + Bestandsdaten + wird durchgeführt. +
+ + + + \ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/privacy/design.html b/dist/we-bstly-angular/assets/templates/de-informal/privacy/design.html new file mode 100644 index 0000000..43d0a29 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/privacy/design.html @@ -0,0 +1,25 @@ +Hier findest du eine kleine Übersicht über Datenschutz bei uns und unser Verständnis davon. Die genaue Auflistung der + Verwendung deiner Nutzungsdaten findest du in unserer Datenschutzerklärung.
+ +Privacy by Design bedeutet, dass die Systeme grundlegend auf Datensparsamkeit ausgelegt sind. Wir versuchen generell immer so + wenig Daten wie möglich zu erheben. Frei nach dem Motto 'was man nicht hat, kann man auch nicht verlieren'. Das gilt + zuerst einmal generell für Daten, die wir erheben, aber auch für die Verknüpfung verschiedener Daten zueinander.
+ +Um Account- und Zahlungsdaten zu trennen, benutzen wir das Ticket-System Pretix mit seinem Check-In System. Für jedes + Item wird ein geheimes Token generiert. In unserer selbst entwickelten Serverkomponente, we.bstly, können dann diese + Tokens eingelöst werden und die entsprechende Leistung gespeichert werden. Das Token wird dann in Pretix als + eingelöst markiert.
+ +Die Verknüpfung von Account/Leistung und Token ist also nur temporär für die bestehende Browser Session gültig und + wird sonst nicht dauerhaft gespeichert. Sprich: es gibt zwei Datenbanken, eine für Zahlungsdaten und Tokens + (Pretix-System) und eine mit Account- und Berechtigungsdaten (we.bstly-System). Die Verknüpfung findet nur in einer + aktiven Browser-Session statt und wird nach Einlösen des Tokens auch dort vergessen. Es gibt also keinerlei + Verknüpfung von Zahlungsdaten und Account.
+ +Abstriche machen wir aktuell bei der Verknüpfung von Accounts bei den einzelnen Services. Wie immer haben Komfort und + Einfachheit ihren Preis. Durch Single-Sign-On (SSO) über OIDC heißt das: Ein Account für Alles. Sprich, die Nutzung + der einzelnen Services ist immer auf deinen we.bstly-Account zurückzuführen. Zum Einen bietet das den Komfort von + SSO, dass du nur auf diesen einen Account gut aufpassen musst. Zum Anderen bekommt man dafür natürlich auch die + Einfachheit, dass alle die Sicherheit haben, dass es sich bei den verschiedenen Services immer um den gleichen + we.bstly-Account handelt. So weißt du z.B., dass du auch genau dem Menschen eine E-Mail schreibst, mit dem du gerade + gechattest hast.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/privacy/email.html b/dist/we-bstly-angular/assets/templates/de-informal/privacy/email.html new file mode 100644 index 0000000..4d38538 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/privacy/email.html @@ -0,0 +1,8 @@ +Aktuell werden die E-Mails so wie sie ankommen auf dem Server gespeichert. Da dies einige Nachteile und unnötiges + Vertrauen benötigt, arbeitet _Bastler an einer Lösung, dass alle E-Mails automatisch mit deinem Public Key + verschlüsselt werden. Das gibt dir die Sicherheit, dass auch nur du die E-Mails entschlüsseln kannst. Allerdings + bedeutet dies auch, dass du all deine E-Mail-Clients für die Entschlüsselung einrichten musst. Wir werden + selbstverständlich detaillierte Anleitungen dazu veröffentlichen wenn es soweit ist und vermutlich auch ein Opt-Out + anbieten, wenn du auf diese Funktion verzichten möchtest.
+ +Zur Authentifizierung werden deine we.bstly Account-Daten verwendet, d.h. hier gilt immer dieselbe Sicherheit.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/privacy/nextcloud.html b/dist/we-bstly-angular/assets/templates/de-informal/privacy/nextcloud.html new file mode 100644 index 0000000..13217e7 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/privacy/nextcloud.html @@ -0,0 +1,14 @@ +Wie sensibel die Daten in der Nextcloud sind, hängt natürlich nur von deiner Nutzung ab. Vom Dienst selber fallen + keine Daten außer deine Account-Daten (nur Username und freiwillige Profildaten) an. Da hier ausschließlich von + Usern + selbst erstellte Inhalte gespeichert werden, kommt es darauf an, was du hochlädst, veröffentlichst und schreibst. + Die Daten werden automatisch verschlüsselt gespeichert, es handelt sich + dabei allerdings nur um eine serverseitige Verschlüsselung, sodass du die Daten weiterhin mit Anderen teilen kannst. + Nextcloud bietet allerdings in den aktuellen Versionen auch eine eigene Ende-Zu-Ende-Verschlüsselung (E2EE) an. Es + steht dir natürlich frei diese für sensible Daten zu nutzen, sodass auch niemand anderes an diese Dateien kommt. + Beachte aber, dass diese Dateien dann nicht mehr im Browser zugänglich sind und nicht geteilt werden können. + Außerdem gilt die E2EE nur für Dateien und nicht für andere Daten wie Nachrichten, Kalender o.Ä., so dass die + Empfehlung ist, immer darüber nachzudenken, welche Daten man gerade erzeugt und wie sensibel diese sind.
+ +Da die Nextcloud auch als Basis für unsere Community dient, werden deine Account-Daten mit allen anderen Usern + geteilt. Es steht dir aber auch frei, weitere Daten wie Dateien, Kalender etc. mit anderen Usern zu teilen.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/privacy/pretix.html b/dist/we-bstly-angular/assets/templates/de-informal/privacy/pretix.html new file mode 100644 index 0000000..65ebd2e --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/privacy/pretix.html @@ -0,0 +1,3 @@ +Im Pretix System müssen wir natürlich persönliche Daten zum Zahlungsverkehr sowie eine E-Mail-Adresse speichern zum + Versenden von E-Mails mit Bestätigungen, Zahlungsdaten sowie zum Verschicken der Tokens. Als Vereinsmitglied werden + hier deine zu erhebenden Mitgliedsdaten sowie dein Mitgliedsbeitragskonto gespeichert.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/privacy/we-bstly.html b/dist/we-bstly-angular/assets/templates/de-informal/privacy/we-bstly.html new file mode 100644 index 0000000..a98ffe8 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/privacy/we-bstly.html @@ -0,0 +1,12 @@ +Im we.bstly-System brauchst du lediglich einen Usernamen und ein Passwort (gut gesalzen, Argon2 gehashed!). + Zusätzlich wird noch ein Private-Public-Schlüsselpaar erstellt. Mehr nicht. Optional ist noch die Angabe einer + E-Mail Adresse. Diese ist erforderlich beim Verlust der Login-Daten bzw. deines Private-Keys. Wir halten diese + Option allerdings offen, so dass eine völlig anonyme Nutzung aller Dienste möglich ist, wenn du dein Passwort bzw. + deinen Private-Key nicht verlierst!
+ +Zusätzlich zu deinen zentralen Account-Daten werden hier auch deine Berechtigungen und das Ablaufdatum deiner Services + gespeichert. Aktuell ist es auch vorgesehen, die Information zu speichern, ob du ein reguläres Vereinsmitglied bist. + Dies hat den Vorteil, dass wir über unsere Services auch alle Vereinsmitglieder direkt erreichen können oder + erweiterte Services anbieten können. Die Daten werden selbstverständlich nicht mit deinen Mitgliedsdaten und dem + Mitgliedsbeitragskonto verknüpft, sprich: wir wissen lediglich, dass du Vereinsmitglied bist, + nicht welches!
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/privacy/webserver.html b/dist/we-bstly-angular/assets/templates/de-informal/privacy/webserver.html new file mode 100644 index 0000000..44ee2fb --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/privacy/webserver.html @@ -0,0 +1,9 @@ +Alle Dienste laufen über einen Webserver, wie auch z.B. diese Seite. Generell fallen bei einem Webserver automatisch + ein Haufen Daten an, wie z.B. deine IP-Adresse, deine Webbrowser-Version und einiges mehr. Dass diese Daten + übertragen werden ist technisch bedingt und lässt sich nur mit Aufwand von deiner Seite aus verhindern. Wichtig ist + also, was wir mit diesen Daten machen.
+ +Und was machen wir mit diesen Daten? Die Antwort ist einfach: Nichts! Im Allgemeinen werden diese Daten gar nicht + gespeichert. Im Zuge von Wartungsarbeiten o.Ä. kann es dazu kommen, dass diese Daten in Log-Files geschrieben werden, + damit wir Problemen auf den Grund gehen können. Diese werden dann allerdings mit keinen anderen Daten verknüpft und + direkt nach Beendigung der Arbeiten gelöscht!
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/active/email.html b/dist/we-bstly-angular/assets/templates/de-informal/services/active/email.html new file mode 100644 index 0000000..94d8e86 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/active/email.html @@ -0,0 +1,8 @@ +Für deinen Usernamen wird automatisch ein E-Mail Konto mit dem Schema {username}@we.bstly.de (Beispiel für + den User foobar: foobar@we.bstly.de) erstellt. Außerdem wird ein sogenanntes @Catch-All für @{username}.we.bstly.de eingerichtet. Das + bedeutet, dass automatisch alle E-Mails an eine Adresse an @{username}.we.bstly.de in deinem Postfach landen. So hast + du eigentlich endlos viele E-Mail-Adressen zur Verfügung. Ein automatischer Spam-Filter ist natürlich auch dabei. + Ein Webmail Zugang steht ebenfalls zur Verfügung.
+ +Für E-Mail Protokolle gibt es keinen OIDC-Login, dies bedeutet technisch, dass zum Login einfach die + Account-Datenbank von we.bstly genommen werden und somit dein we.bstly-Account Passwort.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/active/nextcloud.html b/dist/we-bstly-angular/assets/templates/de-informal/services/active/nextcloud.html new file mode 100644 index 0000000..5288941 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/active/nextcloud.html @@ -0,0 +1,7 @@ +Herzstück der digitalen Bastelei ist die Nextcloud. Nextcloud vereint einige Cloud-Dienste in einem. Ein einfaches + Dateisystem wie z.B. von Dropbox, einen Kalender wie z.B. von Google und und und. Die + Daten in der Nextcloud sind generell verschlüsselt, für volle Sicherheit deiner Dateien kannst du allerdings auch + die Ende-zu-Ende-Verschlüsselung der Nextcloud nutzen.
+ +Über Nextcloud werden wir euch auch mit allen wichtigen Informationen über "Bastelei e. V." informieren. + Des weiteren bietet Nextcloud auch einige Community-Funktionen, die wir gerne mit euch nutzen möchten.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/active/we-bstly.html b/dist/we-bstly-angular/assets/templates/de-informal/services/active/we-bstly.html new file mode 100644 index 0000000..dc5ee56 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/active/we-bstly.html @@ -0,0 +1,8 @@ +Das we.bstly-System ist die zentrale Verwaltung für Account-Daten und Berechtigungen. Hier werden also Login-Daten + (Username + Password-Hash) und dein Public Key gespeichert, sowie verknüpfte Berechtigungen mit ihrer + Gültigkeitsdauer (Beispiel: Mitgliedschaft noch bis 24.03.2049, Git-Zugang bis 01.02.2027).
+ +Implementiert ist dort ein OpenID Connect (OIDC) Provider + der den Zugriff auf die anderen Dienste ermöglicht. + Sprich, für alle weiteren Dienste (Ausnahme E-Mail, siehe unten) läuft der Login direkt über we.bstly (SSO - Single + Sign On).
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/bigbluebutton.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/bigbluebutton.html new file mode 100644 index 0000000..47ea9c0 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/bigbluebutton.html @@ -0,0 +1,5 @@ +Online Konferenzsoftware.
+ +BigBlueButton ist ein mächtiges Konferenz-Tool, dass für den Einsatz an Schulen konzipiert wurde. Dadurch bietet es einen großen Umfang an Funktionen um viele denkbare Konferenz-Situationen abzubilden. Gerade aus Sicht der Bastelei und des Vereins bietet ein solches Tool Vorteile um größere Online-Konferenzen zu organisieren oder z.B. eine Mitgliederversammlung abzuhalten.
+ +⚠️ Größerer Umfang an Funktionen bringt große Komplexität mit sich. Aktuell wird für BBB empfohlen einen eigenständigen Server zu verwenden. Hinzu kommen einige Sicherheitsbedenken, da die empfohlenen Systemvoraussetzungen veraltet sind. Außerdem bietet BBB derzeit auch keine OIDC-Unterstützung, was zusätzlich das Thema der Authentifizierung mit sich bringt.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/bitwarden.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/bitwarden.html new file mode 100644 index 0000000..65d9b86 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/bitwarden.html @@ -0,0 +1,7 @@ +Passwort Manager.
+ +Ein Passwort Manager verwaltet sicher all deine Passwörter. Außerdem kannst du dir komplizierte Passwörter generieren lassen, so dass du für all deine Konten ein anderes, schwer zu erratendes Passwort hast und die Sicherheit deiner Konten erhöhst.
+ +Bitwarden empfiehlt sich vor allem durch seine regelmäßigen unabhängigen Audits mit positiven Ergebnissen. Es gibt kaum vergleichbare Alternativen in selbst betriebenen Open-Source Password Managern.
+ +⚠️ Aktuell bietet Bitwarden leider OIDC Unterstützung nur für eine bezahlte Premium Lizenz. Es gibt einen offenen Rust-Klon der Server Komponente, diese legt aber aktuell wenig Wert auf die Unterstützung des Organisationen-Feature und damit auf das damit verbundene OIDC. Somit bleibt abzuwarten, ob sich hier in nächster Zeit etwas entwickelt oder ob etwas für den Einsatz einer Alternative spricht.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/gitea.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/gitea.html new file mode 100644 index 0000000..4601595 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/gitea.html @@ -0,0 +1,10 @@ +Offene Source-Code Verwaltung auf Basis von git-Repositories (vergleichbar mit GitHub).
+ +Gegenüber der Konkurrenz bietet Gitea vor allem den Vorteil, dass es selbst betrieben werden kann und man so die + Hoheit über seine Daten und seinen Code behält. Nennenswerte zusätzliche Features gegenüber vergleichbarer Software + gibt es nicht, der Funktionsumfang steht allerdings auch in nichts nach.
+ +✅ Da Gitea auch OIDC Unterstützung mitbringt, stellt sich vor allem die Frage, ob für eine solche + Plattform Bedarf besteht. Da durch die Repositories natürlich einiges an Speicher hinzukommt, empfiehlt sich auch + hier eventuell ein separater Server, der dann von den Usern, die diesen Service nutzen wollen, finanziert werden + würde.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/jitsi-meet.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/jitsi-meet.html new file mode 100644 index 0000000..1ccfbe0 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/jitsi-meet.html @@ -0,0 +1,13 @@ +Online Konferenzsoftware.
+ +Vor allem die Einfachheit in der Bedienung und aufs Nützlichste beschränkte Funktionen sind die Vorteile von Jitsi + Meet. Da es in jedem modernen Browser läuft, fällt auch die lästige Installation von Anwendungen auf Endgeräten weg. + Lediglich auf Smartphones wird die kostenlose Jitsi-App benötigt. Hier muss als Server dann der Bastelei-Server + angegeben werden.
+ +❔ Bei Jitsi Meet ist eigentlich nur die Frage offen, ob es von den Serverkapazitäten möglich ist eine + offene Instanz zu betreiben bzw. ein eigener Server nötig ist, da die Software doch recht ressourcenhungrig ist. + Ansonsten muss sich _Bastler noch um eine Authentifizierungsmethode kümmern. OIDC wird nicht direkt unterstützt, + eine Beschränkung über VPN (Wireguard) wäre auch denkbar. Zu erwähnen ist hier, dass die Authentifizierung lediglich + für das Erstellen von Räumen nötig wäre. Jitsi Meet bietet eine Gästekonfiguration, so dass du so oder so beliebige + Personen zu deiner Konferenz einladen kannst.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/matrix.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/matrix.html new file mode 100644 index 0000000..8599827 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/matrix.html @@ -0,0 +1,10 @@ +Dezentrales Ende-zu-Ende-verschlüsseltes Messaging Protokoll.
+ +Mit einem Matrix-Server können wir Teil eines dezentralen Messaging Netzwerk werden, welches mit einer E2EE die + größtmögliche Datensicherheit bietet. Es gibt verschiedene Clients, alles im allem ähnelt die Handhabung aber den + gängigen, bekannten Messenger wie Signal, WhatsApp, Threema oder Telegram.
+ +Damit hätten wir auch ein verschlüsseltes Kommunikationssystem für unsere internen Nachrichten.
+ +✅ Da der Synapse Server direkte Unterstützung für OIDC bietet, braucht es lediglich Serverkapazitäten + um diesen Service einzurichten.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/pihole.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/pihole.html new file mode 100644 index 0000000..cafc8f8 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/pihole.html @@ -0,0 +1,11 @@ +Ad-Blocking via DNS (benötigt dann Wireguard ⚠️).
+ +Werbeblocking über DNS bietet einige Vorteile gegenüber klassischem Ad-Blocking über Browser-Plugins. Da das Request + als solches blockiert wird, bekommt der Werbeserver nicht einmal mit, dass er gerade blockiert wird. Außerdem + funktioniert so ein Blocking dann für alle Geräte, Applikation usw. die auf das Internet zugreifen. So wird auch + Werbung und Tracking in mobilen Anwendungen blockiert.
+ +❔ Pi-Hole selber einzurichten ist kein Problem. ⚠️ Allerdings würde eine offene Konfiguration für jeden + zugänglich sein, so dass Serverlasten nicht kontrollierbar wären. Deshalb ist die Idee von _Bastler, den Service + über ein VPN (Wireguard) zur Verfügung zu stellen. So ist Pi-Hole immer aktiv, sobald du eine gültige VPN Verbindung + zu unserem Server hast.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/wireguard.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/wireguard.html new file mode 100644 index 0000000..f0349cb --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/wireguard.html @@ -0,0 +1,14 @@ +VPN Server.
+ +Ein VPN Server bietet zum einen den Vorteil, dass deine echte IP-Adresse verschleiert wird, zum anderen würde ein + VPN uns ein paar technische Möglichkeiten bieten, da du dich als User dann in einem internen Netzwerk befindest, + worüber wir weitere Dienste oder Zugriffe auf bestimmte Dienste ermöglichen können.
+ +Da natürlich sehr viel Traffic über den Server läuft wenn viele User im VPN sind, wird aktuell ein Hybrid-Betrieb + bevorzugt. Dies bedeutet dass du zwar weiterhin mit deiner eigenen IP direkt auf das Internet zugreifst, wir aber + eben durch das interne Netzwerk weitere Services zur Verfügung stellen können.
+ +⚠️ In der Theorie ist das Aufsetzen des Servers kein Problem. Da die Authentifizierung über ein + Public-Private-Key Verfahren läuft, bräuchte es eigentlich nur ein kleines Script um den Public-Key eines Users + zur Konfiguration hinzuzufügen (oder zu entfernen). Das Szenario muss allerdings noch von _Bastler verifiziert und + getestet werden.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/services/planned/workadventure.html b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/workadventure.html new file mode 100644 index 0000000..b417430 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/services/planned/workadventure.html @@ -0,0 +1,9 @@ +2D online Welt.
+ +Eine 2D Welt im Browser als spielerischer Treffpunkt in der digitalen Welt.
+ +Work Adventure wurde in etwas abgewandelter Form beim RC3 des Chaos Computer Club eingesetzt. In niedlicher 2D Adventure Grafik bietet es die Möglichkeit in selbst gestalteten Welten sich digital zu treffen. Mit Kamera und Mikrofon werden bis zu 4 Teilnehmer direkt verbunden, wenn sie sich nahe kommen. Eine Einbindung von Jitsi-Räumen bietet die Möglichkeit sich in größeren Gruppen zu treffen.
+ +Im Zusammenspiel mit Gitea könnten dann auch alle Nutzer eigene Karten einbinden!
+ +⚠️ Der CCC hat für den RC3 einige Anpassungen gemacht auf dessen Veröffentlichung noch sehnsüchtig gewartet wird, z.B die Themen Authentifizierung, Einbindung von Audio-Streams und Webseiten. Work Adventure selber ist leider auch nicht sehr gut dokumentiert bisher, so dass eine Einrichtung sicher etwas länger dauern wird. Auch die Systemvorraussetzungen fehlen, bzw. die Frage, ob die Serverkapazitäten dafür ausreichend sind.
\ No newline at end of file diff --git a/dist/we-bstly-angular/assets/templates/de-informal/terms-of-service.html b/dist/we-bstly-angular/assets/templates/de-informal/terms-of-service.html new file mode 100644 index 0000000..189a770 --- /dev/null +++ b/dist/we-bstly-angular/assets/templates/de-informal/terms-of-service.html @@ -0,0 +1,120 @@ +Mit we.bstly stellt der Bastelei e. V. eine Plattform + bereit, um verschiedene digitale Services zeitlich befristet zur Verfügung zu stellen.
+we.bstly und damit verbundene Services stehen allen Vereinsmitgliedern des Bastelei e. V. sowie allen + NutzerInnen, die die entsprechenden Services direkt gebucht haben, zur Verfügung.
+Gegenstand der Nutzung ist die Bereitstellung we.bstly und den damit verbundenen Services zur Online-Nutzung über das + Internet und die Übermittlung und Speicherung von Daten und Dateien der NutzerInnen.
+we.bstly sowie die verschiedenen Services sind einzeln mit ihren Funktionen unter Aktive + Services aufgelistet.
+ + +Die NutzerInnen haben für die Laufzeit der Nutzung das beschränkte, einfache, nicht übertragbare Recht, + we.bstly und damit verbundene Services über das Internet für eigene Zwecke zu nutzen. Darüberhinausgehende + Rechte bestehen nicht.
+Die NutzerInnen sind nicht berechtigt, we.bstly und damit verbundene Services Dritten zugänglich zu machen. + Ausgenommen sind explizite Funktionen der einzelnen Services, deren Zweck im Zugang für Dritte liegt.
+ + +we.bstly und damit verbundene Services haben Sicherheitsmerkmale implementiert, die Schutz vor Verlust, Missbrauch + und Manipulation der Daten und Dateien bieten. Dennoch kann ein 100% Schutz nicht gewährleistet werden (siehe Verfügbarkeit und Leistungsstörungen).
+ +Die NutzerInnen sind für die Daten und Dateien, die sie in we.bstly und damit verbundenen Services ablegen, + verantwortlich. Alle Daten und Dateien in we.bstly und damit verbundenen Services sind aus dem Internet erreichbar + und durch Passwort und Benutzerkennung geschützt. Auch bei starken Passwörtern können diese von Angreifern + ausgespäht werden. Deswegen müssen die NutzerInnen ihre Verbindungskennung (z. B. Login-Namen und Passwörter) geheim + halten, vor dem Zugriff durch Unberechtigte schützen und den ordnungsgemäßen Gebrauch sicherstellen. Die NutzerInnen + müssen den + Bastelei e. V. unverzüglich informieren, sobald sie Kenntnis davon erlangen, dass unbefugten Dritten + ihr Passwort bekannt ist bzw. Ihnen eine Verletzung der Datensicherheit bekannt wird oder von ihnen eine solche + vermutet wird.
+ + +Die NutzerInnen dürfen keine Daten und Dateien speichern oder versenden, die nach ihrer Art oder + Beschaffenheit geeignet sind, den Bestand oder den Betrieb des Rechenzentrums oder des Datennetzes zu gefährden.
+Die NutzerInnen müssen jedweden Versuch unterlassen, selbst oder durch Dritte Informationen oder Daten und + Dateien unbefugt abzurufen oder in die software- und hardwaretechnischen Systeme einzugreifen oder eingreifen zu + lassen oder in die Datennetze unbefugt einzudringen.
+Ebenfalls untersagt ist jede Handlung, die geeignet ist, den ordnungsgemäßen Betrieb we.bstly und damit verbundenen + Services zu beeinträchtigen.
+ + +we.bstly sowie einzelne Services können nicht bereitgestellt werden bei
+Ansprüche der NutzerInnen gegenüber dem Bastelei e. V. bestehen in diesen Fällen nicht. +
+ +we.bstly und damit verbundene Services werden dem Nutzer ohne Gewährleistung zur Verfügung gestellt. Der Bastelei + (bald e. V.) übernimmt bezüglich der Inhalte keine Gewähr und leistet keine Zusicherungen hinsichtlich + Eigenschaften. Der Bastelei e. V. übernimmt zudem keine Garantie hinsichtlich der Richtigkeit und Aktualität + der zur Verfügung gestellten Inhalte.
+ +Der Bastelei e. V. haftet nicht für Schäden, die durch die Nutzung entstehen, es sei denn, die betreffenden + Schäden sind auf vorsätzliches Fehlverhalten, grobe Fahrlässigkeit oder die Verletzung von Pflichten nach dem + Produkthaftungsgesetz zurückzuführen.
+ + +In we.bstly und damit verbundenen Services dürfen die NutzerInnen keine Daten und Dateien in rechtswidriger Weise + oder mit rechtswidrigem Inhalt übermitteln (unter anderem sind die nationalen und internationalen Schutzrechte, + insbesondere Marken- und Urheberrechte sowie die Datenschutzbestimmungen zu beachten). Geltendes Recht und die + Rechte Dritter + sind zu beachten. Des weiteren nicht erlaubt ist außerdem das Verbreiten von Inhalten, die +
Insbesondere bei Verdacht auf einen Gesetzesverstoß, bei einem Gesetzesverstoß oder bei einem schwerwiegenden Verstoß + gegen diese Nutzungsbedingungen oder gegen Rechte Dritter behält sich der Bastelei e. V. vor, das Einstellen + von Daten und Dateien abzulehnen und/oder bereits eingestellte Daten und Dateien ohne vorherige Ankündigung zu + sperren oder zu + löschen.
+ + +Bei Missachtung der Nutzungsbedingungen oder Missachtung der gesetzesmäßigen Nutzung können NutzerInnen jederzeit + ohne Angabe von Gründen gesperrt oder gelöscht werden.
+ +Personenbezogene Daten werden ausschließlich zur Bereitstellung von we.bstly und damit verbundenen Services + verarbeitet. Die Details dazu sind in der Datenschutzerklärung zu finden. +
+ + +Nach Ablauf des Nutzerkontos wird den NutzerInnen eine Frist von 4 Wochen gewährt das Nutzerkonto zu erneuern. Nach + Ablauf dieser Frist werden alle Daten, denen keine gesetzlichen Aufbewahrungspflichten entgegenstehen, + unwiderruflich gelöscht.
+ + +Die NutzerInnen stellen den Betreibern für den Fall der Inanspruchnahme wegen + vermeintlicher oder tatsächlicher Rechtsverletzung und/oder Verletzung von Rechten Dritter im Zusammenhang mit der + Nutzung von we.bstly sowie den damit verbundenen Services vorgenommenen Handlungen von sämtlichen sich daraus + ergebenen Ansprüchen Dritter frei. Darüber hinaus verpflichten sich die NutzerInnen, alle Kosten zu ersetzen, die + dem Betreiber durch die Inanspruchnahme durch Dritte entstehen. Zu den erstattungsfähigen Kosten zählen auch die + Kosten einer angemessenen Rechtsverteidigung.
+ +Auf den vorliegenden Vertrag ist ausschließlich deutsches Recht anwendbar.
\ No newline at end of file diff --git a/dist/we-bstly-angular/favicon.ico b/dist/we-bstly-angular/favicon.ico new file mode 100644 index 0000000..997406a Binary files /dev/null and b/dist/we-bstly-angular/favicon.ico differ diff --git a/dist/we-bstly-angular/index.html b/dist/we-bstly-angular/index.html new file mode 100644 index 0000000..1449f42 --- /dev/null +++ b/dist/we-bstly-angular/index.html @@ -0,0 +1,13 @@ + + + + +=p-4?g:o[0][i[g>>>24]]^o[1][i[g>>>16&255]]^o[2][i[g>>>8&255]]^o[3][i[255&g]];f.set_rounds(e+5)},f};return c.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},c.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},c.MAC={CBC:0,GCM:1},c.HEAP_DATA=16384,c}()},{}],3:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES=void 0;var n=e("./aes.asm"),i=e("../other/utils"),s=e("../other/errors"),a=[],o=[],l=function(){function e(e,t,r,n){void 0===r&&(r=!0),this.pos=0,this.len=0,this.mode=n,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm()}return e.prototype.acquire_asm=function(){void 0===this.heap&&void 0===this.asm&&(this.heap=a.pop()||(0,i._heap_init)().subarray(n.AES_asm.HEAP_DATA),this.asm=o.pop()||(0,n.AES_asm)(null,this.heap.buffer),this.reset(this.key,this.iv))},e.prototype.release_asm=function(){a.push(this.heap),o.push(this.asm),this.heap=void 0,this.asm=void 0},e.prototype.reset=function(e,t){var r=e.length;if(16!==r&&24!==r&&32!==r)throw new s.IllegalArgumentError("illegal key size");var n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(this.asm.set_key(r>>2,n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12),r>16?n.getUint32(16):0,r>16?n.getUint32(20):0,r>24?n.getUint32(24):0,r>24?n.getUint32(28):0),void 0!==t){if(16!==t.length)throw new s.IllegalArgumentError("illegal iv size");var i=new DataView(t.buffer,t.byteOffset,t.byteLength);this.asm.set_iv(i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12))}else this.asm.set_iv(0,0,0,0)},e.prototype.AES_Encrypt_process=function(e){if(!(0,i.is_bytes)(e))throw new TypeError("data isn't of expected type");this.acquire_asm();for(var t=this.asm,r=this.heap,s=n.AES_asm.ENC[this.mode],a=n.AES_asm.HEAP_DATA,o=this.pos,l=this.len,c=0,d=e.length||0,u=0,h=0,f=new Uint8Array(l+d&-16);d>0;)c+=h=(0,i._heap_write)(r,o+l,e,c,d),d-=h,(h=t.cipher(s,a+o,l+=h))&&f.set(r.subarray(o,o+h),u),u+=h,h >>4^M),M^=v,p^=v<<4,v=65535&(M>>>-16^p),p^=v,M^=v<<-16,v=858993459&(p>>>2^M),M^=v,p^=v<<2,v=65535&(M>>>-16^p),p^=v,M^=v<<-16,v=1431655765&(p>>>1^M),M^=v,p^=v<<1,v=16711935&(M>>>8^p),p^=v,M^=v<<8,v=1431655765&(p>>>1^M),M^=v,p^=v<<1,v=p<<8|M>>>20&240,p=M<<24|M<<8&16711680|M>>>8&65280|M>>>24&240,M=v;for(let e=0;e=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function l(e,t,r,n){for(var i=0,s=Math.min(e.length,r),a=t;a=49?o-49+10:o>=17?o-17+10:o}return i}s.isBN=function(e){return e instanceof s||null!==e&&"object"==typeof e&&e.constructor.wordSize===s.wordSize&&Array.isArray(e.words)},s.max=function(e,t){return e.cmp(t)>0?e:t},s.min=function(e,t){return e.cmp(t)<0?e:t},s.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},s.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},s.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i>>26-s&4194303,(s+=24)>=26&&(s-=26,n++);r+6!==t&&(i=o(e,t,r+6),this.words[n]|=i<>>26-s&4194303),this.strip()},s.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var s=e.length-r,a=s%n,o=Math.min(s,s-a)+r,c=0,d=r;d=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},s.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},s.prototype.bitLength=function(){var e=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t>>=1)i++;return 1<>>=13),s>>>=13;for(a=2*t;a>=26,t+=i/67108864|0,t+=s>>>26,this.words[r]=67108863&s}return 0!==t&&(this.words[r]=t,this.length++),this},s.prototype.muln=function(e){return this.clone().imuln(e)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;ra)for(this.length-=a,c=0;c>>0)>>0)>8);t[i]+=r,t[n]=0}for(r=0,i=0;i<32;i++)t[i]+=r-(t[31]>>4)*R[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*R[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function I(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;O(e,r)}var j=64;function F(){for(var e=0;e{})||await this.getEncryptionKey(t,null,r).catch(()=>{});if(!e)return null;const n=await e.getExpirationTime(this.keyPacket);n{})||await this.getSigningKey(t,null,r).catch(()=>{});if(!e)return null;const n=await e.getExpirationTime(this.keyPacket);ne.subKeys.some(e=>t.hasSameFingerprintAs(e))))throw new Error("Cannot update public key with private key if subkey mismatch");this.keyPacket=e.keyPacket}await c.mergeSignatures(e,this,"revocationSignatures",t=>c.isDataRevoked(this.keyPacket,s.default.signature.key_revocation,this,[t],null,e.keyPacket)),await c.mergeSignatures(e,this,"directSignatures"),await Promise.all(e.users.map(async e=>{let t=!1;await Promise.all(this.users.map(async r=>{(e.userId&&r.userId&&e.userId.userid===r.userId.userid||e.userAttribute&&e.userAttribute.equals(r.userAttribute))&&(await r.update(e,this.keyPacket),t=!0)})),t||this.users.push(e)})),await Promise.all(e.subKeys.map(async e=>{let t=!1;await Promise.all(this.subKeys.map(async r=>{r.hasSameFingerprintAs(e)&&(await r.update(e,this.keyPacket),t=!0)})),t||this.subKeys.push(e)}))},u.prototype.revoke=async function({flag:e=s.default.reasonForRevocation.no_reason,string:t=""}={},r=new Date){if(this.isPublic())throw new Error("Need private key for revoking");const n={key:this.keyPacket},i=new u(this.toPacketlist());return i.revocationSignatures.push(await c.createSignaturePacket(n,null,this.keyPacket,{signatureType:s.default.signature.key_revocation,reasonForRevocationFlag:s.default.write(s.default.reasonForRevocation,e),reasonForRevocationString:t},r)),i},u.prototype.getRevocationCertificate=async function(e=new Date){const t={key:this.keyPacket},r=await c.getLatestValidSignature(this.revocationSignatures,this.keyPacket,s.default.signature.key_revocation,t,e),a=new i.default.List;return a.push(r),n.default.encode(s.default.armor.public_key,a.write(),null,null,"This is a revocation certificate")},u.prototype.applyRevocationCertificate=async function(e){const t=await n.default.decode(e),r=new i.default.List;await r.read(t.data);const o=r.findPacket(s.default.packet.signature);if(!o||o.signatureType!==s.default.signature.key_revocation)throw new Error("Could not find revocation signature packet");if(!o.issuerKeyId.equals(this.getKeyId()))throw new Error("Revocation signature does not match key");if(o.isExpired())throw new Error("Revocation signature is expired");try{await o.verify(this.keyPacket,s.default.signature.key_revocation,{key:this.keyPacket})}catch(c){throw a.default.wrapError("Could not verify revocation signature",c)}const l=new u(this.toPacketlist());return l.revocationSignatures.push(o),l},u.prototype.signPrimaryUser=async function(e,t,r){var n=await this.getPrimaryUser(t,r);const i=n.index,s=n.user,a=await s.sign(this.keyPacket,e),o=new u(this.toPacketlist());return o.users[i]=a,o},u.prototype.signAllUsers=async function(e){const t=this,r=new u(this.toPacketlist());return r.users=await Promise.all(this.users.map((function(r){return r.sign(t.keyPacket,e)}))),r},u.prototype.verifyPrimaryUser=async function(e,t,r){const n=this.keyPacket,i=(await this.getPrimaryUser(t,r)).user;return e?await i.verifyAllCertifications(n,e):[{keyid:n.keyid,valid:await i.verify(n).catch(()=>!1)}]},u.prototype.verifyAllUsers=async function(e){const t=[],r=this.keyPacket;return await Promise.all(this.users.map((async function(n){(e?await n.verifyAllCertifications(r,e):[{keyid:r.keyid,valid:await n.verify(r).catch(()=>!1)}]).forEach(e=>{t.push({userid:n.userId.userid,keyid:e.keyid,valid:e.valid})})}))),t},u.prototype.addSubkey=async function(e={}){if(!this.isPrivate())throw new Error("Cannot add a subkey to a public key");if(e.passphrase)throw new Error("Subkey could not be encrypted here, please encrypt whole key");if(a.default.getWebCryptoAll()&&e.rsaBits<2048)throw new Error("When using webCrypto rsaBits should be 2048 or 4096, found: "+e.rsaBits);const t=this.primaryKey;if(!t.isDecrypted())throw new Error("Key is not decrypted");const r=t.getAlgorithmInfo();e=c.sanitizeKeyOptions(e,r);const n=await c.generateSecretSubkey(e),i=await c.createBindingSignature(n,t,e),s=this.toPacketlist();return s.push(n),s.push(i),new u(s)},["getKeyId","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted","hasSameFingerprintAs"].forEach(e=>{u.prototype[e]=l.default.prototype[e]})},{"../encoding/armor":111,"../enums":113,"../packet":131,"../util":158,"./helper":117,"./subkey":120,"./user":121}],120:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=o;var n=a(e("../enums")),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./helper")),s=a(e("../packet"));function a(e){return e&&e.__esModule?e:{default:e}}function o(e){if(!(this instanceof o))return new o(e);this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[]}o.prototype.toPacketlist=function(){const e=new s.default.List;return e.push(this.keyPacket),e.concat(this.revocationSignatures),e.concat(this.bindingSignatures),e},o.prototype.isRevoked=async function(e,t,r,s=new Date){return i.isDataRevoked(e,n.default.signature.subkey_revocation,{key:e,bind:this.keyPacket},this.revocationSignatures,t,r,s)},o.prototype.verify=async function(e,t=new Date){const r={key:e,bind:this.keyPacket},s=await i.getLatestValidSignature(this.bindingSignatures,e,n.default.signature.subkey_binding,r,t);if(s.revoked||await this.isRevoked(e,s,null,t))throw new Error("Subkey is revoked");if(i.isDataExpired(this.keyPacket,s,t))throw new Error("Subkey is expired")},o.prototype.getExpirationTime=async function(e,t=new Date){const r={key:e,bind:this.keyPacket};let s;try{s=await i.getLatestValidSignature(this.bindingSignatures,e,n.default.signature.subkey_binding,r,t)}catch(l){return null}const a=i.getExpirationTime(this.keyPacket,s),o=s.getExpirationTime();return a