From bd27ab61f679a21bc71bd99133604364c411bb61 Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 28 Apr 2021 21:33:46 +0200 Subject: [PATCH] Add sponsorship privacy police (#935) --- soc/server/ui/index.html | 205 +++++++++++++++++----------------- soc/server/ui/privacy.html | 220 +++++++++++++++++++++++++++++++++++++ soc/server/ui/ui.go | 30 +++-- 3 files changed, 337 insertions(+), 118 deletions(-) create mode 100644 soc/server/ui/privacy.html diff --git a/soc/server/ui/index.html b/soc/server/ui/index.html index 54d2522f6..1483cc42f 100644 --- a/soc/server/ui/index.html +++ b/soc/server/ui/index.html @@ -2,127 +2,130 @@ - - - evcc cloud + + + evcc Sponsorship - - + + + + - + @media (min-width: 768px) { + .bd-placeholder-img-lg { + font-size: 3.5rem; + } + } + + -
+
-
-
-

evcc cloud

- -
-
+
+
+

evcc Sponsorship

+ +
+
-
- {{if .Content}} - {{.Content}} - {{else}} -

Willkommen

-

- evcc cloud erfordert eine einmalige Anmeldung um evcc cloud mit dem Github Konto des evcc Sponsors zu - verknüpfen. Mit der Verknüpfung wird das Registrierungstoken erzeugt. -

-

- Die evcc cloud speichert keine Benutzerdaten. Alle Daten werden weiterhin lokal verarbeitet. -

-

- Anmelden -

- {{end}} -
+
+ {{if .Content}} + {{.Content}} + {{else}} +

Willkommen

+

+ Die Freischaltung der Sonderfunktionen für evcc Sponsoren erfordert eine einmalige Anmeldung um evcc mit dem + Github Konto des evcc Sponsors zu verknüpfen. Mit der Verknüpfung wird das Registrierungstoken erzeugt. +

+

+ Das Registrierungstoken gibt Zugang zu den folgenden Funktionen: +

Nutzung des evcc-soc Moduls mit OpenWB

+

Nutzung des evcc Easee Moduls

+

+

+ Anmelden +

+ {{end}} +
-
-

Cover template by @mdo.

-
+
+

Cover template by @mdo.

+
-
+
- \ No newline at end of file + diff --git a/soc/server/ui/privacy.html b/soc/server/ui/privacy.html new file mode 100644 index 000000000..a1f6f11e9 --- /dev/null +++ b/soc/server/ui/privacy.html @@ -0,0 +1,220 @@ + + + + + + + Impressum und Datenschutzerklärung + + + +

Impressum

+

Diensteanbieter

+

Andreas Götz

+

Gubiner Str. 15

+

30880 Laatzen

+ +

Kontaktmöglichkeiten

+

E-Mail-Adresse: info@evcc.io

+ +

Datenschutzerklärung

+

Einleitung

+

Mit der folgenden Datenschutzerklärung möchten wir Sie darüber aufklären, welche Arten Ihrer personenbezogenen + Daten (nachfolgend auch kurz als "Daten“ bezeichnet) wir zu welchen Zwecken und in welchem Umfang verarbeiten. Die + Datenschutzerklärung gilt für alle von uns durchgeführten Verarbeitungen personenbezogener Daten, sowohl im + Rahmen der Erbringung unserer Leistungen als auch insbesondere auf unseren Webseiten, in mobilen Applikationen sowie + innerhalb externer Onlinepräsenzen, wie z.B. unserer Social-Media-Profile (nachfolgend zusammenfassend + bezeichnet als "Onlineangebot“).

+

Die verwendeten Begriffe sind nicht geschlechtsspezifisch.

+

Stand: 26. April 2021

+

Inhaltsübersicht

+ +

Verantwortlicher

+

Andreas Götz
Gubiner Str. 15
30880 Laatzen

+

E-Mail-Adresse: info@evcc.io.

+

Übersicht der Verarbeitungen

+

Die nachfolgende Übersicht fasst die Arten der verarbeiteten Daten und die Zwecke ihrer Verarbeitung zusammen und + verweist auf die betroffenen Personen.

+

Arten der verarbeiteten Daten

+ +

Kategorien betroffener Personen

+ +

Zwecke der Verarbeitung

+ +

Maßgebliche Rechtsgrundlagen

+

Im Folgenden erhalten Sie eine Übersicht der Rechtsgrundlagen der DSGVO, auf deren Basis wir personenbezogenen + Daten verarbeiten. Bitte nehmen Sie zur Kenntnis, dass neben den Regelungen der DSGVO nationale Datenschutzvorgaben + in Ihrem bzw. unserem Wohn- oder Sitzland gelten können. Sollten ferner im Einzelfall speziellere Rechtsgrundlagen + maßgeblich sein, teilen wir Ihnen diese in der Datenschutzerklärung mit.

+ +

Nationale Datenschutzregelungen in Deutschland: Zusätzlich zu den Datenschutzregelungen der + Datenschutz-Grundverordnung gelten nationale Regelungen zum Datenschutz in Deutschland. Hierzu gehört + insbesondere das Gesetz zum Schutz vor Missbrauch personenbezogener Daten bei der Datenverarbeitung + (Bundesdatenschutzgesetz – BDSG). Das BDSG enthält insbesondere Spezialregelungen zum Recht auf Auskunft, zum Recht + auf Löschung, zum Widerspruchsrecht, zur Verarbeitung besonderer Kategorien personenbezogener Daten, zur + Verarbeitung für andere Zwecke und zur Übermittlung sowie automatisierten Entscheidungsfindung im Einzelfall + einschließlich Profiling. + Des Weiteren regelt es die Datenverarbeitung für Zwecke des Beschäftigungsverhältnisses (§ 26 BDSG), insbesondere im + Hinblick auf die Begründung, Durchführung oder Beendigung von Beschäftigungsverhältnissen sowie die Einwilligung + von Beschäftigten. Ferner können Landesdatenschutzgesetze der einzelnen Bundesländer zur Anwendung gelangen.

+

Sicherheitsmaßnahmen

+

Wir treffen nach Maßgabe der gesetzlichen Vorgaben unter Berücksichtigung des Stands der Technik, der + Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der + unterschiedlichen Eintrittswahrscheinlichkeiten und des Ausmaßes der Bedrohung der Rechte und Freiheiten + natürlicher Personen geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes + Schutzniveau zu gewährleisten.

+

Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten + durch Kontrolle des physischen und elektronischen Zugangs zu den Daten als auch des sie betreffenden Zugriffs, der + Eingabe, der Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren + eingerichtet, die eine Wahrnehmung von Betroffenenrechten, die Löschung von Daten und Reaktionen auf die + Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der + Entwicklung bzw. Auswahl von Hardware, Software sowie Verfahren entsprechend dem Prinzip des Datenschutzes, durch + Technikgestaltung und durch datenschutzfreundliche Voreinstellungen.

+

Übermittlung von personenbezogenen Daten

+

Im Rahmen unserer Verarbeitung von personenbezogenen Daten kommt es vor, dass die Daten an andere Stellen, + Unternehmen, rechtlich selbstständige Organisationseinheiten oder Personen übermittelt oder sie ihnen gegenüber + offengelegt werden. Zu den Empfängern dieser Daten können z.B. mit IT-Aufgaben beauftragte Dienstleister oder + Anbieter von Diensten und Inhalten, die in eine Webseite eingebunden werden, gehören. In solchen Fall beachten + wir die gesetzlichen Vorgaben und schließen insbesondere entsprechende Verträge bzw. Vereinbarungen, die dem Schutz + Ihrer Daten dienen, mit den Empfängern Ihrer Daten ab.

+

Datenverarbeitung in Drittländern

+

Sofern wir Daten in einem Drittland (d.h., außerhalb der Europäischen Union (EU), des Europäischen + Wirtschaftsraums (EWR)) verarbeiten oder die Verarbeitung im Rahmen der Inanspruchnahme von Diensten Dritter oder + der Offenlegung bzw. Übermittlung von Daten an andere Personen, Stellen oder Unternehmen stattfindet, erfolgt dies + nur im Einklang mit den gesetzlichen Vorgaben.

+

Vorbehaltlich ausdrücklicher Einwilligung oder vertraglich oder gesetzlich erforderlicher Übermittlung + verarbeiten oder lassen wir die Daten nur in Drittländern mit einem anerkannten Datenschutzniveau, vertraglichen + Verpflichtung durch sogenannte Standardschutzklauseln der EU-Kommission, beim Vorliegen von Zertifizierungen oder + verbindlicher internen Datenschutzvorschriften verarbeiten (Art. 44 bis 49 DSGVO, Informationsseite der + EU-Kommission: https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection_de). +

+

Bereitstellung des Onlineangebotes

+

Das Onlineangebote wird auf Servern von Prospect One (Karmelicka 5/5, Krakow, 31-133, Polen) betrieben. Wir + verweisen + auf die entsprechende Datenschutzerklärung +

+

+ Wir verwenden Github für die Bereitstellung der Sponsoring Funktion sowie für die Generierung des Login Tokens. + Wir verweisen auf die entsprechende Datenschutzerklärung +

+

Löschung von Daten

+

Die von uns verarbeiteten Daten werden nach Maßgabe der gesetzlichen Vorgaben gelöscht, sobald deren zur + Verarbeitung erlaubten Einwilligungen widerrufen werden oder sonstige Erlaubnisse entfallen (z.B., wenn der Zweck + der Verarbeitung dieser Daten entfallen ist oder sie für den Zweck nicht erforderlich sind).

+

Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, + wird deren Verarbeitung auf diese Zwecke beschränkt. D.h., die Daten werden gesperrt und nicht für andere Zwecke + verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen + oder deren Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der + Rechte einer anderen natürlichen oder juristischen Person erforderlich ist.

+

Unsere Datenschutzhinweise können ferner weitere Angaben zu der Aufbewahrung und Löschung von Daten beinhalten, + die für die jeweiligen Verarbeitungen vorrangig gelten.

+

Änderung und Aktualisierung der Datenschutzerklärung

+

Wir bitten Sie, sich regelmäßig über den Inhalt unserer Datenschutzerklärung zu informieren. Wir passen die + Datenschutzerklärung an, sobald die Änderungen der von uns durchgeführten Datenverarbeitungen dies erforderlich + machen. Wir informieren Sie, sobald durch die Änderungen eine Mitwirkungshandlung Ihrerseits (z.B. Einwilligung) + oder eine sonstige individuelle Benachrichtigung erforderlich wird.

+

Sofern wir in dieser Datenschutzerklärung Adressen und Kontaktinformationen von Unternehmen und Organisationen + angeben, bitten wir zu beachten, dass die Adressen sich über die Zeit ändern können und bitten die Angaben vor + Kontaktaufnahme zu prüfen.

+

Rechte der betroffenen Personen

+

Ihnen stehen als Betroffene nach der DSGVO verschiedene Rechte zu, die sich insbesondere aus Art. 15 bis 21 DSGVO + ergeben:

+ +

Begriffsdefinitionen

+

In diesem Abschnitt erhalten Sie eine Übersicht über die in dieser Datenschutzerklärung verwendeten + Begrifflichkeiten. Viele der Begriffe sind dem Gesetz entnommen und vor allem im Art. 4 DSGVO definiert. Die + gesetzlichen Definitionen sind verbindlich. Die nachfolgenden Erläuterungen sollen dagegen vor allem dem + Verständnis dienen. Die Begriffe sind alphabetisch sortiert.

+ +

Erstellt mit kostenlosem Datenschutz-Generator.de von Dr. Thomas + Schwenke +

+ + + diff --git a/soc/server/ui/ui.go b/soc/server/ui/ui.go index dd4fb5fa2..554e6da68 100644 --- a/soc/server/ui/ui.go +++ b/soc/server/ui/ui.go @@ -24,6 +24,9 @@ import ( //go:embed index.html var indexHtml string +//go:embed privacy.html +var privacyHtml string + var ( // login ui and callback redirectURL = util.Getenv("REDIRECT_URL") @@ -37,7 +40,7 @@ var ( ) var ( - indexTpl *template.Template + indexTpl, privacyTpl *template.Template oauthState = randomString() oauthConfig *oauth2.Config @@ -71,6 +74,7 @@ func init() { } indexTpl = template.Must(template.New("index").Parse(indexHtml)) + privacyTpl = template.Must(template.New("privacy").Parse(privacyHtml)) } func randomString() string { @@ -85,20 +89,11 @@ func randomString() string { } func handleMain(w http.ResponseWriter, r *http.Request) { - _ = indexTpl.Execute(w, map[string]interface{}{ - "Content": template.HTML(` -

Willkommen

-

- evcc cloud erfordert eine einmalige Anmeldung um evcc cloud mit dem Github Konto des evcc Sponsors zu - verknüpfen. Mit der Verknüpfung wird das Registrierungstoken erzeugt. -

-

- Die evcc cloud speichert keine Benutzerdaten. Alle Daten werden weiterhin lokal verarbeitet. -

-

- Anmelden -

`), - }) + _ = indexTpl.Execute(w, nil) +} + +func handlePrivacy(w http.ResponseWriter, r *http.Request) { + _ = privacyTpl.Execute(w, nil) } func templateError(w http.ResponseWriter, r *http.Request, err string) { @@ -140,7 +135,7 @@ func handleCallback(w http.ResponseWriter, r *http.Request) { _ = indexTpl.Execute(w, map[string]interface{}{ "Content": template.HTML(`

Inaktiv

-

Github Sponsorship für evcc ist inaktiv. Um evcc cloud zu nutzen, ist es notwendig, evcc zu unterstützen.

+

Github Sponsorship für evcc ist inaktiv. Um erweiterte Funktionen zu nutzen, ist es notwendig, evcc zu unterstützen.

evcc bei Github unterstützen.

`), }) return @@ -155,7 +150,7 @@ func handleCallback(w http.ResponseWriter, r *http.Request) { _ = indexTpl.Execute(w, map[string]interface{}{ "Content": template.HTML(fmt.Sprintf(`

Aktiv

-

Github Sponsorship für evcc ist aktiv. Der folgende Token kann für den Zugriff auf evcc cloud genutzt werden.

+

Github Sponsorship für evcc ist aktiv. Das folgende Registrierungstoken kann für den Zugriff auf evcc genutzt werden.

Der Code ist %d Tage gültig und kann jederzeit neu erzeugt werden.

`+jwt+`

`, auth.TokenExpiry), )}) @@ -207,6 +202,7 @@ func getUserInfo(state string, code string) (*User, error) { func Run() { mux := &http.ServeMux{} mux.HandleFunc("/", handleMain) + mux.HandleFunc("/privacy", handlePrivacy) mux.HandleFunc("/login", handleLogin) mux.HandleFunc("/callback", handleCallback)