Source: https://www.provectus.de/citrix-storefront-customization-sdk-oder-ich-sehe-was-was-du-nicht-siehst/
Timestamp: 2019-01-18 17:09:29+00:00

Document:
Provectus Technologies GmbH :: Citrix StoreFront Customization SDK – Oder: Ich sehe was, was du nicht siehst
Provectus Website
20 Dec Citrix StoreFront Customization SDK – Oder: Ich sehe was, was du nicht siehst
by Peter Grubmair
Konsolidierung, Security Vorgaben und User Experience sind die aktuellen Schlagwörter, die wir mit unseren Citrix StoreFront Migrationen verbinden. Und erfahrungsgemäß sind die Security Vorgaben nicht zu unterschätzen. In unserem Fall hatten wir folgende Aufgabenstellung zu lösen:
Anwender Max Mustermann darf über das Portal Citrix-Store-Intern die Anwendungen App1 und WebApp2 nutzen. Sobald der Anwender Max Mustermann aber über das Internetportal Citrix-Store-WWW zugreift, darf er WebApp2 nicht mehr nutzen und soll sie somit auch gar nicht mehr sehen.
Diese Anforderung hört sich im ersten Schritt nicht problematisch an. Wenn Du noch XenApp im Einsatz hast, dann hast Du jetzt auch gewonnen. Doch unter XenDesktop schaut das etwas anders aus!
Mit XenApp hatten wir noch die Möglichkeit, die Access Gateway Filter explizit auf der Anwendungsebene setzen zu können. Nach der Umstellung auf XenDesktop ist die Zugriffssteuerung pro Applikation/Desktop jedoch nicht mehr möglich. Das Konzept von Citrix zielt hier (bisher) nur auf Delivery Group Ebene.
Idee: Das einfachste wäre wohl, pro Portal bzw. Store die Anwendungen über eine eigene Delivery Group bereitzustellen.
Gegenargument: Bei größeren Umgebungen wird das schnell unübersichtlich, erhöhter administrativer Aufwand und Dateninkonsistenz. Virtuelle Desktops?
Idee: Anpassen der XenDesktop Entitlement Policy per PowerShell, zum setzen von einfachen Filtern oder Keywords (Get-/ Set-BrokerEntitlementPolicyRule).
Gegenargument: Für einen globalen Einsatz in größeren Umgebungen nur begrenzt geeignet. Nicht über die Citrix Management Konsole administrierbar, nur per PowerShell Kommando. Nicht für Virtuelle Desktops geeignet.
Idee: Einsatz eines sogenannten Show Filters, der auf Anwendungsebene und auch für Desktops gesetzt werden kann. Die Anzeige wird im jeweiligen Store gesteuert.
Gegenargument: Aufwand für die Umsetzung und Pflege der Show Filter Tags auf Anwendungsebene.
Lösung 1 und 2 kommen für uns nicht in Frage, da wir auch die Anzeige von VDI Desktops steuern möchten.
Idee 3, der Einsatz von Show Filter Tags kann mit dem Citrix StoreFront Customization SDK relativ gut umgesetzt werden.
Doch was macht dieses Customization SDK überhaupt?
Kurzfassung: Das SDK erlaubt es uns, den XML Datenstrom des Anwenders, welcher vom Delivery Controller an das StoreFront geschickt wird „aufzubrechen“ und zu manipulieren.
Kling kompliziert? Keineswegs!
Der XML Datenstrom unter der Lupe:
Für unseren Zweck ist der <summary> Bereich interessant. Hier findest Du den Filter Tag, welchen wir in der Anwendung hinterlegt haben.
Der XML Datenstrom unter der Lupe
<resource> <id>XD_XXXXXX.WinSCP $XXXX-XX-XXXXXXXX-XXXX</id> <link> <url>https://sf-url-int.XXXXXXXXXXX.de/Citrix/XXXXXXXXXXXXXXXXXXXXXXXXXXXX</url> </link> <title>WinSCP</title> <summary>#Show_WI_CitrixStore-intern#<summary> <path>\</path> <resourcetype>Citrix.MPS.Application</resourcetype> <rade> <licenseType>online</licenseType> <offlineMode>none</offlineMode> </rade> <enabled>true</enabled> <launchica> <url>https://sf-url-int.XXXXXXXX.com/Citrix/XXXXXXX/launch/ica</url> </launchica> <image> <url> https://sf-url-int.XXXXXXXX.com/Citrix/XXXXXXXXXXXXXXXXXXXXXXXXXX/image</url> </image> <imagehash>XXXXXXXXXXXXXXXXXXXXXXXXXXX</imagehash> <desktopinfo> <assignmenttype>assign-on-first-use</assignmenttype> </desktopinfo> <assigndesktop> <url> https://sf-url-int.XXXXXXX.com/Citrix/XXXXXXXXXXXXXXXXXXXXXX/assigndesktop</url> </assigndesktop> <aggregatedresource>false</aggregatedresource> <publisherresourceid>WinSCP $AXXX-XX-XXXXXXXX-XXXX</publisherresourceid> <mandatory>true</mandatory> <d1p1:subscriptionstatus>subscribed</d1p1:subscriptionstatus> <d1p1:subscriptionid>Citrix.WinSCP $AXXX-XX-XXXXXXXX-0001</d1p1:subscriptionid> <d1p1:subscriptiondata /> </resource>
<id>XD_XXXXXX.WinSCP $XXXX-XX-XXXXXXXX-XXXX</id>
<url>https://sf-url-int.XXXXXXXXXXX.de/Citrix/XXXXXXXXXXXXXXXXXXXXXXXXXXXX</url>
<title>WinSCP</title>
<summary>#Show_WI_CitrixStore-intern#<summary>
<path>\</path>
<resourcetype>Citrix.MPS.Application</resourcetype>
<rade>
<licenseType>online</licenseType>
<offlineMode>none</offlineMode>
</rade>
<launchica>
<url>https://sf-url-int.XXXXXXXX.com/Citrix/XXXXXXX/launch/ica</url>
</launchica>
<url> https://sf-url-int.XXXXXXXX.com/Citrix/XXXXXXXXXXXXXXXXXXXXXXXXXX/image</url>
<imagehash>XXXXXXXXXXXXXXXXXXXXXXXXXXX</imagehash>
<desktopinfo>
<assignmenttype>assign-on-first-use</assignmenttype>
</desktopinfo>
<assigndesktop>
<url> https://sf-url-int.XXXXXXX.com/Citrix/XXXXXXXXXXXXXXXXXXXXXX/assigndesktop</url>
</assigndesktop>
<aggregatedresource>false</aggregatedresource>
<publisherresourceid>WinSCP $AXXX-XX-XXXXXXXX-XXXX</publisherresourceid>
<d1p1:subscriptionstatus>subscribed</d1p1:subscriptionstatus>
<d1p1:subscriptionid>Citrix.WinSCP $AXXX-XX-XXXXXXXX-0001</d1p1:subscriptionid>
<d1p1:subscriptiondata />
Hier der entsprechende Filter Tag in den Application Settings:
So viel zur Theorie, los geht’s mit der Umsetzung…
Das brauchst Du bevor es losgehen kann:
Microsoft Visual Studio (C#)
Citrix StoreFront Store Customization SDK
Ist Dein Visual Studio startklar? Los gehts …
Der ganze Zauber steckt in einer kleinen DLL Datei, die wir für unsere Anforderungen entsprechend anpassen und kompilieren müssen, damit unser Store damit arbeiten kann.
Im entpackten SDK Verzeichnis findest du den Ordner: Solution, welcher bereits verschiedene VS Projekte beinhaltet.
Für unsere Zwecke nehmen wir das Projekt Customization_Enumeration (Doppelklick auf die .csproj Datei).
Tipp: Um die Konfiguration der Filter Tags für den Store zu vereinfachen, habe ich mir noch eine Konfigurationsdatei erstellt (StoreCustomization_Enumeration.dll.config).
Hier kann ganz einfach der Filter Tag für das Portal hinterlegt werden, was ein Anpassen oder Kompilieren der DLL für die verschiedenen Stores überflüssig macht!
ShowFilter
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="XD_ShowFilter" value="" /> <add key="XA_ShowFilter" value="#Show-WI-CitrixStore-intern#"/> </appSettings> </configuration>
<add key="XD_ShowFilter" value="" />
<add key="XA_ShowFilter" value="#Show-WI-CitrixStore-intern#"/>
Was ich besonders gut finde, dass im Solutions Ordner auch Examples mitgeliefert werden. Somit kann man sich die benötigten Code-Schnipsel sehr gut zusammensammeln 😉
Wie müssen wir nun vorgehen?
“Aufbrechen” des XML-Datenstroms
Filtern der Daten
Anpassen der Daten
Neuen XML-Datenstrom erzeugen
XML-Serialisierung – „Aufbrechen“ des XML Datenstrom
Einfach, praktisch, gut – Die Microsoft XML.Serialization Klasse.
Objekt erstellen using System.Xml.Serialization; XmlSerializer resourcesSerializer = new XmlSerializer(typeof(resources)); XML Datenstrom lesbar machen resources sRes = Deserialize<resources>(valueToModify, resourcesSerializer); Die XML Daten sind nun über das Objekt resources sRes Verfügbar.
Objekt erstellen
XmlSerializer resourcesSerializer = new XmlSerializer(typeof(resources));
XML Datenstrom lesbar machen
resources sRes = Deserialize<resources>(valueToModify, resourcesSerializer);
Die XML Daten sind nun über das Objekt resources sRes Verfügbar.
Um die Anwendungen die wir ausgeben lassen wollen zu sammeln, erstellen wir uns noch schnell eine Liste…
var editres = new List<resourceType>();
I love Foreach – Filtern der Daten
Hübsch verpackt haben wir ein Objekt mit unseren XML Daten, welches wir nach unserer Show Filter Tag durchsuchen möchten.
foreach (resourceType r in sRes.resource){ resourceType x = r; // only preserve resources in the list is we get a “true” return from the customisation method if (FixupResourceForPortalFilter(ref x, stXA_ShowFilter)) { editres.Add(x); } } Der stXA_ShowFilter beinhaltet den ShowFilter Tag aus unserer StoreCustomization_Enumeration.dll.config.
foreach (resourceType r in sRes.resource){
resourceType x = r;
// only preserve resources in the list is we get a “true” return from the customisation method
if (FixupResourceForPortalFilter(ref x, stXA_ShowFilter))
editres.Add(x);
Der stXA_ShowFilter beinhaltet den ShowFilter Tag aus unserer
StoreCustomization_Enumeration.dll.config.
Rein oder raus – Anpassen der Daten
Mit der kleinen Funktion wird der #Tag geprüft:
private static bool FixupResourceForPortalFilter(ref resourceType r, String stFilter) { bool resourceRemoved = false; if (r.summary.ToLower().Contains(stFilter.ToLower())) { Tracer.TraceInfo(r.title + " is a valid Application..."); } else { Tracer.TraceInfo(r.summary.ToString()); Tracer.TraceInfo("Filter is not compatibly for: " + r.title); resourceRemoved = true; if (resourceRemoved) { return false; } return true; }
private static bool FixupResourceForPortalFilter(ref resourceType r, String stFilter)
bool resourceRemoved = false;
if (r.summary.ToLower().Contains(stFilter.ToLower()))
Tracer.TraceInfo(r.title + " is a valid Application...");
Tracer.TraceInfo(r.summary.ToString());
Tracer.TraceInfo("Filter is not compatibly for: " + r.title);
resourceRemoved = true;
if (resourceRemoved)
Gibt unsere Funktion ein “true” zurück, wird der Datensatz in unsere Liste der gültigen Anwendungen aufgenommen.
Husch, husch ins Körbchen – Neuen Datenstrom erzeugen
// Back into the resource object with the data from our list. sRes.resource = editres.ToArray(); //Serialize string newResDoc = Serialize(sRes, resourcesSerializer); // Return the modified XML for further use. return newResDoc;
// Back into the resource object with the data from our list.
sRes.resource = editres.ToArray();
string newResDoc = Serialize(sRes, resourcesSerializer);
// Return the modified XML for further use.
return newResDoc;
Das wars… newResDoc beinhaltet nur die Daten bzw. Anwendungen die einen ShowFilter haben und im StoreFront angezeigt werden sollen!
Auf die Plätze, fertig…. Kompilieren
Nach dem das Projekt kompiliert ist, musst du die beiden Dateien in deinen Store kopieren.
Achtung: Der Name der DLL darf nicht geändert werden!
Im IIS noch einen Restart des Stores durchgeführt und schon ist unsere DLL einsatzbereit.
Kleiner Tipp am Ende: Solltest du Probleme haben, findest du im SDK Ordner unter Documentation den SDK Guide (store-customization-guide.pdf).
Hier wird beschrieben wie du das Tracing für einen bestimmten Store aktivieren kannst, was die Problemanalyse extrem vereinfachen kann!
Waren die Informationen für dich hilfreich? Lass mir ein Kommentar da!
Du hast eine Frage? Ab in die Kommentare damit!
Beispieldatei Download: EnumerationResultModifier.cs
XenApp (9)
XenMobile (8)
Netscaler / Repeater (29)
Mobile Device Managament
NitroAPI
vSmartCard
Provectus Technologies GmbH
Leopoldstr. 250b, 80807 München, Deutschland
info@provectus.de
+49 (89) 7104092 0
+49 (89) 7104092 99
www.provectus.de
Christian Jupe, Josef Lang
HRB München 137 348
Ust.-IdNr.: DE215536983
Provectus Technologies GmbH ist haftpflichtversichert über:
Luisenstr. 14, 80333 München, Deutschland
+49 89 89 08 31 650
+49 89 89 08 31 699
Es besteht weltweiter Versicherungsschutz mit folgender Ausnahmeregelung für USA und Kanada.
Für Personen- und Sachschäden besteht für Ansprüche, die vor Gerichten der USA oder Kanadas geltend gemacht werden oder auf der Verletzung des Rechts dieser Staaten beruhen, Versicherungsschutz nur in folgenden Fällen:
bei der Teilnahme an oder der Durchführung von Geschäftsreisen.
bei der Teilnahme an Messen, Ausstellungen oder Veranstaltungen.
für indirekte Exporte von Produkten oder Dienstleistungen nach USA oder Kanada (ein indirekter Export liegt dann vor, wenn Produkte oder Dienstleistungen in die USA oder Kanada gelangt sind, ohne dass der Versicherungsnehmer oder mitversicherte Personen dies veranlasst haben).
Partnerschaft, Zuverlässigkeit, Integrität, Offenheit und Nachhaltigkeit sind zentrale Werte unserer Unternehmenskultur. Als Unternehmen steht es für uns im Vordergrund, im täglichen Geschäftsleben fair und ethisch korrekt zu arbeiten und bestehende Gesetze einzuhalten. Gleiches erwarten wir auch von unseren Kunden, Beratern, Lieferanten und Dienstleistern. Unsere Richtlinien und Prinzipien haben wir aus diesem Grund in unserem Verhaltenskodex festgelegt.
1 - Rahmenbedingungen der Verarbeitung
Wer ist verantwortliche Stelle?
Geschäftsführer: Christian Jupe, Josef Lang
Datenschutzbeauftragter der Provectus Technologies GmbH
Potsdamer Str. 3, 80802 München, Deutschland
datenschutz@provectus.de
Datenerhebung und -verarbeitung bei Aufruf unserer Webseite
Zweck und Rechtsgrundlage: Bei der bloß informatorischen Nutzung unserer Website, d.h. wenn Sie nicht das Kontaktformular nutzen oder uns auf andere Weise Informationen übermitteln, erheben wir folgende Daten, die Ihr Browser an unseren Server übermittelt (sog. "Server-Logfiles")
Die Verarbeitung erfolgt gemäß Art. 6 Abs. 1 lit. f DSGVO auf Basis unseres berechtigten Interesses an der Erhaltung der Stabilität und Funktionalität unserer Website.
Speicherdauer: Die erhobenen Daten werden nach Abschluss Ihrer Session gelöscht.
Bereitstellung vorgeschrieben oder erforderlich: Die Bereitstellung der vorgenannten personenbezogenen Daten ist weder gesetzlich, noch vertraglich vorgeschrieben. Ohne die IP-Adresse ist jedoch der Dienst und die Funktionsfähigkeit unserer Website nicht gewährleistet.
Zweck und Rechtsgrundlage: Die von Ihnen eingegebenen Daten werden zum Zweck der individuellen Kommunikation mit Ihnen gespeichert.
Die Verarbeitung der in das Kontaktformular eingegebenen Daten erfolgt auf der Grundlage unseres berechtigten Interesses (Art 6 Abs. 1 lit. f DSGVO).
Speicherdauer: Ihre Daten werden nach Bearbeitung Ihrer Anfrage gelöscht, sofern die vorvertragliche Phase endet und kein vertragliches Verhältnis entsteht. Gesetzliche Aufbewahrungsfristen und berechtigte Interessen bleiben unberührt.
Bereitstellung vorgeschrieben oder erforderlich: Die Bereitstellung der vorgenannten personenbezogenen Daten ist weder gesetzlich, noch vertraglich vorgeschrieben. Ohne Ihre Kontaktinformationen ist Kommunikation jedoch nicht möglich.
Zweck und Rechtsgrundlage: Die von Ihnen eingegebenen Daten werden zum Zweck des Kundenaustauschs gespeichert.
Die Verarbeitung der eingegebenen Daten erfolgt auf der Grundlage Ihrer Einwilligung, die Sie mittels Kommentarbereitstellung erteilen (Art 6 Abs. 1 lit. a DSGVO).
Speicherdauer: Ihre Daten werden bis zum Widerruf Ihrer Einwilligung gespeichert.
Bereitstellung vorgeschrieben oder erforderlich: Die Bereitstellung der vorgenannten personenbezogenen Daten ist weder gesetzlich, noch vertraglich vorgeschrieben und rein freiwillig.
Zweck und Rechtsgrundlage: Die Internetseiten setzen zum Teil so genannte Cookies ein.
Cookies, die zur Durchführung des elektronischen Kommunikationsvorgangs oder zur Bereitstellung bestimmter, von Ihnen gewünschter Funktionen erforderlich sind, werden auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO gespeichert. Der Websitebetreiber hat ein berechtigtes Interesse an der Speicherung von Cookies zur fehlerlosen und optimierten Bereitstellung seiner Webseite. Insofern andere Cookies (z.B. Cookies zur Analyse Ihres Surfverhaltens) gespeichert werden, werden diese in dieser Datenschutzerklärung gesondert behandelt.
Speicherdauer: Die meisten der von uns verwendeten Cookies sind so genannte “Session-Cookies”. Sie werden nach Ende Ihres Besuchs automatisch gelöscht. Andere Cookies bleiben auf Ihrem Endgerät gespeichert bis Sie diese löschen. Diese Cookies ermöglichen es uns, Ihren Browser beim nächsten Besuch wiederzuerkennen.
Bereitstellung vorgeschrieben oder erforderlich: Die Bereitstellung der vorgenannten personenbezogenen Daten ist weder gesetzlich, noch vertraglich vorgeschrieben. Bei der Deaktivierung von Cookies kann die Funktionalität dieser Website allerdings eingeschränkt sein.
Zweck und Rechtsgrundlage: Auf unserer Website kommen sog. Tracking-, bzw. Webanalyse-Tools zum Einsatz. Mit Hilfe der Webanalyse erhalten wir Informationen über Besucherverhalten auf unserer Website, z.B. zur Herkunft der Besucher, aufgerufenen Inhalten oder zur Verweildauer. Anhand dieser Informationen können wir Schwachstellen der Website herausfinden und deren Effizienz verbessern.
Rechtsgrundlage für diese Verarbeitungen ist Ihre Einwilligung, Art. 6 Abs. 1 lit. a DSGVO.
Hinweise zur Verarbeitung Ihrer Nutzungsdaten und Opt-out bezüglich Google Analytics: Diese Website benutzt Google Analytics, einen Webanalysedienst der Google Inc. („Google”). Google Analytics verwendet sog. „Cookies”, Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert. Grundsätzlich werden auf unserer Webseite IP-Adressen durch Google mittels Kürzung automatisch anonymisiert. Nur in Ausnahmefällen werden IP-Adressen an Server von Google in den USA übertragen und dort durch Kürzung anonymisiert. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt. Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das verfügbare Browser-Plugin herunterladen und installieren: Browser Add-On zur Deaktivierung von Google Analytics.
Empfänger der Daten: Der Anbieter Google Analytics verarbeitet in unserem Auftrag die Zugriffsdaten zum Zwecke der Nutzeranalyse und statistischen Aufbereitung. Hierfür haben wir mit dem Anbieter einen entsprechenden Auftragsverarbeitungsvertrag abgeschlossen.
Speicherdauer: Cookies werden entweder nur für die Session oder bis zu zwei Jahre auf Ihrem Endgerät gespeichert. Sie können Cookies mittels Ihren Browsereinstellungen entfernen.
Drittlandtransfer: Die durch das Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.
Wir dürfen nur Daten an Dienstleister in einem Drittland übermitteln, sofern geeignete Garantien vorgesehen sind (Standarddatenschutzklauseln, die von der Kommission oder der Aufsichtsbehörde in einem bestimmten Verfahren angenommen werden) und durchsetzbare Rechte und wirksame Rechtsbehelfe zur Verfügung stehen.
Widerruf der Einwilligung: Der Widerruf kann mittels Opt-out bezüglich Google Analytics vollzogen werden. Rufen Sie hierzu die "Cookie Info" erneut auf (ganz untern am Ende dieser Website) und deaktivieren Sie das Kontrollkästchen "Cookie für anonymisiertes Tracking". Alternativ dazu können Sie uns kontaktieren um Hilfestellung zu erhalten.
Profiling: Mit Hilfe der Tracking-Tools können das Verhalten der Besucher der Webseite bewertet und die Interessen analysiert werden. Hierzu erstellen wir ein pseudonymes Nutzerprofil.
Diese Webseite verwendet Google Maps API um geographische Informationen visuell darzustellen. Bei der Nutzung von Google Maps werden von Google auch Daten über die Nutzung der Kartenfunktionen durch Besucher erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch Google können Sie den Google-Datenschutzhinweisen entnehmen. Dort können Sie im Datenschutzcenter auch Ihre persönlichen Datenschutz-Einstellungen verändern.
Wenn Sie in Ihrem Google-Konto eingeloggt sind, ermöglichen Sie Google Maps, Ihr Surfverhalten direkt Ihrem persönlichen Profil zuzuordnen. Dies können Sie verhindern, indem Sie sich aus Ihrem Google-Account ausloggen. Mit der Nutzung von Google Maps akzeptieren Sie die Google Maps-Nutzungsbedingungen. Sie können eine Löschung der durch Google erhobenen Daten und andere Datenschutz-Einstellungen in Ihrem Google-Konto vornehmen. Wir weisen darauf hin, dass wir als Anbieter der Seiten keine Kenntnis vom Inhalt der erhobenen Daten sowie deren Nutzung durch Google Maps erhalten.
Weitere Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzerklärung von Google Maps unter: https://policies.google.com/privacy?hl=de
Diese Webseite verwendet Facebook-, Twitter-, Xing-, und LinkedIn-Links, um Ihnen den Besuch unserer Firmenseiten zu ermöglichen. Bei der Weiterleitung auf entsprechende Social Media Seiten werden Daten über die Nutzung durch Besucher erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch die Anbieter können Sie folgenden Datenschutzhinweisen entnehmen:
Wir weisen darauf hin, dass wir keine Kenntnis von der Datenverarbeitung durch die sozialen Netzwerke haben.
Zweck und Rechtsgrundlage: Zur Wahrung der Datensicherheit bei der Übermittlung von Formularen, verwenden wir den Service reCAPTCHA des Unternehmens Google Inc. Der Einsatz ermöglicht die Unterscheidung, ob eine Eingabe durch natürliche Personen erfolgt oder unautorisiert durch maschinelle und automatisierte Mittel. Ihre IP-Adresse wird auf Grundlage des berechtigten Interesses der Aufrechterhaltung unseres Online-Angebots gemäß Art. 6 Abs. 1 lit. f DSGVO gespeichert und von Google Inc. verarbeitet.
Empfänger der Daten: Google Inc. wird als unser Auftragsverarbeiter tätig.
Speicherdauer: Die Speicherdauer richtet sich nach den von Google eingerichteten Fristen. Die durch Google reCAPTCHA platzierten Cookies auf Ihrem Computer können eine Laufzeit von bis zu vier Jahren haben. Deshalb raten wir Ihnen regelmäßig Cookies in Ihrem Browser zu entfernen. Mehr Informationen zu Google’s Umgang mit Ihren Daten finden Sie unter https://policies.google.com/privacy?hl=de.
Drittlandtransfer: Die erzeugten Informationen inklusive Ihrer IP-Adresse werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.
Wir dürfen nur Daten an Dienstleister in einem Drittland übermitteln, sofern geeignete Garantien vorgesehen sind (z.B. Standarddatenschutzklauseln, die von der Kommission oder der Aufsichtsbehörde in einem bestimmten Verfahren angenommen werden) und durchsetzbare Rechte und wirksame Rechtsbehelfe zur Verfügung stehen.
Bereitstellung vorgeschrieben oder erforderlich: Die Bereitstellung der vorgenannten personenbezogenen Daten ist erforderlich um vorvertragliche und vertragliche Maßnahmen einzuleiten. Anderenfalls werden wir Ihr Ersuchen ablehnen.
2 - Betroffenenrechte und Beschwerde und Widerspruch
Jede betroffene Person hat das Recht auf Auskunft nach Art. 15 DSGVO, das Recht auf Berichtigung nach Art. 16 DSGVO, das Recht auf Löschung nach Art. 17 DSGVO, das Recht auf Einschränkung der Verarbeitung nach Art. 18 DSGVO, das Recht auf Widerspruch aus Art. 21 DSGVO sowie das Recht auf Datenübertragbarkeit aus Art. 20 DSGVO.
Darüber hinaus besteht ein Beschwerderecht bei einer zuständigen Datenschutzaufsichtsbehörde (Art. 77 DSGVO i.V.m. § 19 BDSG). Eine Liste der Aufsichtsbehörden (für den nichtöffentlichen Bereich) mit Anschrift finden Sie unter:
Quellen Nachweis
Wenn nicht folgend aufgeführt, wurden Bilder von Unsplash genutzt -> Lizenz
iStockphoto Standard Lizenz:
Titel Bild: MünchenAlpen (184102635)
Cookie-Info anzeigen
© 2018 Provectus Technologies GmbH. All rights reserved.
Cookie-Info für 30 Tage ausblenden
Wir nutzen Cookies um ihren Besuch besser zu machen. Bleiben sie hier, willigen sie der Nutzung von Cookies ein.
Mehr zum Datenschutz finden Sie hier
Cookie für anonymisiertes Tracking

References: Art. 6
 Art. 6
 Art. 6
 Art. 6
 Art. 15
 Art. 16
 Art. 17
 Art. 18
 Art. 21
 Art. 20
 § 19