[{"data":1,"prerenderedAt":1337},["ShallowReactive",2],{"/de-de/blog/categories/engineering/page/3":3,"navigation-de-de":20,"banner-de-de":452,"footer-de-de":460,"engineering-category-page-total-items-de-de":701,"engineering-category-page-featured-de-de":702,"engineering-category-page-3-de-de":1273},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":11,"description":6,"extension":12,"meta":13,"navigation":14,"path":15,"seo":16,"slug":6,"stem":18,"testContent":6,"type":6,"__hash__":19},"blogCategories/de-de/blog/categories/engineering.yml","Engineering",null,{"template":8,"slug":9,"hide":10},"BlogCategory","engineering",false,{"name":5},"yml",{},true,"/de-de/blog/categories/engineering",{"title":5,"description":17},"Browse articles related to Engineering on the GitLab Blog","de-de/blog/categories/engineering","2aDT2ddISb3_jPr0pKFELw8NlkxcUsQZ7Dd93XB3ya8",{"logo":21,"freeTrial":26,"sales":31,"login":36,"items":41,"search":370,"minimal":404,"duo":422,"switchNav":431,"pricingDeployment":442},{"config":22},{"href":23,"dataGaName":24,"dataGaLocation":25},"/de-de/","gitlab logo","header",{"text":27,"config":28},"Kostenlose Testversion anfordern",{"href":29,"dataGaName":30,"dataGaLocation":25},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":32,"config":33},"Demo anfordern",{"href":34,"dataGaName":35,"dataGaLocation":25},"/de-de/sales/?contact-topic=request-demo","sales",{"text":37,"config":38},"Anmelden",{"href":39,"dataGaName":40,"dataGaLocation":25},"https://gitlab.com/users/sign_in/","sign in",[42,71,173,178,292,348],{"text":43,"config":44,"menu":46},"Plattform",{"dataNavLevelOne":45},"platform",{"type":47,"columns":48},"cards",[49,55,63],{"title":43,"description":50,"link":51},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":52,"config":53},"Die Plattform erkunden",{"href":54,"dataGaName":45,"dataGaLocation":25},"/de-de/platform/",{"title":56,"description":57,"link":58},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":59,"config":60},"Lerne GitLab Duo kennen",{"href":61,"dataGaName":62,"dataGaLocation":25},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":64,"description":65,"link":66},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":67,"config":68},"Mehr erfahren",{"href":69,"dataGaName":70,"dataGaLocation":25},"/de-de/why-gitlab/","why gitlab",{"text":72,"left":14,"config":73,"menu":75},"Produkt",{"dataNavLevelOne":74},"solutions",{"type":76,"link":77,"columns":81,"feature":152},"lists",{"text":78,"config":79},"Alle Lösungen anzeigen",{"href":80,"dataGaName":74,"dataGaLocation":25},"/de-de/solutions/",[82,107,130],{"title":83,"description":84,"link":85,"items":90},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":86},{"icon":87,"href":88,"dataGaName":89,"dataGaLocation":25},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[91,95,98,103],{"text":92,"config":93},"CI/CD",{"href":94,"dataGaLocation":25,"dataGaName":92},"/de-de/solutions/continuous-integration/",{"text":56,"config":96},{"href":61,"dataGaLocation":25,"dataGaName":97},"gitlab duo agent platform - product menu",{"text":99,"config":100},"Quellcodeverwaltung",{"href":101,"dataGaLocation":25,"dataGaName":102},"/de-de/solutions/source-code-management/","Source Code Management",{"text":104,"config":105},"Automatische Softwarebereitstellung",{"href":88,"dataGaLocation":25,"dataGaName":106},"Automated software delivery",{"title":108,"description":109,"link":110,"items":115},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":111},{"href":112,"dataGaName":113,"dataGaLocation":25,"icon":114},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[116,120,125],{"text":117,"config":118},"Anwendungssicherheitstests",{"href":112,"dataGaName":119,"dataGaLocation":25},"Application security testing",{"text":121,"config":122},"Schutz der Software-Lieferkette",{"href":123,"dataGaLocation":25,"dataGaName":124},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":126,"config":127},"Software-Compliance",{"href":128,"dataGaName":129,"dataGaLocation":25},"/de-de/solutions/software-compliance/","software compliance",{"title":131,"link":132,"items":137},"Messung",{"config":133},{"icon":134,"href":135,"dataGaName":136,"dataGaLocation":25},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[138,142,147],{"text":139,"config":140},"Sichtbarkeit und Messung",{"href":135,"dataGaLocation":25,"dataGaName":141},"Visibility and Measurement",{"text":143,"config":144},"Wertstrommanagement",{"href":145,"dataGaLocation":25,"dataGaName":146},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":148,"config":149},"Analysen und Einblicke",{"href":150,"dataGaLocation":25,"dataGaName":151},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":153,"type":76,"items":154},"GitLab für",[155,161,167],{"text":156,"config":157},"Enterprise",{"icon":158,"href":159,"dataGaLocation":25,"dataGaName":160},"Building","/de-de/enterprise/","enterprise",{"text":162,"config":163},"Kleinunternehmen",{"icon":164,"href":165,"dataGaLocation":25,"dataGaName":166},"Work","/de-de/small-business/","small business",{"text":168,"config":169},"Öffentlicher Sektor",{"icon":170,"href":171,"dataGaLocation":25,"dataGaName":172},"Organization","/de-de/solutions/public-sector/","public sector",{"text":174,"config":175},"Preise",{"href":176,"dataGaName":177,"dataGaLocation":25,"dataNavLevelOne":177},"/de-de/pricing/","pricing",{"text":179,"config":180,"menu":182},"Ressourcen",{"dataNavLevelOne":181},"resources",{"type":76,"link":183,"columns":187,"feature":281},{"text":184,"config":185},"Alle Ressourcen anzeigen",{"href":186,"dataGaName":181,"dataGaLocation":25},"/de-de/resources/",[188,221,248],{"title":189,"items":190},"Erste Schritte",[191,196,201,206,211,216],{"text":192,"config":193},"Installieren",{"href":194,"dataGaName":195,"dataGaLocation":25},"/de-de/install/","install",{"text":197,"config":198},"Kurzanleitungen",{"href":199,"dataGaName":200,"dataGaLocation":25},"/de-de/get-started/","quick setup checklists",{"text":202,"config":203},"Lernen",{"href":204,"dataGaLocation":25,"dataGaName":205},"https://university.gitlab.com/","learn",{"text":207,"config":208},"Produktdokumentation",{"href":209,"dataGaName":210,"dataGaLocation":25},"https://docs.gitlab.com/","product documentation",{"text":212,"config":213},"Best-Practice-Videos",{"href":214,"dataGaName":215,"dataGaLocation":25},"/de-de/getting-started-videos/","best practice videos",{"text":217,"config":218},"Integrationen",{"href":219,"dataGaName":220,"dataGaLocation":25},"/de-de/integrations/","integrations",{"title":222,"items":223},"Entdecken",[224,229,234,239,243],{"text":225,"config":226},"Kundenerfolge",{"href":227,"dataGaName":228,"dataGaLocation":25},"/de-de/customers/","customer success stories",{"text":230,"config":231},"Blog",{"href":232,"dataGaName":233,"dataGaLocation":25},"/de-de/blog/","blog",{"text":235,"config":236},"Demo-Hub",{"href":237,"dataGaName":238,"dataGaLocation":25},"/de-de/demo-hub/","demo hub",{"text":240,"config":241},"The Source",{"href":242,"dataGaName":233,"dataGaLocation":25},"/de-de/the-source/",{"text":244,"config":245},"Remote",{"href":246,"dataGaName":247,"dataGaLocation":25},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":249,"items":250},"Vernetzen",[251,256,261,266,271,276],{"text":252,"config":253},"GitLab-Services",{"href":254,"dataGaName":255,"dataGaLocation":25},"/de-de/services/","services",{"text":257,"config":258},"Beitragen",{"href":259,"dataGaName":260,"dataGaLocation":25},"https://contributors.gitlab.com","contribute",{"text":262,"config":263},"Community",{"href":264,"dataGaName":265,"dataGaLocation":25},"/community/","community",{"text":267,"config":268},"Forum",{"href":269,"dataGaName":270,"dataGaLocation":25},"https://forum.gitlab.com/","forum",{"text":272,"config":273},"Veranstaltungen",{"href":274,"dataGaName":275,"dataGaLocation":25},"/events/","events",{"text":277,"config":278},"Partner",{"href":279,"dataGaName":280,"dataGaLocation":25},"/de-de/partners/","partners",{"config":282,"title":285,"text":286,"link":287},{"background":283,"textColor":284},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Neues bei GitLab","Über die neuesten Funktionen und Verbesserungen auf dem Laufenden bleiben.",{"text":288,"config":289},"Aktuelle Nachrichten",{"href":290,"dataGaName":291,"dataGaLocation":25},"/de-de/whats-new/","whats new",{"text":293,"config":294,"menu":296},"Unternehmen",{"dataNavLevelOne":295},"company",{"type":76,"columns":297},[298],{"items":299},[300,305,311,313,318,323,328,333,338,343],{"text":301,"config":302},"Über",{"href":303,"dataGaName":304,"dataGaLocation":25},"/de-de/company/","about",{"text":306,"config":307,"footerGa":310},"Karriere",{"href":308,"dataGaName":309,"dataGaLocation":25},"/jobs/","jobs",{"dataGaName":309},{"text":272,"config":312},{"href":274,"dataGaName":275,"dataGaLocation":25},{"text":314,"config":315},"Geschäftsführung",{"href":316,"dataGaName":317,"dataGaLocation":25},"/company/team/e-group/","leadership",{"text":319,"config":320},"Handbuch",{"href":321,"dataGaName":322,"dataGaLocation":25},"https://handbook.gitlab.com/","handbook",{"text":324,"config":325},"Investor Relations",{"href":326,"dataGaName":327,"dataGaLocation":25},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":329,"config":330},"Trust Center",{"href":331,"dataGaName":332,"dataGaLocation":25},"/de-de/security/","trust center",{"text":334,"config":335},"AI Transparency Center",{"href":336,"dataGaName":337,"dataGaLocation":25},"/de-de/ai-transparency-center/","ai transparency center",{"text":339,"config":340},"Newsletter",{"href":341,"dataGaName":342,"dataGaLocation":25},"/company/contact/#contact-forms","newsletter",{"text":344,"config":345},"Presse",{"href":346,"dataGaName":347,"dataGaLocation":25},"/press/","press",{"text":349,"config":350,"menu":351},"Kontakt",{"dataNavLevelOne":295},{"type":76,"columns":352},[353],{"items":354},[355,360,365],{"text":356,"config":357},"Vertrieb kontaktieren",{"href":358,"dataGaName":359,"dataGaLocation":25},"/de-de/sales/","talk to sales",{"text":361,"config":362},"Support-Portal",{"href":363,"dataGaName":364,"dataGaLocation":25},"https://support.gitlab.com/hc/en-us","support portal",{"text":366,"config":367},"Kundenportal",{"href":368,"dataGaName":369,"dataGaLocation":25},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":371,"login":372,"suggestions":379},"Schließen",{"text":373,"link":374},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":375,"config":376},"gitlab.com",{"href":39,"dataGaName":377,"dataGaLocation":378},"search login","search",{"text":380,"default":381},"Vorschläge",[382,384,389,391,396,401],{"text":56,"config":383},{"href":61,"dataGaName":56,"dataGaLocation":378},{"text":385,"config":386},"Codevorschläge (KI)",{"href":387,"dataGaName":388,"dataGaLocation":378},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":92,"config":390},{"href":94,"dataGaName":92,"dataGaLocation":378},{"text":392,"config":393},"GitLab auf AWS",{"href":394,"dataGaName":395,"dataGaLocation":378},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":397,"config":398},"GitLab auf Google Cloud",{"href":399,"dataGaName":400,"dataGaLocation":378},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":64,"config":402},{"href":69,"dataGaName":403,"dataGaLocation":378},"Why GitLab?",{"freeTrial":405,"mobileIcon":410,"desktopIcon":415,"secondaryButton":418},{"text":406,"config":407},"Kostenlos testen",{"href":408,"dataGaName":30,"dataGaLocation":409},"https://gitlab.com/-/trials/new/","nav",{"altText":411,"config":412},"GitLab-Symbol",{"src":413,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":411,"config":416},{"src":417,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":189,"config":419},{"href":420,"dataGaName":421,"dataGaLocation":409},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":423,"mobileIcon":427,"desktopIcon":429},{"text":424,"config":425},"Mehr über GitLab Duo erfahren",{"href":61,"dataGaName":426,"dataGaLocation":409},"gitlab duo",{"altText":411,"config":428},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":430},{"src":417,"dataGaName":414,"dataGaLocation":409},{"button":432,"mobileIcon":437,"desktopIcon":439},{"text":433,"config":434},"/Option",{"href":435,"dataGaName":436,"dataGaLocation":409},"#contact","switch",{"altText":411,"config":438},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":440},{"src":441,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":443,"mobileIcon":448,"desktopIcon":450},{"text":444,"config":445},"Zurück zur Preisübersicht",{"href":176,"dataGaName":446,"dataGaLocation":409,"icon":447},"back to pricing","GoBack",{"altText":411,"config":449},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":451},{"src":417,"dataGaName":414,"dataGaLocation":409},{"title":453,"button":454,"config":458},"GitLab Orbit ist da: die Kontextebene für KI-Agenten",{"text":67,"config":455},{"href":456,"dataGaName":457,"dataGaLocation":25},"/de-de/gitlab-orbit/","orbit",{"layout":459,"disabled":10},"release",{"data":461},{"text":462,"source":463,"edit":469,"contribute":474,"config":479,"items":484,"minimal":690},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":464,"config":465},"Quelltext der Seite anzeigen",{"href":466,"dataGaName":467,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":470,"config":471},"Diese Seite bearbeiten",{"href":472,"dataGaName":473,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":475,"config":476},"Beteilige dich",{"href":477,"dataGaName":478,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":480,"facebook":481,"youtube":482,"linkedin":483},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[485,530,583,625,657],{"title":174,"links":486,"subMenu":501},[487,491,496],{"text":488,"config":489},"Tarife anzeigen",{"href":176,"dataGaName":490,"dataGaLocation":468},"view plans",{"text":492,"config":493},"Vorteile von Premium",{"href":494,"dataGaName":495,"dataGaLocation":468},"/de-de/pricing/premium/","why premium",{"text":497,"config":498},"Vorteile von Ultimate",{"href":499,"dataGaName":500,"dataGaLocation":468},"/de-de/pricing/ultimate/","why ultimate",[502],{"title":349,"links":503},[504,506,508,510,515,520,525],{"text":356,"config":505},{"href":358,"dataGaName":35,"dataGaLocation":468},{"text":361,"config":507},{"href":363,"dataGaName":364,"dataGaLocation":468},{"text":366,"config":509},{"href":368,"dataGaName":369,"dataGaLocation":468},{"text":511,"config":512},"Status",{"href":513,"dataGaName":514,"dataGaLocation":468},"https://status.gitlab.com/","status",{"text":516,"config":517},"Nutzungsbedingungen",{"href":518,"dataGaName":519,"dataGaLocation":468},"/terms/","terms of use",{"text":521,"config":522},"Datenschutzerklärung",{"href":523,"dataGaName":524,"dataGaLocation":468},"/de-de/privacy/","privacy statement",{"text":526,"config":527},"Cookie-Einstellungen",{"dataGaName":528,"dataGaLocation":468,"id":529,"isOneTrustButton":14},"cookie preferences","ot-sdk-btn",{"title":72,"links":531,"subMenu":540},[532,536],{"text":533,"config":534},"DevSecOps-Plattform",{"href":54,"dataGaName":535,"dataGaLocation":468},"devsecops platform",{"text":537,"config":538},"KI-unterstützte Entwicklung",{"href":61,"dataGaName":539,"dataGaLocation":468},"ai-assisted development",[541],{"title":542,"links":543},"Themen",[544,548,553,558,563,568,573,578],{"text":92,"config":545},{"href":546,"dataGaName":547,"dataGaLocation":468},"/de-de/topics/ci-cd/","cicd",{"text":549,"config":550},"GitOps",{"href":551,"dataGaName":552,"dataGaLocation":468},"/de-de/topics/gitops/","gitops",{"text":554,"config":555},"DevOps",{"href":556,"dataGaName":557,"dataGaLocation":468},"/de-de/topics/devops/","devops",{"text":559,"config":560},"Versionskontrolle",{"href":561,"dataGaName":562,"dataGaLocation":468},"/de-de/topics/version-control/","version control",{"text":564,"config":565},"DevSecOps",{"href":566,"dataGaName":567,"dataGaLocation":468},"/de-de/topics/devsecops/","devsecops",{"text":569,"config":570},"Cloud-nativ",{"href":571,"dataGaName":572,"dataGaLocation":468},"/de-de/topics/cloud-native/","cloud native",{"text":574,"config":575},"KI für das Programmieren",{"href":576,"dataGaName":577,"dataGaLocation":468},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":579,"config":580},"Agentische KI",{"href":581,"dataGaName":582,"dataGaLocation":468},"/de-de/topics/agentic-ai/","agentic ai",{"title":584,"links":585},"Lösungen",[586,589,591,596,600,603,606,609,611,613,615,620],{"text":117,"config":587},{"href":112,"dataGaName":588,"dataGaLocation":468},"Application Security Testing",{"text":104,"config":590},{"href":88,"dataGaName":89,"dataGaLocation":468},{"text":592,"config":593},"Agile Entwicklung",{"href":594,"dataGaName":595,"dataGaLocation":468},"/de-de/solutions/agile-delivery/","agile delivery",{"text":597,"config":598},"SCM",{"href":101,"dataGaName":599,"dataGaLocation":468},"source code management",{"text":92,"config":601},{"href":94,"dataGaName":602,"dataGaLocation":468},"continuous integration & delivery",{"text":143,"config":604},{"href":145,"dataGaName":605,"dataGaLocation":468},"value stream management",{"text":549,"config":607},{"href":608,"dataGaName":552,"dataGaLocation":468},"/de-de/solutions/gitops/",{"text":156,"config":610},{"href":159,"dataGaName":160,"dataGaLocation":468},{"text":162,"config":612},{"href":165,"dataGaName":166,"dataGaLocation":468},{"text":168,"config":614},{"href":171,"dataGaName":172,"dataGaLocation":468},{"text":616,"config":617},"Bildungswesen",{"href":618,"dataGaName":619,"dataGaLocation":468},"/de-de/solutions/education/","education",{"text":621,"config":622},"Finanzdienstleistungen",{"href":623,"dataGaName":624,"dataGaLocation":468},"/de-de/solutions/finance/","financial services",{"title":179,"links":626},[627,629,631,633,636,638,641,643,645,647,649,651,653,655],{"text":192,"config":628},{"href":194,"dataGaName":195,"dataGaLocation":468},{"text":197,"config":630},{"href":199,"dataGaName":200,"dataGaLocation":468},{"text":202,"config":632},{"href":204,"dataGaName":205,"dataGaLocation":468},{"text":207,"config":634},{"href":209,"dataGaName":635,"dataGaLocation":468},"docs",{"text":230,"config":637},{"href":232,"dataGaName":233,"dataGaLocation":468},{"text":639,"config":640},"Neuerungen",{"href":290,"dataGaName":291,"dataGaLocation":468},{"text":225,"config":642},{"href":227,"dataGaName":228,"dataGaLocation":468},{"text":244,"config":644},{"href":246,"dataGaName":247,"dataGaLocation":468},{"text":252,"config":646},{"href":254,"dataGaName":255,"dataGaLocation":468},{"text":257,"config":648},{"href":259,"dataGaName":260,"dataGaLocation":468},{"text":262,"config":650},{"href":264,"dataGaName":265,"dataGaLocation":468},{"text":267,"config":652},{"href":269,"dataGaName":270,"dataGaLocation":468},{"text":272,"config":654},{"href":274,"dataGaName":275,"dataGaLocation":468},{"text":277,"config":656},{"href":279,"dataGaName":280,"dataGaLocation":468},{"title":293,"links":658},[659,661,663,665,667,669,674,679,681,683,685],{"text":301,"config":660},{"href":303,"dataGaName":295,"dataGaLocation":468},{"text":306,"config":662},{"href":308,"dataGaName":309,"dataGaLocation":468},{"text":314,"config":664},{"href":316,"dataGaName":317,"dataGaLocation":468},{"text":319,"config":666},{"href":321,"dataGaName":322,"dataGaLocation":468},{"text":324,"config":668},{"href":326,"dataGaName":327,"dataGaLocation":468},{"text":670,"config":671},"Nachhaltigkeit",{"href":672,"dataGaName":673,"dataGaLocation":468},"/sustainability/","Sustainability",{"text":675,"config":676},"Vielfalt, Inklusion und Zugehörigkeit",{"href":677,"dataGaName":678,"dataGaLocation":468},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":329,"config":680},{"href":331,"dataGaName":332,"dataGaLocation":468},{"text":339,"config":682},{"href":341,"dataGaName":342,"dataGaLocation":468},{"text":344,"config":684},{"href":346,"dataGaName":347,"dataGaLocation":468},{"text":686,"config":687},"Transparenzerklärung zu moderner Sklaverei",{"href":688,"dataGaName":689,"dataGaLocation":468},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":691},[692,695,698],{"text":693,"config":694},"Terms",{"href":518,"dataGaName":519,"dataGaLocation":468},{"text":696,"config":697},"Cookies",{"dataGaName":528,"dataGaLocation":468,"id":529,"isOneTrustButton":14},{"text":699,"config":700},"Datenschutz",{"href":523,"dataGaName":524,"dataGaLocation":468},34,{"id":703,"title":704,"authors":705,"body":708,"category":9,"date":1258,"description":1259,"extension":1260,"externalUrl":6,"faq":6,"featured":14,"heroImage":1261,"meta":1262,"navigation":14,"path":1263,"seo":1264,"slug":1266,"stem":1267,"tags":1268,"template":1271,"updatedDate":6,"__hash__":1272},"blogPosts/de-de/blog/confidential-ai-for-gitlab-self-hosted.md","Confidential AI für GitLab Self-Hosted",[706,707],"Mathias Ewald","Martin Paloncy",{"type":709,"value":710,"toc":1246},"minimark",[711,715,730,735,743,746,750,753,762,765,769,772,866,869,872,875,878,882,894,902,909,912,915,918,937,945,948,952,955,969,1117,1119,1128,1132,1135,1141,1147,1153,1159,1163,1185,1189,1204,1208,1242],[712,713,714],"p",{},"Entwicklungsteams wollen KI-Coding-Agenten nutzen. Der Quellcode ist reguliertes geistiges Eigentum, das nicht an einen KI-Dienst Dritter gehen darf, und das Compliance-Team hat das schriftlich festgehalten. Der übliche Ausweg, ein eigenes GPU-Cluster aufzubauen und die Modelle selbst zu betreiben, bedeutet knappe Hardware zu beschaffen, ein Team für den Betrieb einzustellen und den führenden Modellen trotzdem um Monate hinterherzulaufen. Also passiert nichts, und die eigenen Teams fallen gegenüber jenen zurück, die KI vor einem Jahr eingeführt haben.",[712,716,717,723,724,729],{},[718,719,722],"a",{"href":720,"rel":721},"https://about.gitlab.com/de-de/blog/gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy/",[],"GitLab Duo Self-Hosted"," kann jetzt ",[718,725,728],{"href":726,"rel":727},"https://www.privatemode.ai/de",[],"Privatemode AI"," als Modellanbieter nutzen. Privatemode betreibt aktuelle Modelle innerhalb von Confidential-Computing-Hardware, sodass Prompts, Quellcode und Completions durchgehend verschlüsselt bleiben, auch während der Inferenz. Das AI Gateway von GitLab Duo wird auf den Privatemode-Proxy gerichtet. Die Entwicklungsteams erhalten dann dieselben Duo-Funktionen wie mit jedem anderen Modell, mit einem Unterschied, der für eine regulierte Organisation zählt: Der Code verlässt nie eine verschlüsselte Grenze, und kein Dritter kann ihn lesen.",[731,732,734],"h2",{"id":733},"die-unterstützung-die-regulierten-teams-bisher-verwehrt-bleibt","Die Unterstützung, die regulierten Teams bisher verwehrt bleibt",[712,736,737,738,742],{},"KI-Unterstützung beim Programmieren ist längst mehr als Autovervollständigung. Die ",[718,739,56],{"href":740,"rel":741},"https://about.gitlab.com/de-de/gitlab-duo-agent-platform/",[]," übernimmt mehrstufige Arbeit: Sie reviewt Merge Requests, refaktoriert über Dateien hinweg, erzeugt Tests und führt sie aus, steuert agentische Flows als CI-Jobs und einiges mehr. Das verändert die Art, wie Teams liefern, und die Wirkung summiert sich. Teams, die sie nutzen, wenden weniger Aufwand für Standardaufgaben auf und mehr für inhaltliche Reviews.",[712,744,745],{},"Der Haken: Jede einzelne dieser Funktionen sendet Prompts und Quellcode an einen Modellanbieter. Für ein Team, das an proprietärem Code, regulierter Software oder sensiblem geistigem Eigentum arbeitet, ist allein diese Tatsache ein Ausschlusskriterium.",[731,747,749],{"id":748},"warum-regulierte-organisationen-selbst-hosten","Warum regulierte Organisationen selbst hosten",[712,751,752],{},"Für diese Organisationen ist Quellcode zentrales geistiges Eigentum, und wo er verarbeitet wird, ist eine vertragliche, branchenspezifische und regulatorische Frage, keine der Bequemlichkeit. Die Handelsalgorithmen einer Bank, die Firmware eines Medizingeräteherstellers, die Steuerungssoftware eines Rüstungsunternehmens: Dieses geistige Eigentum an einen externen KI-Dienst zu senden, kann IP-Schutz, Auftragsverarbeitungsverträge und Branchenregeln in einem einzigen Schritt verletzen.",[712,754,755,756,761],{},"Der Druck kommt aus mehreren Richtungen zugleich. NIS2 und der Digital Operational Resilience Act (DORA) heben die Anforderungen an operative Resilienz und Drittparteienrisiken in kritischer Infrastruktur und im Finanzsektor. Die DSGVO regelt, wie personenbezogene Daten in Code und Logs verarbeitet werden. Branchenregime wie die BaFin-Aufsicht im deutschen Finanzwesen, BSI C5 als Beschaffungsgrundlage und Vorgaben für Gesundheitsdaten setzen eigene Rahmen. Und viele europäische Organisationen behandeln ",[718,757,760],{"href":758,"rel":759},"https://about.gitlab.com/de-de/blog/gitlab-duo-self-hosted-models-on-aws-bedrock/",[],"Datensouveränität"," ohnehin als Anforderung erster Ordnung, unabhängig von einer einzelnen Regulierung.",[712,763,764],{},"Am deutlichsten spüren das Finanzdienstleister, Gesundheitswesen und Pharma, Verteidigung, der öffentliche Sektor und kritische Infrastruktur. GitLab Self-Hosted existiert genau dafür, dass dieser Code einen vertrauenswürdigen Perimeter nie verlassen muss. KI in den Workflow zu holen, sollte das nicht stillschweigend aushebeln.",[731,766,768],{"id":767},"warum-ki-das-selbst-hosten-erschwert","Warum KI das Selbst-Hosten erschwert",[712,770,771],{},"Ein selbst hostendes Team, das KI-Unterstützung beim Programmieren möchte, hat drei herkömmliche Optionen, und jede hat Kosten, die eine regulierte Organisation kaum tragen kann.",[773,774,775,793],"table",{},[776,777,778],"thead",{},[779,780,781,784,787,790],"tr",{},[782,783],"th",{},[782,785,786],{},"Öffentliche KI-SaaS",[782,788,789],{},"VPC / Private-Cloud-KI",[782,791,792],{},"Eigener LLM-Stack",[794,795,796,811,825,839,853],"tbody",{},[779,797,798,802,805,808],{},[799,800,801],"td",{},"Quellcode verlässt den eigenen Perimeter",[799,803,804],{},"Ja",[799,806,807],{},"Ja (an den Betreiber)",[799,809,810],{},"Nein",[779,812,813,816,819,822],{},[799,814,815],{},"Art der Zusicherung",[799,817,818],{},"Vertraglich (Nutzungsbedingungen)",[799,820,821],{},"Vertraglich (Betreiber + Cloud)",[799,823,824],{},"Selbst durchgesetzt",[779,826,827,830,833,836],{},[799,828,829],{},"Sieht den Klartext",[799,831,832],{},"Der Anbieter",[799,834,835],{},"Betreiber und Cloud-Anbieter",[799,837,838],{},"Nur die eigene Organisation",[779,840,841,844,847,850],{},[799,842,843],{},"Infrastrukturaufwand",[799,845,846],{},"Keiner",[799,848,849],{},"Gering",[799,851,852],{},"Hoch: GPUs, Modellbetrieb, Updates",[779,854,855,858,860,863],{},[799,856,857],{},"Hält mit den führenden Modellen Schritt",[799,859,804],{},[799,861,862],{},"Meistens",[799,864,865],{},"Selten, der Rückstand bleibt",[867,868],"br",{},[712,870,871],{},"Die Tabelle zeigt: Öffentliche KI-SaaS und VPC-Optionen legen Code offen und stützen sich auf vertragliche Zusicherungen, während ein eigener Stack den Code zwar privat hält, aber erheblichen Aufwand für GPUs und Modellbetrieb mit sich bringt.",[712,873,874],{},"Nüchtern zusammengefasst: Öffentliche SaaS scheidet aus, weil der Code das Haus verlässt. Ein VPC-isolierter oder Private-Cloud-Dienst verringert die Offenlegung, übergibt den Klartext aber weiterhin an den Betreiber und den darunterliegenden Cloud-Anbieter. Ein Vertrag ist zudem ein Versprechen, keine kryptografische Zusicherung. Eigene Modelle zu betreiben, hält den Code privat, ist aber teuer in der Beschaffung, teuer im Personal und strukturell hinter den besten verfügbaren Modellen. Vor dieser Wahl führen die meisten regulierten Organisationen KI nur eng begrenzt oder gar nicht ein.",[712,876,877],{},"Damit stellt sich die Frage: Wie erhalten Entwicklungsteams moderne KI-Coding-Agenten, ohne dass Quellcode den Perimeter verlässt und ohne selbst einen LLM-Stack zu betreiben? Die Antwort verlangt eine andere Art von Zusicherung, als ein Vertrag sie geben kann, nämlich eine, die Hardware durchsetzt.",[731,879,881],{"id":880},"confidential-computing-die-architektonische-antwort","Confidential Computing: die architektonische Antwort",[712,883,884,885,889,890,893],{},"Confidential Computing hält Daten ",[886,887,888],"em",{},"im Arbeitsspeicher"," verschlüsselt, also während der Verarbeitung, mithilfe eines hardwarebasierten Trusted Execution Environment (TEE), eines isolierten Bereichs einer CPU oder GPU, in den weder Betriebssystem noch Hypervisor noch der Betreiber der Maschine hineinlesen können. Die relevante Hardware ist hier AMD SEV oder Intel TDX auf CPU-Seite, kombiniert mit NVIDIA Confidential Computing auf der GPU. Daten sind bei der Übertragung und im Ruhezustand mit AES-256 verschlüsselt und werden ausschließlich ",[886,891,892],{},"innerhalb"," des TEE entschlüsselt.",[712,895,896,897,901],{},"Was daraus statt eines Versprechens eine Zusicherung macht, ist die ",[898,899,900],"strong",{},"Remote Attestation",". Bevor ein Client Daten sendet, fordert er das TEE auf nachzuweisen, was es ist: Die Hardware erzeugt signierte, kryptografische Belege darüber, welcher Code genau innerhalb der Enclave läuft. Der Client prüft diese Belege gegen bekannte Sollwerte und baut erst danach den verschlüsselten Kanal auf und sendet seine Anfrage. Erst prüfen, dann senden.",[712,903,904],{},[905,906],"img",{"alt":907,"src":908},"Datenflussdiagramm","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786033561/tjh50p5pliyu1oyftdtn.png",[712,910,911],{},"Das Datenflussdiagramm zeigt Prompts, die auf dem Client verschlüsselt, als Chiffrat übertragen und erst innerhalb eines Hardware-TEE entschlüsselt werden, in das weder der Betreiber des Dienstes noch der Cloud-Anbieter hineinsehen kann.",[712,913,914],{},"Die daraus folgende Sicherheitseigenschaft ist der eigentliche Punkt: Weder der Betreiber des KI-Dienstes noch der darunterliegende Cloud-Anbieter sieht Prompts, Completions oder Kontext. Nicht, weil sie versprechen, nicht hinzusehen, sondern weil die Hardware es nicht zulässt.",[731,916,728],{"id":917},"privatemode-ai",[712,919,920,924,925,930,931,936],{},[718,921,728],{"href":922,"rel":923},"https://docs.privatemode.ai/",[]," stammt von ",[718,926,929],{"href":927,"rel":928},"https://edgeless.systems/",[],"Edgeless Systems",", einem auf Confidential-Computing-Software spezialisierten Unternehmen aus Deutschland. ",[718,932,935],{"href":933,"rel":934},"https://images.nvidia.com/aem-dam/Solutions/Data-Center/confidential-computing/hpc-solution-brief-edgeless-systems-3427281.pdf?ncid=no-ncid",[],"Laut NVIDIA"," ist Privatemode das \"first generative AI framework that keeps prompts encrypted at all times\".",[712,938,939,940,944],{},"Für die Entwicklungsarbeit bleibt die Mechanik unsichtbar. Privatemode stellt eine OpenAI-kompatible API bereit, und ein clientseitiger Proxy übernimmt Attestation und Verschlüsselung transparent, sodass Werkzeuge und SDKs, die die Standard-",[941,942,943],"code",{},"/v1","-API sprechen, unverändert funktionieren. Aktuelles Flaggschiffmodell fürs Programmieren ist Kimi K2.6 mit 256K Kontext, weitere wie Kimi K3 und GLM folgen.",[712,946,947],{},"Das ist kein Laborexperiment. Privatemode läuft bereits produktiv bei Organisationen mit genau den oben beschriebenen Rahmenbedingungen. Capgemini nutzt es für Kunden aus regulierten Branchen, einschließlich vertraulicher Programmierarbeit. Die Bundesagentur für Arbeit setzt es im öffentlichen Sektor ein. Und Banken, Versicherer und Verteidigungsorganisationen nutzen es dort, wo Quellcode und Daten eine vertrauenswürdige Grenze nicht verlassen dürfen. Die Kryptografie ist post-quantensicher, was auch gegen Angriffe nach dem Muster \"harvest now, decrypt later\" schützt. Wer heute Chiffrat abgreift, um es mit der Hardware von morgen zu entschlüsseln, erhält nichts Verwertbares.",[731,949,951],{"id":950},"so-funktioniert-die-integration","So funktioniert die Integration",[712,953,954],{},"Mit GitLab Duo Self-Hosted lassen sich die KI-Funktionen von Duo aus einem selbst kontrollierten Modell bedienen statt aus einem von GitLab betriebenen Gateway. Privatemode tritt an diese Stelle.",[712,956,957,958,961,962,965,966,968],{},"Der Weg ist unkompliziert. GitLab Duo spricht mit einem selbst gehosteten ",[898,959,960],{},"AI Gateway",", das die Inferenz an einen beliebigen OpenAI-kompatiblen Endpunkt weiterreicht. Der Privatemode-Proxy ",[886,963,964],{},"ist"," dieser Endpunkt: Er stellt eine Standard-",[941,967,943],{},"-API bereit und übernimmt Verschlüsselung und Attestation gegenüber dem Privatemode-Dienst. Trifft eine Anfrage ein, verschlüsselt der Proxy sie, bevor sie das eigene Netz verlässt, prüft das entfernte TEE per Attestation und leitet sie erst dann weiter. Entschlüsselt wird ausschließlich innerhalb der Confidential-Computing-Umgebung. Innerhalb von Duo, über Code Suggestions, Chat, Code Review und agentische Flows hinweg, bleibt die Arbeitsweise für Entwickelnde unverändert.",[970,971,976],"pre",{"className":972,"code":973,"language":974,"meta":975,"style":975},"language-mermaid shiki shiki-themes github-light","sequenceDiagram\n    autonumber\n    actor Dev as Entwickelnde /\u003Cbr>Duo Agent Platform\n    participant GW as Selbst gehostetes\u003Cbr>GitLab AI Gateway\n    participant Proxy as Privatemode\u003Cbr>Proxy\n    participant TEE as Entferntes TEE\u003Cbr>(CPU + GPU)\n\n    Dev->>GW: Inferenz-Anfrage (Code\u003Cbr>Suggestions, Chat,\u003Cbr>Code Review, Flows)\n    GW->>Proxy: Anfrage an OpenAI-\u003Cbr>kompatiblen Endpunkt\u003Cbr>weiterleiten\n\n    rect rgb(255, 244, 214)\n        Note over Proxy,TEE: Attestation, bevor Code gesendet wird\n        Proxy->>TEE: Attestation-Belege anfordern\n        TEE-->>Proxy: Signierte Belege des Enclave-Codes\n        Proxy->>Proxy: Belege gegen bekannte Sollwerte prüfen\n        Proxy->>TEE: Verschlüsselten Kanal aufbauen (AES-256, post-quantensicher)\n    end\n\n    Proxy->>TEE: Verschlüsselte Anfrage weiterleiten\n    Note over TEE: Entschlüsselung und Inferenz\u003Cbr>nur innerhalb der Enclave\n    TEE-->>Proxy: Verschlüsselte Antwort\n    Proxy-->>GW: Verschlüsselte Antwort\n    GW-->>Dev: Completion (Arbeitsweise\u003Cbr>unverändert)\n","mermaid","",[941,977,978,987,993,999,1005,1011,1017,1023,1029,1035,1040,1046,1052,1058,1064,1070,1076,1082,1087,1093,1099,1105,1111],{"__ignoreMap":975},[979,980,983],"span",{"class":981,"line":982},"line",1,[979,984,986],{"class":985},"sgsFI","sequenceDiagram\n",[979,988,990],{"class":981,"line":989},2,[979,991,992],{"class":985},"    autonumber\n",[979,994,996],{"class":981,"line":995},3,[979,997,998],{"class":985},"    actor Dev as Entwickelnde /\u003Cbr>Duo Agent Platform\n",[979,1000,1002],{"class":981,"line":1001},4,[979,1003,1004],{"class":985},"    participant GW as Selbst gehostetes\u003Cbr>GitLab AI Gateway\n",[979,1006,1008],{"class":981,"line":1007},5,[979,1009,1010],{"class":985},"    participant Proxy as Privatemode\u003Cbr>Proxy\n",[979,1012,1014],{"class":981,"line":1013},6,[979,1015,1016],{"class":985},"    participant TEE as Entferntes TEE\u003Cbr>(CPU + GPU)\n",[979,1018,1020],{"class":981,"line":1019},7,[979,1021,1022],{"emptyLinePlaceholder":14},"\n",[979,1024,1026],{"class":981,"line":1025},8,[979,1027,1028],{"class":985},"    Dev->>GW: Inferenz-Anfrage (Code\u003Cbr>Suggestions, Chat,\u003Cbr>Code Review, Flows)\n",[979,1030,1032],{"class":981,"line":1031},9,[979,1033,1034],{"class":985},"    GW->>Proxy: Anfrage an OpenAI-\u003Cbr>kompatiblen Endpunkt\u003Cbr>weiterleiten\n",[979,1036,1038],{"class":981,"line":1037},10,[979,1039,1022],{"emptyLinePlaceholder":14},[979,1041,1043],{"class":981,"line":1042},11,[979,1044,1045],{"class":985},"    rect rgb(255, 244, 214)\n",[979,1047,1049],{"class":981,"line":1048},12,[979,1050,1051],{"class":985},"        Note over Proxy,TEE: Attestation, bevor Code gesendet wird\n",[979,1053,1055],{"class":981,"line":1054},13,[979,1056,1057],{"class":985},"        Proxy->>TEE: Attestation-Belege anfordern\n",[979,1059,1061],{"class":981,"line":1060},14,[979,1062,1063],{"class":985},"        TEE-->>Proxy: Signierte Belege des Enclave-Codes\n",[979,1065,1067],{"class":981,"line":1066},15,[979,1068,1069],{"class":985},"        Proxy->>Proxy: Belege gegen bekannte Sollwerte prüfen\n",[979,1071,1073],{"class":981,"line":1072},16,[979,1074,1075],{"class":985},"        Proxy->>TEE: Verschlüsselten Kanal aufbauen (AES-256, post-quantensicher)\n",[979,1077,1079],{"class":981,"line":1078},17,[979,1080,1081],{"class":985},"    end\n",[979,1083,1085],{"class":981,"line":1084},18,[979,1086,1022],{"emptyLinePlaceholder":14},[979,1088,1090],{"class":981,"line":1089},19,[979,1091,1092],{"class":985},"    Proxy->>TEE: Verschlüsselte Anfrage weiterleiten\n",[979,1094,1096],{"class":981,"line":1095},20,[979,1097,1098],{"class":985},"    Note over TEE: Entschlüsselung und Inferenz\u003Cbr>nur innerhalb der Enclave\n",[979,1100,1102],{"class":981,"line":1101},21,[979,1103,1104],{"class":985},"    TEE-->>Proxy: Verschlüsselte Antwort\n",[979,1106,1108],{"class":981,"line":1107},22,[979,1109,1110],{"class":985},"    Proxy-->>GW: Verschlüsselte Antwort\n",[979,1112,1114],{"class":981,"line":1113},23,[979,1115,1116],{"class":985},"    GW-->>Dev: Completion (Arbeitsweise\u003Cbr>unverändert)\n",[867,1118],{},[712,1120,1121,1122,1127],{},"Im Sequenzdiagramm läuft eine Anfrage aus GitLab Duo über das selbst gehostete AI Gateway zum Privatemode-Proxy, der die entfernte Enclave attestiert und einen verschlüsselten Kanal aufbaut. Erst danach reicht er die Anfrage zur Inferenz innerhalb des TEE weiter.\nAI Gateway und Proxy werden selbst betrieben, und das Setup ist deployment-agnostisch (Linux-Paket, Docker oder Kubernetes). Die Schritte sind dokumentiert und versionsspezifisch, deshalb hier nicht wiederholt: siehe ",[718,1123,1126],{"href":1124,"rel":1125},"https://www.privatemode.ai/coding-tool/gitlab-duo",[],"Privatemodes Integrationsanleitung für GitLab Duo",".",[731,1129,1131],{"id":1130},"die-kompromisse","Die Kompromisse",[712,1133,1134],{},"Keine Architektur ist umsonst, und ein technisches Publikum hat Anspruch darauf, die Kosten klar benannt zu bekommen.",[712,1136,1137,1140],{},[898,1138,1139],{},"Gateway und Proxy werden selbst betrieben."," Das ist echte Infrastrukturarbeit: das AI Gateway unter einem passenden Hostnamen bereitstellen, seine Image-Version bei jedem Upgrade zur GitLab-Version passend halten, JWT-Schlüssel und Zertifikate konfigurieren und den Proxy erreichbar halten. Es ist allerdings gewöhnlicher Infrastrukturbetrieb, keine GPU-Beschaffung und kein Modellbetrieb. Genau darin liegt der Unterschied. Die Alternative, die den Code ebenfalls privat hält, nämlich ein eigener LLM-Stack, bedeutet knappe GPUs zu kaufen und ein Team für Betrieb und Modell-Updates zu stellen, während man den führenden Modellen hinterherläuft. Privatemode ist ein gehosteter SaaS-Dienst, der den Modellbetrieb übernimmt, und was bleibt, sind ein Proxy und ein Gateway.",[712,1142,1143,1146],{},[898,1144,1145],{},"Generische OpenAI-kompatible Modelle sind in GitLab Duo Self-Hosted noch nicht ausgereift."," Sie laufen derzeit als Beta-Funktion, Support für modellspezifische Probleme ist also noch nicht zugesichert. Eine Härtung steht auf der Roadmap, doch wer jetzt eine vollständig unterstützte Konfiguration braucht, sollte diesen Zeithorizont im Rollout berücksichtigen.",[712,1148,1149,1152],{},[898,1150,1151],{},"Attestation und Verschlüsselung erzeugen zusätzlichen Aufwand."," Der zusätzliche Roundtrip und die kryptografische Arbeit kosten pro Anfrage etwas. In unseren Tests war das praktisch kein Problem, die Integrationsanleitung empfiehlt allerdings, das Timeout des AI Gateway für langsamere selbst gehostete Backends heraufzusetzen, weshalb sich eine Messung am eigenen Latenzbudget lohnt.",[712,1154,1155,1158],{},[898,1156,1157],{},"Vertrauen bleibt nötig, aber es ist begrenzt."," Die Zusicherung beruht darauf, dass das Hardware-TEE und die Kette der Attestation solide sind. Das ist eine kleinere, besser prüfbare Vertrauensannahme als \"dem Betreiber vertrauen, dass er nicht hinsieht\", und die Belege der Attestation lassen sich selbst nachprüfen, aber null ist sie nicht. Confidential Computing verengt das Vertrauen auf das Silizium. Es beseitigt es nicht.",[731,1160,1162],{"id":1161},"was-das-in-der-praxis-bedeutet","Was das in der Praxis bedeutet",[1164,1165,1166,1173,1179],"ul",{},[1167,1168,1169,1172],"li",{},[898,1170,1171],{},"Für regulierte Organisationen:"," Der Weg zu modernen KI-Coding-Agenten passt zur bestehenden Richtlinie für IP- und Datenschutz, weil der Code innerhalb einer hardwareverschlüsselten Grenze bleibt, und das ohne GPU-Kauf und ohne eigenen Modellbetrieb.",[1167,1174,1175,1178],{},[898,1176,1177],{},"Für Entwickelnde:"," Die GitLab-Duo-Erfahrung bleibt dieselbe, die Modelle sind dieselben oder besser, und neue Werkzeuge braucht es nicht. Da die Modellauswahl auf der Instanz liegt, übernehmen auch Chat und Code Suggestions im Editor über die GitLab Workflow Extension dasselbe vertrauliche Setup.",[1167,1180,1181,1184],{},[898,1182,1183],{},"Für Compliance- und Security-Teams:"," Die Architektur passt zur Richtung von BSI C5:2026 hin zu Confidential Computing und Remote Attestation, und sie liefert konkrete technische Belege, nämlich Verschlüsselung während der Verarbeitung und attestierte Ausführung, für Gespräche zu NIS2, DORA und DSGVO. Compliance stellt sie damit nicht allein her, denn Compliance ist organisatorisch und fortlaufend. Sie räumt aber den Einwand aus, der KI-Einführung überhaupt erst blockiert: \"Unser Code würde den Perimeter verlassen.\"",[731,1186,1188],{"id":1187},"mit-privatemode-starten","Mit Privatemode starten",[712,1190,1191,1192,1197,1198,1203],{},"Für Privatemode als selbst gehosteten Modellanbieter braucht es GitLab Self-Managed mit Premium oder Ultimate, ab Version 17.9. Hinzu kommt das Add-on GitLab Duo Enterprise. ",[718,1193,1196],{"href":1194,"rel":1195},"https://about.gitlab.com/de-de/blog/agentic-ai-enterprise-control-self-hosted-duo-agent-platform-and-byom/",[],"Agentische Flows"," benötigen zusätzlich die GitLab Duo Agent Platform (allgemein verfügbar ab Version 18.8). Die Nutzung verbraucht GitLab Credits nach den Regeln und Multiplikatoren für Bring-your-own-Model, die in der ",[718,1199,1202],{"href":1200,"rel":1201},"https://docs.gitlab.com/subscriptions/gitlab_credits/",[],"Dokumentation zu GitLab Credits"," beschrieben sind.",[731,1205,1207],{"id":1206},"weiterlesen","Weiterlesen",[1164,1209,1210,1216,1222,1229,1236],{},[1167,1211,1212],{},[718,1213,1215],{"href":922,"rel":1214},[],"Privatemode-Dokumentation",[1167,1217,1218],{},[718,1219,1221],{"href":1124,"rel":1220},[],"Integrationsanleitung für GitLab Duo",[1167,1223,1224],{},[718,1225,1228],{"href":1226,"rel":1227},"https://docs.privatemode.ai/guides/coding-assistants/",[],"Leitfaden für Coding-Assistenten",[1167,1230,1231],{},[718,1232,1235],{"href":1233,"rel":1234},"https://www.privatemode.ai/de/case-studies/capgemini-case-study",[],"Capgemini-Fallstudie",[1167,1237,1238],{},[718,1239,1241],{"href":933,"rel":1240},[],"NVIDIA-Lösungsbeschreibung",[1243,1244,1245],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":975,"searchDepth":989,"depth":989,"links":1247},[1248,1249,1250,1251,1252,1253,1254,1255,1256,1257],{"id":733,"depth":989,"text":734},{"id":748,"depth":989,"text":749},{"id":767,"depth":989,"text":768},{"id":880,"depth":989,"text":881},{"id":917,"depth":989,"text":728},{"id":950,"depth":989,"text":951},{"id":1130,"depth":989,"text":1131},{"id":1161,"depth":989,"text":1162},{"id":1187,"depth":989,"text":1188},{"id":1206,"depth":989,"text":1207},"2026-08-06","KI-Coding-Agenten in GitLab Duo nutzen, ohne dass Quellcode eine hardwareverschlüsselte Grenze verlässt, und ohne eigene GPUs zu betreiben.","md","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",{},"/de-de/blog/confidential-ai-for-gitlab-self-hosted",{"config":1265,"title":704,"description":1259},{"noIndex":10},"confidential-ai-for-gitlab-self-hosted","de-de/blog/confidential-ai-for-gitlab-self-hosted",[1269,1270],"AI","product","BlogPost","BOKJy5cotFoYiKZI1mZYCF5SEvQo11u0h7LeACKp3-M",[1274,1281,1288,1294,1301,1308,1315,1322,1329],{"title":1275,"heroImage":1276,"category":9,"description":1277,"authors":1278,"slug":1280,"externalUrl":6},"Linux-Server: Warum sich die Installation lohnt","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663065/Blog/Hero%20Images/serveur-linux.jpg","Linux-Server sind weltweit führend. Wir erklären dir, warum und du selbst von den Vorteilen profitieren kannst.",[1279],"GitLab Germany Team","what-is-a-linux-server",{"title":1282,"heroImage":1283,"category":9,"description":1284,"authors":1285,"slug":1287,"externalUrl":6},"Automatisierung der Migration von Container-Images von Amazon ECR zu GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663129/Blog/Hero%20Images/blog-image-template-1800x945__28_.png","Wenn Plattformteams ihre CI/CD zu GitLab verschieben, sollte die Migration von Container-Images kein Engpass sein. Befolge diese Schritt-für-Schritt-Anleitung, um den Pipeline-Migrationsprozess zu automatisieren.",[1286],"Tim Rizzi","automating-container-image-migration-from-amazon-ecr-to-gitlab",{"title":1289,"heroImage":1290,"category":9,"description":1291,"authors":1292,"slug":1293,"externalUrl":6},"Was ist eine integrierte Entwicklungsumgebung (IDE)?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659768/Blog/Hero%20Images/AdobeStock_271529563.jpg","Der ultimative Guide: Alles, was du über Integrierte Entwicklungsumgebungen wissen musst.",[1279],"what-is-an-ide",{"title":1295,"heroImage":1296,"category":9,"description":1297,"authors":1298,"slug":1300,"externalUrl":6},"Kontinuierliche Bereitstellung in fünf Umgebungen mithilfe von untergeordneten Pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097012/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_397632156_3Ldy1urjMStQCl4qnOBvE0_1750097011626.jpg","Erfahre, wie du die kontinuierliche Bereitstellung in verschiedenen Umgebungen – darunter temporäre, sofort einsatzbereite Sandboxes – mit einem minimalistischen GitLab-Workflow verwalten kannst.",[1299],"Olivier Dupré","using-child-pipelines-to-continuously-deploy-to-five-environments",{"title":1302,"heroImage":1303,"category":9,"description":1304,"authors":1305,"slug":1307,"externalUrl":6},"Einfaches Erstellen einer GitLab-CI/CD-Pipeline für ein Monorepo","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660151/Blog/Hero%20Images/blog-image-template-1800x945__26_.png","Erfahre, wie du eine GitLab-CI/CD-Pipeline für ein Monorepo erstellst, um mehrere Anwendungen in einem Repository zu hosten.",[1306],"Sam Morris","building-a-gitlab-ci-cd-pipeline-for-a-monorepo-the-easy-way",{"title":1309,"heroImage":1310,"category":9,"description":1311,"authors":1312,"slug":1314,"externalUrl":6},"Effiziente DevSecOps-Workflows: Praktische python-gitlab-API-Automatisierung","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659883/Blog/Hero%20Images/post-cover-image.jpg","Die Python-GitLab-Bibliothek ist eine nützliche Basis für die GitLab-API. In diesem Tutorial erfährst du mehr über praktische Beispiele und bewährte Verfahren.",[1313],"Michael Friedrich","efficient-devsecops-workflows-hands-on-python-gitlab-api-automation",{"title":1316,"heroImage":1317,"category":9,"description":1318,"authors":1319,"slug":1321,"externalUrl":6},"Observability vs. Monitoring in DevOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665484/Blog/Hero%20Images/monitoring-update-feature-image.jpg","Observability sammelt Daten, um Prozesse zu optimieren und Probleme zu beheben. Wir zeigen dir, wie das geht - und warum es dem Monitoring überlegen ist.",[1320],"Mike Vanbuskirk","observability-vs-monitoring-in-devops",{"title":1323,"heroImage":1324,"category":9,"description":1325,"authors":1326,"slug":1328,"externalUrl":6},"GitLab Umgebungsvariablen einfach erklärt ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664679/Blog/Hero%20Images/blog-image-template-1800x945__24_.png","CI/CD-Variablen sind nützliche (und flexible) Tools zur Steuerung von Jobs und Pipelines. Wir verraten dir alles, was du über GitLab-Umgebungsvariablen wissen musst.",[1327],"Veethika Mishra","demystifying-ci-cd-variables",{"title":1330,"heroImage":1331,"category":9,"description":1332,"authors":1333,"slug":1336,"externalUrl":6},"Deployment mit GitLab CI an verschiedene Umgebungen: So funktioniert es","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662033/Blog/Hero%20Images/intro.jpg","Erfahre, wie du GitLab CI für automatische Deployments in mehrere Umgebungen einrichtest, inklusive AWS S3-Integration und sicherer Variablenverwaltung.",[1334,1335],"Ivan Nemytchenko","Cesar Saavedra","ci-deployment-and-environments",1786803798942]