[{"data":1,"prerenderedAt":1115},["ShallowReactive",2],{"breadcrumb-blog-post":3,"privacy-policy-de":376},{"id":4,"title":5,"author":6,"body":7,"category":362,"date":363,"description":364,"extension":365,"featured":366,"geo":6,"image":211,"manual_override":366,"meta":367,"navigation":368,"path":369,"readTime":370,"schema":6,"section_hashes":6,"seo":371,"sitemap":372,"source_hash":6,"source_locale":6,"stem":373,"tier":374,"tier_1_approved":366,"tier_1_approved_at":6,"tier_1_approved_by":6,"tier_1_deadline":6,"tier_1_reviewer":6,"translated_at":6,"translated_from_hash":6,"translation_model":6,"translation_provider":6,"translation_status":6,"__hash__":375},"blog/blog/2022-03-01-kubernetes-workflows.md","Advantage of layline.io Workflows compared to traditional Microservices using the K8S/Docker model",null,{"type":8,"value":9,"toc":343},"minimark",[10,14,19,24,39,42,46,52,55,59,62,65,72,75,81,84,88,91,94,98,102,108,114,121,127,134,140,143,149,152,155,161,165,168,174,177,181,184,187,190,196,200,203,206,212,215,219,286,289,292,307,311],[11,12,13],"p",{},"The traditional Microservices model on Kubernetes/Docker has some disadvantages which result in overly complex management and resource consumption. In this article we explain how layline.io embraces container and container orchestration technology, while helping to resolve the aforementioned challenges with a better approach.",[15,16,18],"h2",{"id":17},"quick-explainer-kubernetes-k8s-docker","Quick explainer: Kubernetes (K8S) & Docker",[20,21,23],"h3",{"id":22},"containers","Containers",[11,25,26,27,30,31,38],{},"Programs running on Kubernetes are packaged into ",[28,29,23],"strong",{},". The advantage being that software and dependencies are packed together. One less thing to worry about and warranting the independence of the Container. There are tons of ready-made Containers downloadable from such portals as ",[32,33,37],"a",{"href":34,"rel":35},"https://hub.docker.com/",[36],"nofollow","DockerHub",", packaging up all sorts software.",[11,40,41],{},"You can in theory pack many programs into one Container, but the recommendation and industry standard is one Container = one Process. This makes everything more granular, and you can replace individual containers (and therefore processes) more easily that way.",[20,43,45],{"id":44},"pods","Pods",[11,47,48,49,51],{},"Containers don't run on their own, but are packaged in yet another \"container\". This time they're called ",[28,50,45],{},". Pods - among other things - manage virtual resources such as network, memory, CPU etc. for the Containers running within them.",[11,53,54],{},"It's important to understand, that you don't assign CPU power to a Container, but to a Pod. Therefore, if you run more than one Container in the same Pod, they all have to share the resources available to the Pod. For the same reasons you should not put more than one program in a Container, you should not put more than one Container in a Pod, unless multiple Containers are required to serve the purpose of the Microservice.",[15,56,58],{"id":57},"resource-issues-when-scaling-in-kubernetes","Resource Issues when Scaling in Kubernetes",[11,60,61],{},"In Kubernetes the currency of scalability is Pods. To have more processing power, you fire up more Pods, also known as replication.",[11,63,64],{},"If you look at this design, a Pod itself is actually pretty static. If you want to adhere to utmost flexibility and be able to replace one program with another, then your Pod contains one Container, which in turn contains one program which will run as one process.",[11,66,67],{},[68,69],"img",{"alt":70,"src":71},"K8S/Docker packaging","/images/blog/2022-03-01/8dfbfcc8.png",[11,73,74],{},"Considering that the actual resources required for the container are configured on Pod-level, the image looks more like this:",[11,76,77],{},[68,78],{"alt":79,"src":80},"K8S/Docker packaging w/ Resources","/images/blog/2022-03-01/161b5fd4.png",[11,82,83],{},"Check out the space marked as \"slack\". When you size the resources for a container, you have to account for some slack in CPU and memory. But because it's almost impossible to exactly determine the necessary resources for one program you end up having some reserve in every pod. If you run 100 of these, the slack adds up 100-fold. There is no resource-sharing between Pods. On top of this there is some overhead for each Pod and Node which gets added to the cluster. So, while overall the concept of K8S is great, it also adds considerable resource overhead overall.",[15,85,87],{"id":86},"distribution-of-containers-within-a-kubernetes-cluster","Distribution of Containers within a Kubernetes Cluster",[11,89,90],{},"Pods are also the smallest denominator to distribute functionality within a Kubernetes Cluster. Let's say you have Microservices A, B and C and you want to distribute them unevenly within a Cluster, you either have individual Pods which each contain either A, B or C, or you have to have a number of Pods to make up all permutations of Pods containing containers A, B and C (e.g. a Pod with A and B, a Pod with A and C, etc.). That's a lot of Pods to manage and can quickly become overwhelming and inefficient.",[11,92,93],{},"Distribution of Pods is then a major configuration challenge within Kubernetes and/or your CI/CD tool of choice. Add to this the management of automated scaling and load balancing between Nodes and you end up having a major setup and monitoring headache.",[15,95,97],{"id":96},"how-laylineio-deals-with-scalability-resources-and-distribution-in-a-kubernetes-cluster","How layline.io deals with scalability, resources, and distribution in a Kubernetes Cluster",[20,99,101],{"id":100},"reactive-engine","Reactive Engine",[11,103,104,105,107],{},"layline.io introduces the ",[28,106,101],{},". The Engine serves as an execution context for Workflows which can be configured to run within a Reactive Engine. Workflows are comparable to Microservices in that they fulfil specific data processing tasks ranging from ingestion, analysis and enrichment as well as responding to query requests etc. Workflows are configured using the web-based Configuration Center:",[11,109,110],{},[68,111],{"alt":112,"src":113},"Configuration Center Workflow setup","/images/blog/2022-03-01/editor_script_01.webp",[11,115,116,117,120],{},"Multiple Reactive Engines form a ",[28,118,119],{},"Reactive Cluster"," of their own. When setting up layline.io in a Cluster environment like Kubernetes, you actually set up a number of Nodes which then run Reactive Engines encapsulated in containers:",[11,122,123],{},[68,124],{"alt":125,"src":126},"Reactive Engines within a Reactive Cluster within a Kubernetes Cluster","/images/blog/2022-03-01/19cc7f90.png",[11,128,129,130,133],{},"All Reactive Engines are created equal. They serve as execution contexts for Workflows. Simplified, you may view Workflows as equivalent to Microservices. The difference being that Workflows are ",[28,131,132],{},"configured"," and therefore a Configuration, and not programmed object code like with typical Microservices.",[11,135,136],{},[68,137],{"alt":138,"src":139},"Zooming in to a Reactive Engine","/images/blog/2022-03-01/f9c28f84.png",[11,141,142],{},"Each Reactive Engine can run different Workflows (A, B and C above). Each Workflow can be dynamically instantiated multiple times. The number of instances is limited by how many resources a single Workflow instance consumes and how much resource is available and assigned to the execution context in which the Reactive Engine itself runs. In a Kubernetes Cluster this would be the image of a respective Pod:",[11,144,145],{},[68,146],{"alt":147,"src":148},"Pod running a Container with a Reactive Engine","/images/blog/2022-03-01/ae038590.png",[11,150,151],{},"Any Reactive Engine can run any Workflow. Workflows are deployed either directly via the Configuration Center or via your preferred CI/CD tool (e.g. Bamboo et al).",[11,153,154],{},"This could result in a setup like this:",[11,156,157],{},[68,158],{"alt":159,"src":160},"Workflow distribution within a Reactive Cluster","/images/blog/2022-03-01/4f40189e.png",[20,162,164],{"id":163},"elastic-scaling","Elastic scaling",[11,166,167],{},"The number of instances of each Workflow can be scaled up and down dynamically, either by manual intervention from the Config Center or command line, or automatically based on data pressure.",[11,169,170],{},[68,171],{"alt":172,"src":173},"Reactive Cluster scaling example","/images/blog/2022-03-01/368f3920.png",[11,175,176],{},"While the standard Kubernetes path to scale by firing up additional Pods remains valid, you can simply fire up additional Workflow instances within a Pod. Note that no additional Pods would be activated in this example, given that each Pod contains enough breathing room to scale. Because everything is scaled within a Reactive Engine, this process is extremely fast and efficient, requiring only few additional resources per instance and no intervention on Kubernetes level.",[20,178,180],{"id":179},"advantage-resources","Advantage Resources",[11,182,183],{},"It makes sense to think, that one will require respective CPU power and RAM regardless of whether you distribute 30 Pods with the same Microservice on three Nodes, or three Reactive Engines with 10 instances of the same Workflow each on three Nodes. But that is not the case.",[11,185,186],{},"Depending on the characteristic of the Microservice which is replaced by a Workflow, you typically save between 25-50% of resources compared to the traditional way of deploying Microservices. It's also true, however, that a Reactive Engine running one Workflow instance only, requires a more resources than a custom Microservice which is only run one time.",[11,188,189],{},"It's a tradeoff between flexibility and resource requirements, which flips quickly to the favor of the layline.io model with the size of your processing scenario.",[11,191,192],{},[68,193],{"alt":194,"src":195},"Resource requirements traditional Microservice vs. layline.io","/images/blog/2022-03-01/0c45546c.png",[20,197,199],{"id":198},"advantage-setup","Advantage Setup",[11,201,202],{},"Setting up layline.io in a Kubernetes/Docker cluster means to deploy the same container on every Node. Each container runs a Reactive Engine and there are no other container types with different content. Just one.",[11,204,205],{},"For a Reactive Engine to know what Workflows to execute, a configuration is injected at runtime. Because all Reactive Engines form a Reactive Cluster of their own, it is enough to inject the Configuration into one Reactive Engine. It is then automatically distributed to all other Engines in the Cluster. Again, this can all be triggered manually or automatically through CI/CD tools.",[11,207,208],{},[68,209],{"alt":210,"src":211},"Deploying workflow configurations into a Reactive Cluster","/images/blog/2022-03-01/e6bd8ff7.png",[11,213,214],{},"So unlike the pure Kubernetes/Docker concept, there is no hassle with different Pods containing different containers which need to be re-built on every change and then managed from a deployment point-of-view. Contrary to Kubernetes you don't have to think about where to run which Pod/Container upfront, or how to shuffle Pods around in case you want to rearrange them. In layline.io you can simply activate a preloaded Workflow in one or more Reactive Engines, or deploy a new Workflow Configuration to the Cluster in order to bring this Workflow online.",[15,216,218],{"id":217},"summary","Summary",[220,221,222,238],"table",{},[223,224,225],"thead",{},[226,227,228,232,235],"tr",{},[229,230,231],"th",{},"Aspect",[229,233,234],{},"Kubernetes/Docker",[229,236,237],{},"layline.io",[239,240,241,253,264,275],"tbody",{},[226,242,243,247,250],{},[244,245,246],"td",{},"Scaling",[244,248,249],{},"Scale via Pods",[244,251,252],{},"Scale within Pod via Workflow instances",[226,254,255,258,261],{},[244,256,257],{},"Scaling reaction time",[244,259,260],{},"medium",[244,262,263],{},"fast",[226,265,266,269,272],{},[244,267,268],{},"Resource consumption",[244,270,271],{},"Better with small scenarios",[244,273,274],{},"Better with medium to large scenarios",[226,276,277,280,283],{},[244,278,279],{},"Setup",[244,281,282],{},"Many different Pods and Containers",[244,284,285],{},"Configurations injected into Reactive Engine",[11,287,288],{},"Kubernetes is great. Period. But there are downsides in complexity and operation.",[11,290,291],{},"layline.io provides a much better and leaner way to not only create and manage Services, but also to manage and distribute them in a Cluster environment. For medium to large scenarios, there is also a significant upside in regard to resource management and consumption.",[11,293,294,295,300,301,306],{},"You can download and use layline.io for free ",[32,296,299],{"href":297,"rel":298},"https://layline.io/download",[36],"here",". If you have any questions about layline.io please don't hesitate to ",[32,302,305],{"href":303,"rel":304},"https://layline.io/resources/contact",[36],"contact us","!",[15,308,310],{"id":309},"resources","Resources",[312,313,314,321,328,336],"ul",{},[315,316,317],"li",{},[32,318,320],{"href":297,"rel":319},[36],"Download layline.io",[315,322,323],{},[32,324,327],{"href":325,"rel":326},"https://layline.io/blog/2022-02-14",[36],"Fixing what's wrong with Microservices",[315,329,330,331,335],{},"Read more about layline.io ",[32,332,299],{"href":333,"rel":334},"https://layline.io/",[36],".",[315,337,338,339,335],{},"Contact us at ",[32,340,342],{"href":341},"mailto:hello@layline.io","hello@layline.io",{"title":344,"searchDepth":345,"depth":345,"links":346},"",2,[347,352,353,354,360,361],{"id":17,"depth":345,"text":18,"children":348},[349,351],{"id":22,"depth":350,"text":23},3,{"id":44,"depth":350,"text":45},{"id":57,"depth":345,"text":58},{"id":86,"depth":345,"text":87},{"id":96,"depth":345,"text":97,"children":355},[356,357,358,359],{"id":100,"depth":350,"text":101},{"id":163,"depth":350,"text":164},{"id":179,"depth":350,"text":180},{"id":198,"depth":350,"text":199},{"id":217,"depth":345,"text":218},{"id":309,"depth":345,"text":310},"Article","2022-03-01","The traditional Microservices model on Kubernetes/Docker has some disadvantages which result in overly complex management and resource consumption. We explain the background and how layline.io can help.","md",false,{},true,"/blog/2022-03-01-kubernetes-workflows","7 min",{"title":5,"description":364},{"loc":369},"blog/2022-03-01-kubernetes-workflows","2","_p7Zhg6sd5sxuu9rv3s1InBcEhBSmmfriDu1Bh3ngi8",{"doc":377,"isFallback":366,"effectiveLocale":1114},{"id":378,"title":379,"body":380,"description":898,"extension":365,"manual_override":366,"meta":899,"navigation":368,"page":902,"path":1084,"section_hashes":1085,"seo":1102,"sitemap":1103,"source_hash":1105,"source_locale":1106,"stem":1107,"tier":1108,"translated_at":1109,"translated_from_hash":1105,"translation_model":1110,"translation_provider":1111,"translation_status":1112,"updatedAt":1104,"__hash__":1113},"legal/legal/de/privacy-policy.md","Datenschutzrichtlinie",{"type":8,"value":381,"toc":868},[382,385,389,392,398,417,421,424,428,446,450,453,457,460,468,472,475,483,487,490,498,502,505,513,517,520,537,540,544,547,573,577,580,618,622,625,675,680,683,687,690,694,697,701,704,708,711,715,718,731,735,738,750,754,757,768,772,775,787,791,794,798,801,804,807,811,814,818,821,824,830,838,842,845,849,852,856],[11,383,384],{},"Diese Datenschutzerklärung erklärt, wie die layline.io GmbH (\"layline.io\", \"wir\", \"uns\" oder \"unser\") Ihre persönlichen Daten sammelt, verwendet und schützt, wenn Sie unsere Website besuchen oder unsere Dienstleistungen nutzen, in Übereinstimmung mit der Datenschutz-Grundverordnung (DSGVO).",[15,386,388],{"id":387},"_1-verantwortlicher","1. Verantwortlicher",[11,390,391],{},"Der Verantwortliche für die Verarbeitung Ihrer personenbezogenen Daten auf dieser Website ist:",[11,393,394,397],{},[28,395,396],{},"layline.io GmbH","\nFlughafenstr. 52a\n22335 Hamburg, Deutschland",[312,399,400,403,406,409,412],{},[315,401,402],{},"Eingetragen beim: Amtsgericht Hamburg, HRB 159256",[315,404,405],{},"Geschäftsführer: Andrew Tan / Stefan Deigmüller",[315,407,408],{},"USt-IdNr.: DE327083403",[315,410,411],{},"Telefon: +49 (40) 5329-9328",[315,413,414,415],{},"E-Mail: ",[32,416,342],{"href":341},[15,418,420],{"id":419},"_2-datenschutzbeauftragter","2. Datenschutzbeauftragter",[11,422,423],{},"Wenn Sie Fragen dazu haben, wie wir mit Ihren personenbezogenen Daten umgehen, können Sie unseren Datenschutzbeauftragten kontaktieren:",[11,425,426,397],{},[28,427,396],{},[312,429,430,433,439],{},[315,431,432],{},"Vertreten durch: Andrew Tan",[315,434,414,435],{},[32,436,438],{"href":437},"mailto:ds@layline.io","ds@layline.io",[315,440,441,442],{},"Website: ",[32,443,444],{"href":444,"rel":445},"https://www.layline.io",[36],[15,447,449],{"id":448},"_3-welche-daten-wir-erfassen","3. Welche Daten wir erfassen",[11,451,452],{},"Wir erfassen und verarbeiten die folgenden Arten von personenbezogenen Daten:",[20,454,456],{"id":455},"_31-server-log-daten","3.1 Server-Log-Daten",[11,458,459],{},"Wenn Sie unsere Website besuchen, sammelt unser Hosting-Anbieter automatisch technische Informationen, einschließlich Ihrer IP-Adresse, des Browsertyps und der Version, des Betriebssystems, der verweisenden URL, der besuchten Seiten sowie Datum und Uhrzeit Ihres Besuchs. Ihre IP-Adresse wird sofort nach der Erfassung gekürzt (anonymisiert) und niemals in vollständiger Form gespeichert.",[312,461,462,465],{},[315,463,464],{},"Rechtsgrundlage: Berechtigtes Interesse (Art. 6(1)(f) DSGVO) zur Gewährleistung der Sicherheit und Funktionalität der Website.",[315,466,467],{},"Speicherdauer: 30 Tage, danach werden die Protokolle automatisch gelöscht.",[20,469,471],{"id":470},"_32-kontaktdaten-aus-formularen","3.2 Kontaktdaten aus Formularen",[11,473,474],{},"Wenn Sie uns über die Formulare auf unserer Website kontaktieren, erfassen wir die von Ihnen bereitgestellten Informationen, wie Ihren Namen, Ihre E-Mail-Adresse, den Firmennamen und den Inhalt Ihrer Nachricht. Wir verwenden diese Daten ausschließlich, um auf Ihre Anfrage zu antworten. Die Bereitstellung dieser Daten ist freiwillig; ohne eine E-Mail-Adresse können wir jedoch nicht auf Ihre Nachricht antworten.",[312,476,477,480],{},[315,478,479],{},"Rechtsgrundlage: Vertragserfüllung oder vorvertragliche Maßnahmen (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO).",[315,481,482],{},"Speicherdauer: Dauer der Geschäftsbeziehung, danach Löschung nach 3 Jahren, sofern keine gesetzlichen Aufbewahrungspflichten bestehen.",[20,484,486],{"id":485},"_33-benutzerkonten-und-datenbankdaten","3.3 Benutzerkonten- und Datenbankdaten",[11,488,489],{},"Wenn Sie ein Benutzerkonto erstellen oder Funktionen nutzen, die eine Authentifizierung erfordern, erfassen und speichern wir Ihre Kontodaten (z. B. E-Mail-Adresse, Name, Firma) in unserer von Supabase, Inc. gehosteten Datenbank. Diese Daten werden verwendet, um Ihnen Zugang zu unseren Diensten zu gewähren und Ihr Konto zu verwalten.",[312,491,492,495],{},[315,493,494],{},"Rechtsgrundlage: Vertragserfüllung (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO) an sicherer Authentifizierung und Kontoverwaltung.",[315,496,497],{},"Speicherdauer: Dauer der Existenz Ihres Kontos; Löschung innerhalb von 30 Tagen nach Schließung des Kontos, sofern keine gesetzlichen Aufbewahrungspflichten bestehen.",[20,499,501],{"id":500},"_34-analysedaten","3.4 Analysedaten",[11,503,504],{},"Mit Ihrer vorherigen, ausdrücklichen Einwilligung erfassen wir anonymisierte Nutzungsdaten über Google Analytics, um zu verstehen, wie Besucher unsere Website nutzen, und um unsere Dienstleistungen zu verbessern. Wir haben die IP-Anonymisierung aktiviert. Sie können Ihre Einwilligung jederzeit über die Cookie-Einstellungen widerrufen.",[312,506,507,510],{},[315,508,509],{},"Rechtsgrundlage: Einwilligung (Art. 6(1)(a) DSGVO).",[315,511,512],{},"Speicherdauer: 14 Monate, danach werden die Daten von Google automatisch gelöscht.",[15,514,516],{"id":515},"_4-wie-wir-ihre-daten-verwenden","4. Wie wir Ihre Daten verwenden",[11,518,519],{},"Wir verwenden Ihre personenbezogenen Daten für folgende Zwecke:",[312,521,522,525,528,531,534],{},[315,523,524],{},"Bereitstellung und Wartung unserer Website",[315,526,527],{},"Beantwortung Ihrer Anfragen und Anliegen",[315,529,530],{},"Analyse der Website-Nutzung und Verbesserung unserer Dienstleistungen (nur mit Ihrer vorherigen Einwilligung)",[315,532,533],{},"Gewährleistung der Sicherheit unserer Website",[315,535,536],{},"Einhaltung gesetzlicher Verpflichtungen",[11,538,539],{},"Wir verwenden Ihre personenbezogenen Daten nicht für automatisierte Entscheidungsfindung oder Profiling im Sinne von Art. 22 DSGVO.",[15,541,543],{"id":542},"_41-rechtsgrundlagen-für-die-verarbeitung","4.1 Rechtsgrundlagen für die Verarbeitung",[11,545,546],{},"Wir verarbeiten personenbezogene Daten auf Grundlage der folgenden Rechtsgrundlagen, abhängig vom Zweck:",[312,548,549,555,561,567],{},[315,550,551,554],{},[28,552,553],{},"Art. 6(1)(a) DSGVO:"," Einwilligung (z. B. Analyse-Cookies)",[315,556,557,560],{},[28,558,559],{},"Art. 6(1)(b) DSGVO:"," Vertragserfüllung oder vorvertragliche Maßnahmen (z. B. Beantwortung von Anfragen, Benutzerkonten)",[315,562,563,566],{},[28,564,565],{},"Art. 6(1)(c) DSGVO:"," Gesetzliche Verpflichtung",[315,568,569,572],{},[28,570,571],{},"Art. 6(1)(f) DSGVO:"," Berechtigte Interessen (z. B. Website-Sicherheit, Betrugsprävention, Service-Verbesserung)",[15,574,576],{"id":575},"_5-datenspeicherung","5. Datenspeicherung",[11,578,579],{},"Wir speichern Ihre personenbezogenen Daten nur so lange, wie es zur Erfüllung der Zwecke, für die sie erhoben wurden, erforderlich ist:",[312,581,582,588,594,600,606,612],{},[315,583,584,587],{},[28,585,586],{},"Server-Logs:"," Löschung nach 30 Tagen",[315,589,590,593],{},[28,591,592],{},"Kontaktdaten aus Formularen:"," Speicherung für die Dauer der Geschäftsbeziehung, danach Löschung nach 3 Jahren, sofern keine gesetzlichen Aufbewahrungspflichten bestehen",[315,595,596,599],{},[28,597,598],{},"Benutzerkontodaten:"," Löschung innerhalb von 30 Tagen nach Schließung des Kontos, sofern keine gesetzlichen Aufbewahrungspflichten bestehen",[315,601,602,605],{},[28,603,604],{},"Analysedaten:"," Automatische Löschung nach 14 Monaten",[315,607,608,611],{},[28,609,610],{},"Cookie-Einwilligungspräferenzen:"," Lokal in Ihrem Browser gespeichert, bis Sie Ihre Browserdaten löschen oder die Einwilligung widerrufen",[315,613,614,617],{},[28,615,616],{},"Transaktions-E-Mails (z. B. Bestätigungen):"," Speicherung gemäß den Anforderungen für die Servicebereitstellung und gesetzliche Aufbewahrungsfristen",[15,619,621],{"id":620},"_6-ihre-rechte-nach-der-dsgvo","6. Ihre Rechte nach der DSGVO",[11,623,624],{},"Nach der Datenschutz-Grundverordnung (DSGVO) haben Sie folgende Rechte in Bezug auf Ihre personenbezogenen Daten:",[312,626,627,633,639,645,651,657,663,669],{},[315,628,629,632],{},[28,630,631],{},"Auskunftsrecht:"," Sie haben das Recht, eine Bestätigung darüber zu erhalten, ob wir Ihre personenbezogenen Daten verarbeiten, und Zugang zu diesen Daten zu erhalten. (Art. 15 DSGVO)",[315,634,635,638],{},[28,636,637],{},"Recht auf Berichtigung:"," Sie haben das Recht, die Berichtigung unrichtiger personenbezogener Daten zu verlangen. (Art. 16 DSGVO)",[315,640,641,644],{},[28,642,643],{},"Recht auf Löschung:"," Sie haben das Recht, die Löschung Ihrer personenbezogenen Daten unter bestimmten Bedingungen zu verlangen. (Art. 17 DSGVO)",[315,646,647,650],{},[28,648,649],{},"Recht auf Einschränkung:"," Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. (Art. 18 DSGVO)",[315,652,653,656],{},[28,654,655],{},"Recht auf Datenübertragbarkeit:"," Sie haben das Recht, Ihre personenbezogenen Daten in einem strukturierten, maschinenlesbaren Format zu erhalten. (Art. 20 DSGVO)",[315,658,659,662],{},[28,660,661],{},"Widerspruchsrecht:"," Sie haben das Recht, der Verarbeitung auf Grundlage berechtigter Interessen zu widersprechen. (Art. 21(1) DSGVO)",[315,664,665,668],{},[28,666,667],{},"Widerspruch gegen Direktwerbung:"," Wenn Ihre Daten für Direktwerbung verarbeitet werden, haben Sie das Recht, jederzeit zu widersprechen. (Art. 21(2) DSGVO)",[315,670,671,674],{},[28,672,673],{},"Recht auf Beschwerde:"," Sie haben das Recht, eine Beschwerde bei einer Aufsichtsbehörde einzureichen. (Art. 77 DSGVO)",[11,676,677,678,335],{},"Um eines dieser Rechte auszuüben, kontaktieren Sie bitte unseren Datenschutzbeauftragten unter ",[32,679,438],{"href":437},[11,681,682],{},"Wenn die Verarbeitung auf einer Einwilligung beruht, können Sie Ihre Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen. Dies berührt nicht die Rechtmäßigkeit der Verarbeitung vor dem Widerruf. Sie können Ihre Einwilligung für Analyse-Cookies jederzeit über den Cookie-Einstellungsmanager auf dieser Seite widerrufen.",[15,684,686],{"id":685},"_7-cookies","7. Cookies",[11,688,689],{},"Unsere Website verwendet Cookies, um Ihr Surferlebnis zu verbessern. Cookies sind kleine Textdateien, die auf Ihrem Gerät gespeichert werden und uns helfen, zu verstehen, wie Sie unsere Website nutzen.",[20,691,693],{"id":692},"essenzielle-cookies","Essenzielle Cookies",[11,695,696],{},"Diese Cookies sind notwendig, damit die Website ordnungsgemäß funktioniert. Sie ermöglichen grundlegende Funktionen wie Sicherheit, Netzwerkverwaltung und das Speichern Ihrer Cookie-Einstellungen. Sie können diese Cookies nicht deaktivieren. Diese Cookies werden bis zu 12 Monate oder bis zur Löschung Ihrer Browserdaten gespeichert.",[20,698,700],{"id":699},"analyse-cookies","Analyse-Cookies",[11,702,703],{},"Diese Cookies helfen uns, zu verstehen, wie Besucher mit unserer Website interagieren, indem sie Informationen anonym sammeln und melden. Wir setzen diese Cookies nur mit Ihrer ausdrücklichen Einwilligung. Sie können Ihre Einwilligung jederzeit widerrufen. Diese Cookies werden bis zu 14 Monate gespeichert.",[15,705,707],{"id":706},"_8-drittanbieterdienste","8. Drittanbieterdienste",[11,709,710],{},"Wir nutzen die folgenden Drittanbieterdienste, die möglicherweise Ihre personenbezogenen Daten verarbeiten (gegebenenfalls als Auftragsverarbeiter):",[20,712,714],{"id":713},"cloudera-hosting","Cloudera (Hosting)",[11,716,717],{},"Unsere Website wird auf der Infrastruktur von Cloudera gehostet. Server-Log-Daten, einschließlich Ihrer gekürzten IP-Adresse, werden verarbeitet, um unsere Website-Inhalte bereitzustellen. Daten werden ausschließlich innerhalb des Europäischen Wirtschaftsraums (EWR) gespeichert.",[312,719,720,723],{},[315,721,722],{},"Rechtsgrundlage: Berechtigtes Interesse (Art. 6(1)(f) DSGVO) an der Bereitstellung einer schnellen und zuverlässigen Website.",[315,724,725,726],{},"Richtlinie: ",[32,727,730],{"href":728,"rel":729},"https://www.cloudera.com/legal/policies.html",[36],"Cloudera Datenschutzrichtlinie",[20,732,734],{"id":733},"resend-e-mail-zustellung","Resend (E-Mail-Zustellung)",[11,736,737],{},"Wir verwenden Resend, Inc., um Transaktions-E-Mails wie Kontaktformularbestätigungen zu versenden. Wenn Sie ein Kontaktformular absenden, können Ihre E-Mail-Adresse und der Inhalt Ihrer Nachricht von Resend verarbeitet werden.",[312,739,740,743],{},[315,741,742],{},"Rechtsgrundlage: Vertragserfüllung (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO).",[315,744,725,745],{},[32,746,749],{"href":747,"rel":748},"https://resend.com/legal/privacy-policy",[36],"Resend Datenschutzrichtlinie",[20,751,753],{"id":752},"google-analytics","Google Analytics",[11,755,756],{},"Mit Ihrer vorherigen, ausdrücklichen Einwilligung verwenden wir Google Analytics, einen Webanalysedienst der Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland. Google Analytics verwendet Cookies, um uns bei der Analyse der Nutzung unserer Website durch Besucher zu unterstützen. Wir haben die IP-Anonymisierung aktiviert. Daten können unter Verwendung von Standardvertragsklauseln an Google LLC in den USA übertragen werden.",[312,758,759,761],{},[315,760,509],{},[315,762,725,763],{},[32,764,767],{"href":765,"rel":766},"https://policies.google.com/privacy",[36],"Google Datenschutzrichtlinie",[20,769,771],{"id":770},"supabase-datenbank-authentifizierung","Supabase (Datenbank & Authentifizierung)",[11,773,774],{},"Wir nutzen Supabase, Inc. als unseren Datenbank- und Authentifizierungsanbieter. Ihre Kontodaten (z. B. E-Mail-Adresse, Name, Firma) und alle Daten, die Sie über unsere Dienste einreichen, werden auf der Infrastruktur von Supabase gespeichert. Supabase agiert als Auftragsverarbeiter gemäß Art. 28 DSGVO. Daten werden innerhalb der Europäischen Union (EU) gespeichert.",[312,776,777,780],{},[315,778,779],{},"Rechtsgrundlage: Vertragserfüllung (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO) an sicherer Datenspeicherung und Authentifizierung.",[315,781,725,782],{},[32,783,786],{"href":784,"rel":785},"https://supabase.com/privacy",[36],"Supabase Datenschutzrichtlinie",[15,788,790],{"id":789},"_81-empfänger-auftragsverarbeiter","8.1 Empfänger & Auftragsverarbeiter",[11,792,793],{},"Wir können personenbezogene Daten mit Dienstleistern (Auftragsverarbeitern) teilen, die unsere Website-Betriebe unterstützen (Hosting, E-Mail-Zustellung, Datenbank, Authentifizierung, Analysen). Wir haben Auftragsverarbeitungsverträge gemäß Art. 28 DSGVO abgeschlossen, wo dies erforderlich ist.",[15,795,797],{"id":796},"_9-internationale-datenübertragungen","9. Internationale Datenübertragungen",[11,799,800],{},"Einige unserer Drittanbieterdienstleister befinden sich außerhalb des Europäischen Wirtschaftsraums (EWR), insbesondere in den Vereinigten Staaten. Wir stellen sicher, dass geeignete Schutzmaßnahmen für jede Übertragung personenbezogener Daten außerhalb des EWR vorhanden sind, einschließlich Standardvertragsklauseln (SCCs), die von der Europäischen Kommission genehmigt wurden, und gegebenenfalls Angemessenheitsentscheidungen.",[11,802,803],{},"Insbesondere basieren Datenübertragungen in die USA auf dem EU-US Data Privacy Framework (sofern zertifiziert) oder auf Standardvertragsklauseln mit zusätzlichen technischen Schutzmaßnahmen (z. B. IP-Anonymisierung für Analysen).",[11,805,806],{},"Unser Datenbank- und Authentifizierungsanbieter, Supabase, Inc., hat seinen Hauptsitz in den Vereinigten Staaten. Wir haben eine Datenverarbeitungsvereinbarung (DPA) mit Supabase abgeschlossen, die Standardvertragsklauseln (SCCs) der Europäischen Kommission enthält. Ihre Kontodaten werden auf der Infrastruktur von Supabase innerhalb der Europäischen Union gespeichert. Jegliche Verarbeitung durch Supabase-Mitarbeiter oder Unterauftragsverarbeiter außerhalb des EWR wird durch diese SCCs und zusätzliche technische und organisatorische Schutzmaßnahmen geschützt.",[15,808,810],{"id":809},"_10-datensicherheit","10. Datensicherheit",[11,812,813],{},"Wir implementieren geeignete technische und organisatorische Maßnahmen, um Ihre personenbezogenen Daten vor unbefugtem Zugriff, Änderung, Offenlegung oder Zerstörung zu schützen. Unsere Website verwendet SSL/TLS-Verschlüsselung, um die Datenübertragung zwischen Ihrem Browser und unseren Servern zu sichern.",[15,815,817],{"id":816},"_11-recht-auf-beschwerde","11. Recht auf Beschwerde",[11,819,820],{},"Wenn Sie der Ansicht sind, dass unsere Verarbeitung Ihrer personenbezogenen Daten gegen Datenschutzgesetze verstößt, haben Sie das Recht, eine Beschwerde bei einer Aufsichtsbehörde einzureichen — insbesondere in dem EU-Mitgliedstaat Ihres gewöhnlichen Aufenthalts, Ihres Arbeitsplatzes oder des Ortes des mutmaßlichen Verstoßes (Art. 77 DSGVO).",[11,822,823],{},"Unsere zuständige Aufsichtsbehörde ist:",[11,825,826,829],{},[28,827,828],{},"Der Hamburgische Beauftragte für Datenschutz und Informationsfreiheit","\nLudwig-Erhard-Str. 22, 7. Stock\n20459 Hamburg, Deutschland",[312,831,832],{},[315,833,441,834],{},[32,835,836],{"href":836,"rel":837},"https://datenschutz-hamburg.de",[36],[15,839,841],{"id":840},"_12-änderungen-dieser-richtlinie","12. Änderungen dieser Richtlinie",[11,843,844],{},"Wir können diese Datenschutzerklärung von Zeit zu Zeit aktualisieren, um Änderungen in unseren Praktiken oder aus anderen betrieblichen, rechtlichen oder regulatorischen Gründen zu berücksichtigen. Wir werden Sie über wesentliche Änderungen informieren, indem wir die neue Datenschutzerklärung auf dieser Seite veröffentlichen und das Datum der letzten Aktualisierung anpassen.",[15,846,848],{"id":847},"_13-kontaktieren-sie-uns","13. Kontaktieren Sie uns",[11,850,851],{},"Wenn Sie Fragen zu dieser Datenschutzerklärung oder unseren Datenpraktiken haben, kontaktieren Sie uns bitte:",[11,853,854,397],{},[28,855,396],{},[312,857,858,863],{},[315,859,860,861],{},"Allgemeine Anfragen: ",[32,862,342],{"href":341},[315,864,865,866],{},"Datenschutz: ",[32,867,438],{"href":437},{"title":344,"searchDepth":345,"depth":345,"links":869},[870,871,872,878,879,880,881,882,886,892,893,894,895,896,897],{"id":387,"depth":345,"text":388},{"id":419,"depth":345,"text":420},{"id":448,"depth":345,"text":449,"children":873},[874,875,876,877],{"id":455,"depth":350,"text":456},{"id":470,"depth":350,"text":471},{"id":485,"depth":350,"text":486},{"id":500,"depth":350,"text":501},{"id":515,"depth":345,"text":516},{"id":542,"depth":345,"text":543},{"id":575,"depth":345,"text":576},{"id":620,"depth":345,"text":621},{"id":685,"depth":345,"text":686,"children":883},[884,885],{"id":692,"depth":350,"text":693},{"id":699,"depth":350,"text":700},{"id":706,"depth":345,"text":707,"children":887},[888,889,890,891],{"id":713,"depth":350,"text":714},{"id":733,"depth":350,"text":734},{"id":752,"depth":350,"text":753},{"id":770,"depth":350,"text":771},{"id":789,"depth":345,"text":790},{"id":796,"depth":345,"text":797},{"id":809,"depth":345,"text":810},{"id":816,"depth":345,"text":817},{"id":840,"depth":345,"text":841},{"id":847,"depth":345,"text":848},"Datenschutzrichtlinie für layline.io - Erfahren Sie, wie wir Ihre persönlichen Daten gemäß der DSGVO erfassen, verwenden und schützen.",{"tier_1_approved":368,"tier_1_approved_at":900,"tier_1_approved_by":901},"2026-07-02T08:00:39Z","andrew@layline.io",{"badge":903,"lastUpdatedLabel":904,"updatedAtDisplay":905,"fallback":906,"cookiePreferences":907,"intro":384,"sections":911},"Rechtliches","Zuletzt aktualisiert","23. April 2026","Diese Seite ist für das aktuelle Gebietsschema noch nicht übersetzt. Sie sehen die englische Originalversion.",{"title":908,"description":909,"button":910},"Cookie-Einstellungen","Verwalten Sie, welche Cookies wir auf dieser Website verwenden dürfen","Cookies verwalten",{"dataController":912,"dataProtectionOfficer":932,"dataCollected":943,"useData":971,"legalBases":973,"retention":987,"rights":1007,"cookies":1034,"thirdParty":1038,"recipients":1063,"transfers":1064,"security":1066,"complaint":1067,"changes":1074,"contact":1075},{"title":388,"intro":391,"card":913},{"name":396,"street":914,"city":915,"rows":916},"Flughafenstr. 52a","22335 Hamburg, Deutschland",[917,920,923,926,929],{"label":918,"value":919},"Eingetragen beim","Amtsgericht Hamburg, HRB 159256",{"label":921,"value":922},"Geschäftsführer","Andrew Tan / Stefan Deigmüller",{"label":924,"value":925},"USt-IdNr.","DE327083403",{"label":927,"value":928},"Telefon","+49 (40) 5329-9328",{"label":930,"link":931},"E-Mail",{"label":342,"href":341},{"title":420,"intro":423,"card":933},{"name":396,"street":914,"city":915,"rows":934},[935,938,940],{"label":936,"value":937},"Vertreten durch","Andrew Tan",{"label":930,"link":939},{"label":438,"href":437},{"label":941,"link":942},"Website",{"label":444,"href":444},{"title":449,"intro":452,"cards":944},[945,953,959,965],{"title":456,"text":459,"details":946},[947,950],{"label":948,"value":949},"Rechtsgrundlage","Berechtigtes Interesse (Art. 6(1)(f) DSGVO) zur Gewährleistung der Sicherheit und Funktionalität der Website.",{"label":951,"value":952},"Speicherdauer","30 Tage, danach werden die Protokolle automatisch gelöscht.",{"title":471,"text":474,"details":954},[955,957],{"label":948,"value":956},"Vertragserfüllung oder vorvertragliche Maßnahmen (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO).",{"label":951,"value":958},"Dauer der Geschäftsbeziehung, danach Löschung nach 3 Jahren, sofern keine gesetzlichen Aufbewahrungspflichten bestehen.",{"title":486,"text":489,"details":960},[961,963],{"label":948,"value":962},"Vertragserfüllung (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO) an sicherer Authentifizierung und Kontoverwaltung.",{"label":951,"value":964},"Dauer der Existenz Ihres Kontos; Löschung innerhalb von 30 Tagen nach Schließung des Kontos, sofern keine gesetzlichen Aufbewahrungspflichten bestehen.",{"title":501,"text":504,"details":966},[967,969],{"label":948,"value":968},"Einwilligung (Art. 6(1)(a) DSGVO).",{"label":951,"value":970},"14 Monate, danach werden die Daten von Google automatisch gelöscht.",{"title":516,"intro":519,"items":972,"outro":539},[524,527,530,533,536],{"title":543,"intro":546,"items":974},[975,978,981,984],{"label":976,"value":977},"Art. 6(1)(a) DSGVO","Einwilligung (z. B. Analyse-Cookies)",{"label":979,"value":980},"Art. 6(1)(b) DSGVO","Vertragserfüllung oder vorvertragliche Maßnahmen (z. B. Beantwortung von Anfragen, Benutzerkonten)",{"label":982,"value":983},"Art. 6(1)(c) DSGVO","Gesetzliche Verpflichtung",{"label":985,"value":986},"Art. 6(1)(f) DSGVO","Berechtigte Interessen (z. B. Website-Sicherheit, Betrugsprävention, Service-Verbesserung)",{"title":576,"intro":579,"items":988},[989,992,995,998,1001,1004],{"label":990,"value":991},"Server-Logs","Löschung nach 30 Tagen",{"label":993,"value":994},"Kontaktdaten aus Formularen","Speicherung für die Dauer der Geschäftsbeziehung, danach Löschung nach 3 Jahren, sofern keine gesetzlichen Aufbewahrungspflichten bestehen",{"label":996,"value":997},"Benutzerkontodaten","Löschung innerhalb von 30 Tagen nach Schließung des Kontos, sofern keine gesetzlichen Aufbewahrungspflichten bestehen",{"label":999,"value":1000},"Analysedaten","Automatische Löschung nach 14 Monaten",{"label":1002,"value":1003},"Cookie-Einwilligungspräferenzen","Lokal in Ihrem Browser gespeichert, bis Sie Ihre Browserdaten löschen oder die Einwilligung widerrufen",{"label":1005,"value":1006},"Transaktions-E-Mails (z. B. Bestätigungen)","Speicherung gemäß den Anforderungen für die Servicebereitstellung und gesetzliche Aufbewahrungsfristen",{"title":621,"intro":624,"cards":1008,"contact":1033,"consent":682},[1009,1012,1015,1018,1021,1024,1027,1030],{"title":1010,"text":1011},"Auskunftsrecht","Sie haben das Recht, eine Bestätigung darüber zu erhalten, ob wir Ihre personenbezogenen Daten verarbeiten, und Zugang zu diesen Daten zu erhalten. (Art. 15 DSGVO)",{"title":1013,"text":1014},"Recht auf Berichtigung","Sie haben das Recht, die Berichtigung unrichtiger personenbezogener Daten zu verlangen. (Art. 16 DSGVO)",{"title":1016,"text":1017},"Recht auf Löschung","Sie haben das Recht, die Löschung Ihrer personenbezogenen Daten unter bestimmten Bedingungen zu verlangen. (Art. 17 DSGVO)",{"title":1019,"text":1020},"Recht auf Einschränkung","Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. (Art. 18 DSGVO)",{"title":1022,"text":1023},"Recht auf Datenübertragbarkeit","Sie haben das Recht, Ihre personenbezogenen Daten in einem strukturierten, maschinenlesbaren Format zu erhalten. (Art. 20 DSGVO)",{"title":1025,"text":1026},"Widerspruchsrecht","Sie haben das Recht, der Verarbeitung auf Grundlage berechtigter Interessen zu widersprechen. (Art. 21(1) DSGVO)",{"title":1028,"text":1029},"Widerspruch gegen Direktwerbung","Wenn Ihre Daten für Direktwerbung verarbeitet werden, haben Sie das Recht, jederzeit zu widersprechen. (Art. 21(2) DSGVO)",{"title":1031,"text":1032},"Recht auf Beschwerde","Sie haben das Recht, eine Beschwerde bei einer Aufsichtsbehörde einzureichen. (Art. 77 DSGVO)","Um eines dieser Rechte auszuüben, kontaktieren Sie bitte unseren Datenschutzbeauftragten unter",{"title":686,"intro":689,"cards":1035},[1036,1037],{"title":693,"text":696},{"title":700,"text":703},{"title":707,"intro":710,"cards":1039},[1040,1046,1052,1057],{"title":714,"text":717,"details":1041,"link":1044},[1042],{"label":948,"value":1043},"Berechtigtes Interesse (Art. 6(1)(f) DSGVO) an der Bereitstellung einer schnellen und zuverlässigen Website.",{"label":1045,"href":728},"Datenschutzrichtlinie anzeigen: Cloudera Datenschutzrichtlinie →",{"title":734,"text":737,"details":1047,"link":1050},[1048],{"label":948,"value":1049},"Vertragserfüllung (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO).",{"label":1051,"href":747},"Datenschutzrichtlinie anzeigen: Resend Datenschutzrichtlinie →",{"title":753,"text":756,"details":1053,"link":1055},[1054],{"label":948,"value":968},{"label":1056,"href":765},"Datenschutzrichtlinie anzeigen: Google Datenschutzrichtlinie →",{"title":771,"text":774,"details":1058,"link":1061},[1059],{"label":948,"value":1060},"Vertragserfüllung (Art. 6(1)(b) DSGVO) und berechtigtes Interesse (Art. 6(1)(f) DSGVO) an sicherer Datenspeicherung und Authentifizierung.",{"label":1062,"href":784},"Datenschutzrichtlinie anzeigen: Supabase Datenschutzrichtlinie →",{"title":790,"text":793},{"title":797,"paragraphs":1065},[800,803,806],{"title":810,"text":813},{"title":817,"intro":820,"authorityIntro":823,"card":1068},{"name":828,"street":1069,"city":1070,"rows":1071},"Ludwig-Erhard-Str. 22, 7. Stock","20459 Hamburg, Deutschland",[1072],{"label":941,"link":1073},{"label":836,"href":836},{"title":841,"text":844},{"title":848,"intro":851,"card":1076},{"name":396,"street":914,"city":915,"rows":1077},[1078,1081],{"label":1079,"link":1080},"Allgemeine Anfragen",{"label":342,"href":341},{"label":1082,"link":1083},"Datenschutz",{"label":438,"href":437},"/legal/de/privacy-policy",{"intro":1086,"h2-1-data-controller":1087,"h2-2-data-protection-officer":1088,"h2-3-what-data-we-collect":1089,"h2-4-how-we-use-your-data":1090,"h2-4-1-legal-bases-for-processing":1091,"h2-5-data-retention":1092,"h2-6-your-rights-under-gdpr":1093,"h2-7-cookies":1094,"h2-8-third-party-services":1095,"h2-8-1-recipients-processors":1096,"h2-9-international-data-transfers":1097,"h2-10-data-security":1098,"h2-11-right-to-lodge-a-complaint":1099,"h2-12-changes-to-this-privacy-policy":1100,"h2-13-contact-us":1101},"4eeadd43e9f43bb1c162cd616d476e0a22e9bfa374e52dfe7cda47a8f0f01828","4de3056ffe796ac7b54fa34819c339abed5977fbe49fcd4b017fc7965cf455a5","06f7b0007ccf76273e5d9a1068687dbdffe2871b00c6da6e581f12332dbacc9f","72a6009d0d720d83541d4a9c48a54689b3514f97fd7be35b0f722dadb4fe706b","9d9d4d69afc921679c248e01d36802e9e67bdca75735383efa051906349eddf4","568b177024b2d32897282b8eabb0ad651a3c00dd377060d006a8932727356a99","df44a1b86d91c9680a1a5eddbdd3d300d54a2f4bb76a3c8a9eccd0ef9a5a065b","8c07dd291028fba057706fcfb6b0d6350a8fd3d87a3fdd866c8417a47b021508","8b4ad68b1ec74efea36d6751e7639a154a2e39280d55d7ff113505ad5e44d23c","2192e118c3029a819e8b4c5897c2004e08f31617d5dd33c80409228affa56eb6","35e88607366a1c36e58f58b7df3373522569a31597d4e316eca1b755de708250","ad094cf15d2a81f3f7364fb37cd7687afcd7f3e782e996b218179781996cd7f9","95b644fc9db55a62a30fa02ab2e947172521c7a9da3c55d0e894d7c4c085cff8","cdd945ad457dc8057e1a42b4535f100904510069ff6d48f8d1bc0e85574e8490","fc702d0bdfe63192bfec48976323ce0a88129ea16639fc4746271a4bafb0cabc","99daad3897af07301e0f01f76aca8d22af1e51d552df3acfcbd6158db272e458",{"title":379,"description":898},{"loc":1084,"lastmod":1104},"2026-04-23","c9a2e113838b1d070e319a129e131b38253fc83ce92889190fad0d943ac8dccc","en","legal/de/privacy-policy","1","2026-06-17T17:58:17.062Z","gpt-4o","github-models","up_to_date","Qn2uSl6wAUMp7qJsKWFJKrTov5AAkyOEpirS_8iQCAk","de",1787666694049]