urn:uuid:b9e8a5ae-bd8d-440d-8270-55173120b619
heise developer News
2026-04-02T13:41:00.000Z
Heise - Content
Heise
https://www.heise.de
Copyright (c) Heise Medien
urn:bid:5057388
2026-04-02T13:41:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
EmDash ist ein neues Content-Management-System mit TypeScript- und Astro-Basis. Plug-ins sollen dort sicher innerhalb einer Sandbox laufen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Cloudflare-s-Open-Source-CMS-EmDash-challenges-WordPress-11245168.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FOpen-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FOpen-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Open-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Open-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus/forum-580442/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>9</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Zwei tippende Hände auf Laptop; dahinter viele DIN-A4-Order"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Stokkete / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T15:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">15:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Maika-Moebus-4588908"
class="creator__link"
>Maika Möbus</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Cloudflare-s-Open-Source-CMS-EmDash-challenges-WordPress-11245168.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Cloudflare hat EmDash als Preview veröffentlicht, ein Open-Source-CMS mit einem Fokus auf Sicherheit. Das Unternehmen schickt es als den „geistigen Nachfolger“ des seit über 20 Jahren bestehenden WordPress ins Rennen. EmDash zeichnet sich dadurch aus, dass es Plug-ins in einer eigenen Sandbox ausführt, um die Sicherheit zu erhöhen. Integrierte KI-Funktionen dürfen ebenfalls nicht fehlen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>EmDash ist serverlos, lässt sich jedoch auf eigener Hardware oder einer Plattform nach Wahl ausführen. Das Fullstack-Content-Management-System (CMS) ist in TypeScript geschrieben und nutzt unter der Haube das Open-Source-Webframework Astro, dessen Hersteller Astro Technology Company <a href="http://www.heise.de/news/Webentwicklung-Cloudflare-uebernimmt-Astro-Technology-Company-11145473.html">erst Anfang des Jahres von Cloudflare übernommen wurde</a>. Benannt ist das CMS nach dem <a href="https://de.wikipedia.org/wiki/Geviertstrich" rel="external noopener" target="_blank">Geviertstrich</a> (—), der unter anderem in der englischen Typografie als Gedankenstrich verwendet wird.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
JavaScript-Konferenz von heise: enterJS 2026
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/7/3/8/8/a52291704ab1e141.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: jaboy/123rf.com)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Tools und Trends in der JavaScript-Welt: Die <a href="https://enterjs.de/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_enterJS.empfehlung-ho.link.link" rel="external noopener" target="_blank">enterJS 2026</a> wird am 16. und 17. Juni in Mannheim stattfinden. Das Programm dreht sich rund um JavaScript und TypeScript, Frameworks, Tools und Bibliotheken, Security, UX und mehr. <a href="https://enterjs.de/tickets.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_enterJS.empfehlung-ho.link.link" rel="external noopener" target="_blank">Frühbuchertickets</a> sind im Online-Ticketshop erhältlich.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<h3 class="subheading" id="nav_plug_ins_in__0">Plug-ins in eigener Sandbox</h3>
<p><a href="https://blog.cloudflare.com/emdash-wordpress/#solving-the-wordpress-plugin-security-crisis" rel="external noopener" target="_blank">Wie Cloudflare in seinem Blog beschreibt</a>, haben 96 Prozent aller Security-Probleme in WordPress ihren Ursprung in Plug-ins. In EmDash läuft daher jedes Plug-in innerhalb seiner eigenen, isolierten Sandbox. Dazu kommt die Cloudflare-Technologie <a href="https://developers.cloudflare.com/workers/runtime-apis/bindings/worker-loader/" rel="external noopener" target="_blank">Dynamic Workers</a> zum Einsatz. Ein Plug-in erhält seine Fähigkeiten in EmDash via Bindings und kann ausschließlich die im Manifest des Plug-ins explizit deklarierten Aktionen durchführen. Das soll Entwicklerinnen und Entwicklern bereits vor der Installation die Gewissheit geben, welche Befugnisse eine Erweiterung haben wird.</p>
<p>Plug-ins für EmDash können zudem eine beliebige Lizenz haben, da sie von EmDash unabhängig sind. Das soll einen Marketplace-Lock-in verhindern. WordPress-Erweiterungen unterliefen dagegen aus Sicherheitsgründen einer manuellen Review und seien eng mit WordPress-Code verwoben. Daher würde teils argumentiert, dass die WordPress-GPL-Lizenz genutzt werden müsse, so Cloudflare.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_integrierte__1">Integrierte KI-Features</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Als „KI-natives CMS“ angepriesen, bietet EmDash einige Features für die Nutzung künstlicher Intelligenz. EmDash-Instanzen enthalten Agent Skills und bieten einen integrierten Remote-MCP-Server (Model Context Protocol). Auch befähigt das EmDash-CLI KI-Agenten dazu, mit lokalen oder Remote-Instanzen von EmDash zu interagieren. Darüber lassen sich beispielsweise Medien hochladen, Inhalte durchsuchen oder Schemas erstellen und verwalten.</p>
<p>Auf verschiedene Arten können Entwicklerinnen und Entwickler ihre WordPress-Seiten <a href="https://blog.cloudflare.com/emdash-wordpress/#import-your-wordpress-sites-to-emdash" rel="external noopener" target="_blank">in EmDash importieren</a>. Um mit EmDash loszulegen, sind drei Starter-Templates enthalten: Blog, Marketing und Portfolio. Das Admin-Interface von EmDash können Interessierte <a href="https://emdashcms.com/playground" rel="external noopener" target="_blank">in einem Playground</a> ausprobieren.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/7/3/8/8/EmDash-Starter-Templates-be2de8810113357d.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/7/3/8/8/EmDash-Starter-Templates-be2de8810113357d.png">
<a-img alt="EmDash liefert drei Templates zum Einstieg." height="470" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/7/3/8/8/EmDash-Starter-Templates-be2de8810113357d.png" style="
aspect-ratio: 846 / 470;" width="846">
<img alt="EmDash liefert drei Templates zum Einstieg." height="470" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 846 / 470; object-fit: cover;" width="846">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">EmDash liefert drei Templates zum Einstieg.</div>
<p class="a-caption__source">
(Bild: <a href="https://github.com/emdash-cms/emdash?tab=readme-ov-file#templates" rel="external noopener" target="_blank">EmDash-Repository auf GitHub</a> (Screenshot))
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Im GitHub-Repository ist <a href="https://github.com/emdash-cms/emdash" rel="external noopener" target="_blank">der Quellcode des MIT-lizenzierten Projekts</a> zu finden, das sich derzeit in der Beta-Preview-Version 0.1.0 befindet. Weitere Informationen zu EmDash <a href="https://blog.cloudflare.com/emdash-wordpress/#import-your-wordpress-sites-to-emdash" rel="external noopener" target="_blank">teilt der Hersteller Cloudflare in seinem Blog mit</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<!-- content-web failed: %2Fcontent%2Fcontent-web%2Fmodule%2F4572872 -->
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:mai@heise.de" title="Maika Möbus">mai</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11245022"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11245022: Open-Source-CMS von Cloudflare: EmDash fordert WordPress heraus"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
EmDash ist ein neues Content-Management-System mit TypeScript- und Astro-Basis. Plug-ins sollen dort sicher innerhalb einer Sandbox laufen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Cloudflare-s-Open-Source-CMS-EmDash-challenges-WordPress-11245168.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FOpen-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FOpen-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Open-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Open-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus/forum-580442/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>9</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Zwei tippende Hände auf Laptop; dahinter viele DIN-A4-Order"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Stokkete / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T15:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">15:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Maika-Moebus-4588908"
class="creator__link"
>Maika Möbus</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Cloudflare-s-Open-Source-CMS-EmDash-challenges-WordPress-11245168.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Cloudflare hat EmDash als Preview veröffentlicht, ein Open-Source-CMS mit einem Fokus auf Sicherheit. Das Unternehmen schickt es als den „geistigen Nachfolger“ des seit über 20 Jahren bestehenden WordPress ins Rennen. EmDash zeichnet sich dadurch aus, dass es Plug-ins in einer eigenen Sandbox ausführt, um die Sicherheit zu erhöhen. Integrierte KI-Funktionen dürfen ebenfalls nicht fehlen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>EmDash ist serverlos, lässt sich jedoch auf eigener Hardware oder einer Plattform nach Wahl ausführen. Das Fullstack-Content-Management-System (CMS) ist in TypeScript geschrieben und nutzt unter der Haube das Open-Source-Webframework Astro, dessen Hersteller Astro Technology Company <a href="http://www.heise.de/news/Webentwicklung-Cloudflare-uebernimmt-Astro-Technology-Company-11145473.html">erst Anfang des Jahres von Cloudflare übernommen wurde</a>. Benannt ist das CMS nach dem <a href="https://de.wikipedia.org/wiki/Geviertstrich" rel="external noopener" target="_blank">Geviertstrich</a> (—), der unter anderem in der englischen Typografie als Gedankenstrich verwendet wird.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
JavaScript-Konferenz von heise: enterJS 2026
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/7/3/8/8/a52291704ab1e141.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: jaboy/123rf.com)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Tools und Trends in der JavaScript-Welt: Die <a href="https://enterjs.de/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_enterJS.empfehlung-ho.link.link" rel="external noopener" target="_blank">enterJS 2026</a> wird am 16. und 17. Juni in Mannheim stattfinden. Das Programm dreht sich rund um JavaScript und TypeScript, Frameworks, Tools und Bibliotheken, Security, UX und mehr. <a href="https://enterjs.de/tickets.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_enterJS.empfehlung-ho.link.link" rel="external noopener" target="_blank">Frühbuchertickets</a> sind im Online-Ticketshop erhältlich.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<h3 class="subheading" id="nav_plug_ins_in__0">Plug-ins in eigener Sandbox</h3>
<p><a href="https://blog.cloudflare.com/emdash-wordpress/#solving-the-wordpress-plugin-security-crisis" rel="external noopener" target="_blank">Wie Cloudflare in seinem Blog beschreibt</a>, haben 96 Prozent aller Security-Probleme in WordPress ihren Ursprung in Plug-ins. In EmDash läuft daher jedes Plug-in innerhalb seiner eigenen, isolierten Sandbox. Dazu kommt die Cloudflare-Technologie <a href="https://developers.cloudflare.com/workers/runtime-apis/bindings/worker-loader/" rel="external noopener" target="_blank">Dynamic Workers</a> zum Einsatz. Ein Plug-in erhält seine Fähigkeiten in EmDash via Bindings und kann ausschließlich die im Manifest des Plug-ins explizit deklarierten Aktionen durchführen. Das soll Entwicklerinnen und Entwicklern bereits vor der Installation die Gewissheit geben, welche Befugnisse eine Erweiterung haben wird.</p>
<p>Plug-ins für EmDash können zudem eine beliebige Lizenz haben, da sie von EmDash unabhängig sind. Das soll einen Marketplace-Lock-in verhindern. WordPress-Erweiterungen unterliefen dagegen aus Sicherheitsgründen einer manuellen Review und seien eng mit WordPress-Code verwoben. Daher würde teils argumentiert, dass die WordPress-GPL-Lizenz genutzt werden müsse, so Cloudflare.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_integrierte__1">Integrierte KI-Features</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Als „KI-natives CMS“ angepriesen, bietet EmDash einige Features für die Nutzung künstlicher Intelligenz. EmDash-Instanzen enthalten Agent Skills und bieten einen integrierten Remote-MCP-Server (Model Context Protocol). Auch befähigt das EmDash-CLI KI-Agenten dazu, mit lokalen oder Remote-Instanzen von EmDash zu interagieren. Darüber lassen sich beispielsweise Medien hochladen, Inhalte durchsuchen oder Schemas erstellen und verwalten.</p>
<p>Auf verschiedene Arten können Entwicklerinnen und Entwickler ihre WordPress-Seiten <a href="https://blog.cloudflare.com/emdash-wordpress/#import-your-wordpress-sites-to-emdash" rel="external noopener" target="_blank">in EmDash importieren</a>. Um mit EmDash loszulegen, sind drei Starter-Templates enthalten: Blog, Marketing und Portfolio. Das Admin-Interface von EmDash können Interessierte <a href="https://emdashcms.com/playground" rel="external noopener" target="_blank">in einem Playground</a> ausprobieren.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/7/3/8/8/EmDash-Starter-Templates-be2de8810113357d.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/7/3/8/8/EmDash-Starter-Templates-be2de8810113357d.png">
<a-img alt="EmDash liefert drei Templates zum Einstieg." height="470" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/7/3/8/8/EmDash-Starter-Templates-be2de8810113357d.png" style="
aspect-ratio: 846 / 470;" width="846">
<img alt="EmDash liefert drei Templates zum Einstieg." height="470" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 846 / 470; object-fit: cover;" width="846">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">EmDash liefert drei Templates zum Einstieg.</div>
<p class="a-caption__source">
(Bild: <a href="https://github.com/emdash-cms/emdash?tab=readme-ov-file#templates" rel="external noopener" target="_blank">EmDash-Repository auf GitHub</a> (Screenshot))
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Im GitHub-Repository ist <a href="https://github.com/emdash-cms/emdash" rel="external noopener" target="_blank">der Quellcode des MIT-lizenzierten Projekts</a> zu finden, das sich derzeit in der Beta-Preview-Version 0.1.0 befindet. Weitere Informationen zu EmDash <a href="https://blog.cloudflare.com/emdash-wordpress/#import-your-wordpress-sites-to-emdash" rel="external noopener" target="_blank">teilt der Hersteller Cloudflare in seinem Blog mit</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<!-- content-web failed: %2Fcontent%2Fcontent-web%2Fmodule%2F4572872 -->
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:mai@heise.de" title="Maika Möbus">mai</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11245022"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11245022: Open-Source-CMS von Cloudflare: EmDash fordert WordPress heraus"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-02T13:41:00.000Z
urn:bid:5053632
2026-04-02T12:42:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Kubernetes ist eines der größten Open-Source-Projekte, unterstützt von Tausenden Contributors. Wie der Einstieg gelingen kann, beschreibt Mario Fahlandt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/How-does-an-open-source-project-actually-work-a-look-at-Kubernetes-11245043.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FWie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes-11227313.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FWie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes-11227313.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/Wie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes-11227313.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Wie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes/forum-580434/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Mehrere Personen nebeneiander sitzend mit Laptops und Tablets auf dem Schoß"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: peampath2812 / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T14:42:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">14:42
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/How-does-an-open-source-project-actually-work-a-look-at-Kubernetes-11245043.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Mit über 90.000 Contributors und rund 4,4 Millionen Contributions ist Kubernetes nach Linux das zweitgrößte Open-Source-Projekt weltweit. Hierzulande stuft mittlerweile auch das Bundesamt für Sicherheit in der Informationstechnik (BSI) Kubernetes als De-facto-Standard für Container-Orchestrierung ein. Doch wie funktioniert ein Projekt dieser Größenordnung eigentlich von innen? Im Rahmen des Cloud-Native-Festivals CloudLand 2025 hat Mario Fahlandt, der im Kubernetes-Projekt unter anderem in den Special Interest Groups (SIG) Contributor Experience und K8s Infra aktiv ist, einen detaillierten Einblick in die Strukturen, Einstiegsmöglichkeiten und Karrierepfade der Kubernetes-Community gegeben.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Fahlandt, der selbst als Host für die EMEA/APAC-Region bei der <a href="https://github.com/kubernetes/community/tree/master/mentoring/new-contributor-orientation" rel="external noopener" target="_blank">Kubernetes New Contributor Orientation</a> (NCO) fungiert, machte in <a href="https://vimeo.com/1098218591/7a43545b53" rel="external noopener" target="_blank">seinem Vortrag</a> deutlich: Beiträge zum Projekt beschränken sich keineswegs auf Code. Meeting-Notizen anfertigen, Fragen im Slack-Channel beantworten, Dokumentationen korrigieren oder Blog-Posts verfassen – all das zählt als Contribution.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
CloudLand 2026 – das Cloud Native Festival
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="CloudLand 2026 – das Cloud Native Festival" height="750" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/3/6/3/2/CL_26-Banner-1000x750-Online-News-4bbf1170c255aa26.jpg" style="aspect-ratio: 1000 / 750;" width="1000">
<img alt="CloudLand 2026 – das Cloud Native Festival" height="750" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1000 / 750; object-fit: cover;" width="1000">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: cloudland.org)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Vom 19. bis 22. Mai 2026 finden Interessierte beim <a href="https://www.cloudland.org/de/home/" rel="external noopener" target="_blank">Cloud-Native-Festival CloudLand</a> ein prall gefülltes <a href="https://meine.doag.org/events/cloudland/2026/agenda/#eventDay.all" rel="external noopener" target="_blank">Line-up</a> mit mehr als 200 Highlights – darunter die beiden neuen Themenbereiche „Open Source“ und „Platform Engineering“ mit einer bunten Mischung überwiegend interaktiver Sessions, Hands-ons und Workshops.</p><p><a href="https://meine.doag.org/events/cloudland/shop/" rel="external noopener" target="_blank">Tickets für das Festival</a> und Unterkünfte im Heide Park Soltau lassen sich über die Festival-Homepage buchen.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<h3 class="subheading" id="nav_drei_kategorien__0">Drei Kategorien von Special Interest Groups</h3>
<p>Die Community organisiert sich unter dem Dach der Cloud Native Computing Foundation (CNCF) in einer ausdifferenzierten Struktur. An der Spitze steht ein Steering Committee mit sieben gewählten Mitgliedern. Die eigentliche Arbeit findet in 24 Special Interest Groups (SIGs) statt, die sich in drei Kategorien gliedern: Project-SIGs wie Architecture, Docs oder Release unterstützen das Gesamtprojekt organisatorisch. Horizontal-SIGs – darunter API-Machinery, Auth oder Scalability – kümmern sich um querschnittliche Kernfunktionalität. Vertical-SIGs wie Network, Storage oder Node verantworten jeweils spezifische technische Komponenten. Ergänzt wird diese Struktur durch sieben Working Groups für temporäre Themen und drei Committees. Jeder Code- und Dokumentationsteil ist dabei einer konkreten SIG oder einem Subproject zugeordnet.</p>
<h3 class="subheading" id="nav_wer_sollte_sich__1">Wer sollte sich engagieren und wie gelingt der Einstieg?</h3>
<p>Wer einsteigen möchte, findet über den <a href="https://slack.k8s.io" rel="external noopener" target="_blank">Kubernetes-Slack</a> (Kanal #kubernetes-new-contributors), die <a href="https://groups.google.com/a/kubernetes.io/g/dev" rel="external noopener" target="_blank">K-Dev-Mailingliste</a> und den <a href="https://k8s.dev/calendar" rel="external noopener" target="_blank">Community-Kalender</a> Anschluss. Die monatliche NCO-Session findet jeweils am dritten Dienstag statt – für die EMEA/APAC-Region beispielsweise um 10:30 Uhr CET. Die Sessions laufen seit September 2024 und werden auch 2026 fortgesetzt.</p>
<h3 class="subheading" id="nav_die_contributor__2">Die Contributor Ladder als Karrierepfad</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Fahlandt zufolge definiert die sogenannte Contributor Ladder einen transparenten Aufstiegspfad. Vom Non-member Contributor gelangt man über die Org-Membership – für die zwei bestehende Reviewer bürgen müssen – zum Reviewer, Approver und schließlich zum Subproject Owner oder SIG Chair. Fahlandt warnte allerdings vor einer typischen Einstiegsfalle: Wer sich isoliert ein „Good First Issue“ aus dem Repository schnappt und ohne Kontakt zur jeweiligen SIG daran arbeitet, scheitert häufig. Labels wie „good first issue“ oder „help wanted“ in Repositories wie kubernetes/kubernetes markieren zwar geeignete Aufgaben – etwa Dokumentationsverbesserungen, Link-Korrekturen oder Test-Ergänzungen. Doch der Schlüssel zum Erfolg liegt darin, zunächst einer SIG beizutreten, an deren Meetings teilzunehmen und sich dauerhaft einzubringen. Besonders niedrigschwellig sind sogenannte Evergreen-Aufgaben wie Meeting-Protokolle, SIG-Spotlight-Blogposts oder Reviews für die SIG Docs.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5052027" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11224166"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/c-t-Workshop-Kubernetes-im-Blick-Observability-mit-Grafana-LGTM-meistern-11224166.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/2/0/2/7/Observability-fuer-Kubernetes-Umgebungen_ticker_1920x1080-6998801f50c6c3c6.png" alt="Figur mit Matrosenhut hält Steuerrad und Fernrohr vor gelbem Hintergrund" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Figur mit Matrosenhut hält Steuerrad und Fernrohr vor gelbem Hintergrund" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">c’t-Workshop: Kubernetes im Blick: Observability mit Grafana LGTM meistern</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Mastering-GitOps-Praxiswissen-von-Argo-CD-Fallstricken-bis-OCI-Patterns-11225280.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/2/6/0/1/MasteringGitOps-2026-ho-Teaser-Developer-16-9-0b2a392f5d42ba59.jpeg" alt="Mastering GitOps 2026" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Mastering GitOps 2026" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Mastering GitOps: Praxiswissen von Argo-CD-Fallstricken bis OCI-Patterns</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KubeCon-EU-2026-Kubernetes-wird-erwachsen-BSD-eBPF-und-mTLS-11226106.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6020" height="3383" src="https://www.heise.de/imgs/18/5/0/5/3/0/2/0/shutterstock_2164971661-2bfe02805cad49ad.jpeg" alt="Containerschiff im Sonnenuntergang auf See" style="aspect-ratio:6020 / 3383"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6020" height="3383" alt="Containerschiff im Sonnenuntergang auf See" style="aspect-ratio:6020 / 3383;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KubeCon EU 2026: Kubernetes wird erwachsen – BSD, eBPF und mTLS</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KubeCon-EU-2026-Kubernetes-wird-weiter-als-Infrastruktur-fuer-KI-optimiert-11225512.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="3448" height="1938" src="https://www.heise.de/imgs/18/5/0/5/2/7/1/8/cncf_welcome-2e28535d57ec84a9.jpeg" alt="Jonathan Bryce, Executive Director, und Chris Aniszczyk, CTO, eröffnen die KubeCon und CloudNativeCon Europe" style="aspect-ratio:3448 / 1938"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3448" height="1938" alt="Jonathan Bryce, Executive Director, und Chris Aniszczyk, CTO, eröffnen die KubeCon und CloudNativeCon Europe" style="aspect-ratio:3448 / 1938;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KubeCon EU 2026: Kubernetes wird weiter als Infrastruktur für KI optimiert</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Kubermatic-SecureGuard-Automatisiertes-Secrets-Management-fuer-Kubernetes-11222517.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4910" height="2758" src="https://www.heise.de/imgs/18/5/0/5/1/1/5/2/shutterstock_1089540212-00123dc43acb1204.jpeg" alt="Symbolisches Schloss als Zeichen für digitale Sicherheit" style="aspect-ratio:4910 / 2758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4910" height="2758" alt="Symbolisches Schloss als Zeichen für digitale Sicherheit" style="aspect-ratio:4910 / 2758;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Kubermatic SecureGuard: Automatisiertes Secrets-Management für Kubernetes</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Kubernetes ist eines der größten Open-Source-Projekte, unterstützt von Tausenden Contributors. Wie der Einstieg gelingen kann, beschreibt Mario Fahlandt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/How-does-an-open-source-project-actually-work-a-look-at-Kubernetes-11245043.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FWie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes-11227313.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FWie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes-11227313.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/Wie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes-11227313.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Wie-funktioniert-eigentlich-ein-Open-Source-Projekt-ein-Blick-in-Kubernetes/forum-580434/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/3/6/3/2/shutterstock_1027938142-23874d9bce492440.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Mehrere Personen nebeneiander sitzend mit Laptops und Tablets auf dem Schoß"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: peampath2812 / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T14:42:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">14:42
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/How-does-an-open-source-project-actually-work-a-look-at-Kubernetes-11245043.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Mit über 90.000 Contributors und rund 4,4 Millionen Contributions ist Kubernetes nach Linux das zweitgrößte Open-Source-Projekt weltweit. Hierzulande stuft mittlerweile auch das Bundesamt für Sicherheit in der Informationstechnik (BSI) Kubernetes als De-facto-Standard für Container-Orchestrierung ein. Doch wie funktioniert ein Projekt dieser Größenordnung eigentlich von innen? Im Rahmen des Cloud-Native-Festivals CloudLand 2025 hat Mario Fahlandt, der im Kubernetes-Projekt unter anderem in den Special Interest Groups (SIG) Contributor Experience und K8s Infra aktiv ist, einen detaillierten Einblick in die Strukturen, Einstiegsmöglichkeiten und Karrierepfade der Kubernetes-Community gegeben.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Fahlandt, der selbst als Host für die EMEA/APAC-Region bei der <a href="https://github.com/kubernetes/community/tree/master/mentoring/new-contributor-orientation" rel="external noopener" target="_blank">Kubernetes New Contributor Orientation</a> (NCO) fungiert, machte in <a href="https://vimeo.com/1098218591/7a43545b53" rel="external noopener" target="_blank">seinem Vortrag</a> deutlich: Beiträge zum Projekt beschränken sich keineswegs auf Code. Meeting-Notizen anfertigen, Fragen im Slack-Channel beantworten, Dokumentationen korrigieren oder Blog-Posts verfassen – all das zählt als Contribution.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
CloudLand 2026 – das Cloud Native Festival
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="CloudLand 2026 – das Cloud Native Festival" height="750" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/3/6/3/2/CL_26-Banner-1000x750-Online-News-4bbf1170c255aa26.jpg" style="aspect-ratio: 1000 / 750;" width="1000">
<img alt="CloudLand 2026 – das Cloud Native Festival" height="750" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1000 / 750; object-fit: cover;" width="1000">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: cloudland.org)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Vom 19. bis 22. Mai 2026 finden Interessierte beim <a href="https://www.cloudland.org/de/home/" rel="external noopener" target="_blank">Cloud-Native-Festival CloudLand</a> ein prall gefülltes <a href="https://meine.doag.org/events/cloudland/2026/agenda/#eventDay.all" rel="external noopener" target="_blank">Line-up</a> mit mehr als 200 Highlights – darunter die beiden neuen Themenbereiche „Open Source“ und „Platform Engineering“ mit einer bunten Mischung überwiegend interaktiver Sessions, Hands-ons und Workshops.</p><p><a href="https://meine.doag.org/events/cloudland/shop/" rel="external noopener" target="_blank">Tickets für das Festival</a> und Unterkünfte im Heide Park Soltau lassen sich über die Festival-Homepage buchen.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<h3 class="subheading" id="nav_drei_kategorien__0">Drei Kategorien von Special Interest Groups</h3>
<p>Die Community organisiert sich unter dem Dach der Cloud Native Computing Foundation (CNCF) in einer ausdifferenzierten Struktur. An der Spitze steht ein Steering Committee mit sieben gewählten Mitgliedern. Die eigentliche Arbeit findet in 24 Special Interest Groups (SIGs) statt, die sich in drei Kategorien gliedern: Project-SIGs wie Architecture, Docs oder Release unterstützen das Gesamtprojekt organisatorisch. Horizontal-SIGs – darunter API-Machinery, Auth oder Scalability – kümmern sich um querschnittliche Kernfunktionalität. Vertical-SIGs wie Network, Storage oder Node verantworten jeweils spezifische technische Komponenten. Ergänzt wird diese Struktur durch sieben Working Groups für temporäre Themen und drei Committees. Jeder Code- und Dokumentationsteil ist dabei einer konkreten SIG oder einem Subproject zugeordnet.</p>
<h3 class="subheading" id="nav_wer_sollte_sich__1">Wer sollte sich engagieren und wie gelingt der Einstieg?</h3>
<p>Wer einsteigen möchte, findet über den <a href="https://slack.k8s.io" rel="external noopener" target="_blank">Kubernetes-Slack</a> (Kanal #kubernetes-new-contributors), die <a href="https://groups.google.com/a/kubernetes.io/g/dev" rel="external noopener" target="_blank">K-Dev-Mailingliste</a> und den <a href="https://k8s.dev/calendar" rel="external noopener" target="_blank">Community-Kalender</a> Anschluss. Die monatliche NCO-Session findet jeweils am dritten Dienstag statt – für die EMEA/APAC-Region beispielsweise um 10:30 Uhr CET. Die Sessions laufen seit September 2024 und werden auch 2026 fortgesetzt.</p>
<h3 class="subheading" id="nav_die_contributor__2">Die Contributor Ladder als Karrierepfad</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Fahlandt zufolge definiert die sogenannte Contributor Ladder einen transparenten Aufstiegspfad. Vom Non-member Contributor gelangt man über die Org-Membership – für die zwei bestehende Reviewer bürgen müssen – zum Reviewer, Approver und schließlich zum Subproject Owner oder SIG Chair. Fahlandt warnte allerdings vor einer typischen Einstiegsfalle: Wer sich isoliert ein „Good First Issue“ aus dem Repository schnappt und ohne Kontakt zur jeweiligen SIG daran arbeitet, scheitert häufig. Labels wie „good first issue“ oder „help wanted“ in Repositories wie kubernetes/kubernetes markieren zwar geeignete Aufgaben – etwa Dokumentationsverbesserungen, Link-Korrekturen oder Test-Ergänzungen. Doch der Schlüssel zum Erfolg liegt darin, zunächst einer SIG beizutreten, an deren Meetings teilzunehmen und sich dauerhaft einzubringen. Besonders niedrigschwellig sind sogenannte Evergreen-Aufgaben wie Meeting-Protokolle, SIG-Spotlight-Blogposts oder Reviews für die SIG Docs.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5052027" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11224166"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/c-t-Workshop-Kubernetes-im-Blick-Observability-mit-Grafana-LGTM-meistern-11224166.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/2/0/2/7/Observability-fuer-Kubernetes-Umgebungen_ticker_1920x1080-6998801f50c6c3c6.png" alt="Figur mit Matrosenhut hält Steuerrad und Fernrohr vor gelbem Hintergrund" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Figur mit Matrosenhut hält Steuerrad und Fernrohr vor gelbem Hintergrund" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">c’t-Workshop: Kubernetes im Blick: Observability mit Grafana LGTM meistern</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Mastering-GitOps-Praxiswissen-von-Argo-CD-Fallstricken-bis-OCI-Patterns-11225280.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/2/6/0/1/MasteringGitOps-2026-ho-Teaser-Developer-16-9-0b2a392f5d42ba59.jpeg" alt="Mastering GitOps 2026" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Mastering GitOps 2026" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Mastering GitOps: Praxiswissen von Argo-CD-Fallstricken bis OCI-Patterns</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KubeCon-EU-2026-Kubernetes-wird-erwachsen-BSD-eBPF-und-mTLS-11226106.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6020" height="3383" src="https://www.heise.de/imgs/18/5/0/5/3/0/2/0/shutterstock_2164971661-2bfe02805cad49ad.jpeg" alt="Containerschiff im Sonnenuntergang auf See" style="aspect-ratio:6020 / 3383"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6020" height="3383" alt="Containerschiff im Sonnenuntergang auf See" style="aspect-ratio:6020 / 3383;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KubeCon EU 2026: Kubernetes wird erwachsen – BSD, eBPF und mTLS</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KubeCon-EU-2026-Kubernetes-wird-weiter-als-Infrastruktur-fuer-KI-optimiert-11225512.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="3448" height="1938" src="https://www.heise.de/imgs/18/5/0/5/2/7/1/8/cncf_welcome-2e28535d57ec84a9.jpeg" alt="Jonathan Bryce, Executive Director, und Chris Aniszczyk, CTO, eröffnen die KubeCon und CloudNativeCon Europe" style="aspect-ratio:3448 / 1938"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3448" height="1938" alt="Jonathan Bryce, Executive Director, und Chris Aniszczyk, CTO, eröffnen die KubeCon und CloudNativeCon Europe" style="aspect-ratio:3448 / 1938;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KubeCon EU 2026: Kubernetes wird weiter als Infrastruktur für KI optimiert</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Kubermatic-SecureGuard-Automatisiertes-Secrets-Management-fuer-Kubernetes-11222517.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4910" height="2758" src="https://www.heise.de/imgs/18/5/0/5/1/1/5/2/shutterstock_1089540212-00123dc43acb1204.jpeg" alt="Symbolisches Schloss als Zeichen für digitale Sicherheit" style="aspect-ratio:4910 / 2758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4910" height="2758" alt="Symbolisches Schloss als Zeichen für digitale Sicherheit" style="aspect-ratio:4910 / 2758;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Kubermatic SecureGuard: Automatisiertes Secrets-Management für Kubernetes</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-02T12:42:00.000Z
urn:bid:5057035
2026-04-02T08:49:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Kein Hack, kein Exploit – nur ein vergessener Schalter. Und genau dieses Prozessversagen macht den Claude-Code-Leak so gefährlich, meint Moritz Förster.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/opinion/Claude-Code-leaked-Billions-for-AI-security-zero-for-software-hygiene-11244470.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fmeinung%2FClaude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene-11244325.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fmeinung%2FClaude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene-11244325.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/meinung/Claude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene-11244325.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Claude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene/forum-580412/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>56</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Stockinq/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T10:49:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">10:49
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/opinion/Claude-Code-leaked-Billions-for-AI-security-zero-for-software-hygiene-11244470.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Es klingt nach dem nächsten großen Skandal: Über 500.000 Zeilen Quellcode von Anthropics CLI-Tool Claude Code tauchen öffentlich auf. Die Security-Community horcht auf, Wettbewerber reiben sich die Hände, Kommentatoren wittern den nächsten Beweis, dass KI eh an allem schuld ist. Doch wer genauer hinschaut, findet keine ausgeklügelte Attacke, keinen Zero-Day-Exploit, nicht einmal Social Engineering. Sondern schlicht eine Source Map im npm-Paket, die da nicht hingehörte. Also bloß ein vergessener Schalter in der Build-Pipeline. System scheint hier nur die Schludrigkeit zu haben.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Ein Kommentar von Moritz Förster
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Ein Kommentar von Moritz Förster" height="2883" high-dpi-quality="70" quality="85" src="/imgs/71/1/4/2/0/2/0/1/fo_sw-190f6101120c8a2a.jpg" style="aspect-ratio: 2882 / 2883;" width="2882">
<img alt="Ein Kommentar von Moritz Förster" height="2883" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2882 / 2883; object-fit: cover;" width="2882">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Moritz Förster schreibt seit 2012 für die iX und heise online. Er betreut neben dem iX-Channel den Bereich Arbeitsplatz.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_debug_artefakte__0">Debug-Artefakte im Produktions-Build – ein Klassiker</h3>
<p>Source Maps sind nützliche Helfer in der Entwicklung. Sie bilden kompilierten Code zurück auf den lesbaren Quelltext – unverzichtbar beim Debuggen, fatal in der Produktion. Dass sie im fertigen Paket landen, passiert nicht durch einen raffinierten Angriff oder eine ausgerastete KI. Es passiert, weil niemand den Build-Prozess sauber konfiguriert hat. Oder weil die Konfiguration irgendwann still und leise überschrieben wurde. Oder weil schlicht niemand nachgeschaut hat.</p>
<p>Entwickler kennen das Muster. Es ist die vergessene .env-Datei im Git-Repository. Das Docker-Image mit eingebetteten Credentials. Die Debug-API, die seit Monaten offensteht, weil sie ja „nur intern“ ist. Genau das ist Prozessversagen.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5055737" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11241752"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Claude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7008" height="3938" src="https://www.heise.de/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg" alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. " style="aspect-ratio:7008 / 3938"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7008" height="3938" alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. " style="aspect-ratio:7008 / 3938;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Anthropics Claude Code: Kompletter Quellcode im Netz</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Kein Hack, kein Exploit – nur ein vergessener Schalter. Und genau dieses Prozessversagen macht den Claude-Code-Leak so gefährlich, meint Moritz Förster.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/opinion/Claude-Code-leaked-Billions-for-AI-security-zero-for-software-hygiene-11244470.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fmeinung%2FClaude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene-11244325.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fmeinung%2FClaude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene-11244325.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/meinung/Claude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene-11244325.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Claude-Code-geleakt-Milliarden-fuer-KI-Sicherheit-null-fuer-Softwarehygiene/forum-580412/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>56</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/0/3/5/shutterstock_2737162387-310006328a0cb77c.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Stockinq/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T10:49:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">10:49
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/opinion/Claude-Code-leaked-Billions-for-AI-security-zero-for-software-hygiene-11244470.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Es klingt nach dem nächsten großen Skandal: Über 500.000 Zeilen Quellcode von Anthropics CLI-Tool Claude Code tauchen öffentlich auf. Die Security-Community horcht auf, Wettbewerber reiben sich die Hände, Kommentatoren wittern den nächsten Beweis, dass KI eh an allem schuld ist. Doch wer genauer hinschaut, findet keine ausgeklügelte Attacke, keinen Zero-Day-Exploit, nicht einmal Social Engineering. Sondern schlicht eine Source Map im npm-Paket, die da nicht hingehörte. Also bloß ein vergessener Schalter in der Build-Pipeline. System scheint hier nur die Schludrigkeit zu haben.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Ein Kommentar von Moritz Förster
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Ein Kommentar von Moritz Förster" height="2883" high-dpi-quality="70" quality="85" src="/imgs/71/1/4/2/0/2/0/1/fo_sw-190f6101120c8a2a.jpg" style="aspect-ratio: 2882 / 2883;" width="2882">
<img alt="Ein Kommentar von Moritz Förster" height="2883" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2882 / 2883; object-fit: cover;" width="2882">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Moritz Förster schreibt seit 2012 für die iX und heise online. Er betreut neben dem iX-Channel den Bereich Arbeitsplatz.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_debug_artefakte__0">Debug-Artefakte im Produktions-Build – ein Klassiker</h3>
<p>Source Maps sind nützliche Helfer in der Entwicklung. Sie bilden kompilierten Code zurück auf den lesbaren Quelltext – unverzichtbar beim Debuggen, fatal in der Produktion. Dass sie im fertigen Paket landen, passiert nicht durch einen raffinierten Angriff oder eine ausgerastete KI. Es passiert, weil niemand den Build-Prozess sauber konfiguriert hat. Oder weil die Konfiguration irgendwann still und leise überschrieben wurde. Oder weil schlicht niemand nachgeschaut hat.</p>
<p>Entwickler kennen das Muster. Es ist die vergessene .env-Datei im Git-Repository. Das Docker-Image mit eingebetteten Credentials. Die Debug-API, die seit Monaten offensteht, weil sie ja „nur intern“ ist. Genau das ist Prozessversagen.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5055737" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11241752"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Claude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7008" height="3938" src="https://www.heise.de/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg" alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. " style="aspect-ratio:7008 / 3938"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7008" height="3938" alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. " style="aspect-ratio:7008 / 3938;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Anthropics Claude Code: Kompletter Quellcode im Netz</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-02T08:49:00.000Z
urn:bid:5056382
2026-04-02T07:32:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die neuesten Features umfassen das Erstellen spezialisierter Copilot-Agenten, das Festlegen von Agent Skills und das Beheben von NuGet-Vulnerabilities per KI.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Visual-Studio-2026-AI-Assistant-Copilot-Fixes-NuGet-Vulnerabilities-11244320.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FVisual-Studio-2026-KI-Assistent-Copilot-behebt-NuGet-Vulnerabilities-11243032.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FVisual-Studio-2026-KI-Assistent-Copilot-behebt-NuGet-Vulnerabilities-11243032.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Visual-Studio-2026-KI-Assistent-Copilot-behebt-NuGet-Vulnerabilities-11243032.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Visual-Studio-2026-erlaubt-das-Erstellen-benutzerdefinierter-KI-Agenten/forum-580405/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Die Buchstaben AI umfliegen Haken und Warndreiecke. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: tadamichi / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T09:32:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">09:32
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Maika-Moebus-4588908"
class="creator__link"
>Maika Möbus</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Visual-Studio-2026-AI-Assistant-Copilot-Fixes-NuGet-Vulnerabilities-11244320.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Microsoft hat seine Entwicklungsumgebung Visual Studio 2026 im März mit neuen Features versehen, die sich vor allem um Künstliche Intelligenz (KI) drehen. Alle neuen Funktionen sind in der Insiders-Version verfügbar.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_agent_skills__0">Agent Skills und benutzerdefinierte Agenten</h3>
<p>In Visual Studio können Entwicklerinnen und Entwickler nun benutzerdefinierte Copilot-Agenten erstellen. Diese können beispielsweise den Coding-Standards des Teams folgen oder interne Dokumentation durchsuchen. Die spezialisierten Copilot-Agenten können Zugriff auf Workspace-Awareness, Codeverständnis, Tools, das bevorzugte Modell und Verbindungen via Model Context Protocol (MCP) zu externen Wissensquellen erhalten.</p>
<p>Dazu spezifizieren Entwickler die gewünschten Anpassungen in einer .agent.md-Datei, fügen diese im Repository zu .github/agents/ hinzu und können dann den neuen Agenten im Agent Picker auswählen. Wurde kein Modell festgelegt, verwendet der KI-Agent das im Model Picker gewählte Modell.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Mit Skills lassen sich die KI-Agenten ebenfalls versehen. Die Agenten beziehen Skills automatisch aus verschiedenen Stellen im Repo, etwa .github/skills/, oder aus dem User-Profil, etwa ~/.copilot/skills/. Jeder Skill besitzt ein eigenes Verzeichnis mit einer SKILL.md-Datei, die der <a href="https://agentskills.io/specification" rel="external noopener" target="_blank">Agent-Skill-Spezifikation</a> entspricht. Agent Skills sind ein offenes Format, um KI-Agenten mit spezialisiertem Wissen auszustatten.</p>
<h3 class="subheading" id="nav_copilot_behebt__1">Copilot behebt NuGet-Vulnerabilities</h3>
<p>Der KI-Copilot kann nun auch dabei helfen, Vulnerabilities zu beheben. Direkt aus dem Solution Explorer heraus können Entwicklerinnen und Entwickler die Benachrichtigung „Fix with GitHub Copilot“ anwählen, wenn eine Vulnerability erkannt wurde, die NuGet betrifft, das Paketverwaltungssystem für .NET. Beim Durchklicken analysiert Copilot die Schwachstelle und kann entsprechende Dependency-Updates empfehlen sowie implementieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/6/3/8/2/Visual-Studio-2026-Maerz-7e26a739b615ea19.jpg" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/6/3/8/2/Visual-Studio-2026-Maerz-7e26a739b615ea19.jpg">
<a-img alt="Die neue Option &quot;Fix with Copilot&quot; soll NuGet-Vulnerabilities beheben." height="348" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/6/3/8/2/Visual-Studio-2026-Maerz-7e26a739b615ea19.jpg" style="
aspect-ratio: 407 / 348;" width="407">
<img alt="Die neue Option &quot;Fix with Copilot&quot; soll NuGet-Vulnerabilities beheben." height="348" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 407 / 348; object-fit: cover;" width="407">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Die neue Option „Fix with Copilot“ soll NuGet-Vulnerabilities beheben.</div>
<p class="a-caption__source">
(Bild: Microsoft)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Weitere Updates betreffen unter anderem die Verwendung von MCP: Admins können festlegen, welche MCP-Server innerhalb ihrer Organisation erlaubt sind, und nur diese lassen sich dann in Visual Studio verwenden. Bei anderen Servern erscheint eine Fehlermeldung.</p>
<p>Die neuen Features <a href="https://visualstudio.microsoft.com/de/downloads/" rel="external noopener" target="_blank">lassen sich im Insiders-Build nutzen</a>. Weitere Informationen zu den Updates <a href="https://devblogs.microsoft.com/visualstudio/visual-studio-march-update-build-your-own-custom-agents/" rel="external noopener" target="_blank">liefert Microsofts Entwicklerblog</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5034092" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11188993"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Visual-Studio-2026-KI-Agenten-besseres-Debugging-und-C-Migration-11188993.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4821" height="2709" src="https://www.heise.de/imgs/18/5/0/3/4/0/9/2/shutterstock_1225785334-4d73320291d62864.jpeg" alt="Computer Tastatur Roboterhand" style="aspect-ratio:4821 / 2709"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4821" height="2709" alt="Computer Tastatur Roboterhand" style="aspect-ratio:4821 / 2709;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Visual Studio 2026: KI-Agenten, besseres Debugging und C++-Migration</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Microsoft-XAML-Studio-ist-jetzt-Open-Source-11132552.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4610" height="2590" src="https://www.heise.de/imgs/18/5/0/0/5/3/2/6/shutterstock_168437531-819e12f549ceaa41.jpeg" alt="Windows-Tastatur" style="aspect-ratio:4610 / 2590"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4610" height="2590" alt="Windows-Tastatur" style="aspect-ratio:4610 / 2590;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Microsoft: XAML Studio ist jetzt Open Source</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Schnellere-Updates-Visual-Studio-wechselt-zu-jaehrlichem-Releasezyklus-11092249.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7952" height="4468" src="https://www.heise.de/imgs/18/4/9/8/4/6/8/4/shutterstock_428927026-5d7cdf89884b9773.jpeg" alt="Person bindet sich die Schuhe auf einer Rennbahn" style="aspect-ratio:7952 / 4468"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7952" height="4468" alt="Person bindet sich die Schuhe auf einer Rennbahn" style="aspect-ratio:7952 / 4468;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Microsoft: Visual Studio erhält kürzere Releasezyklen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Uno-Platform-Studio-2-0-und-Uno-Platform-6-4-KI-Assistent-und-NET-10-0-Support-11075898.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7360" height="4135" src="https://www.heise.de/imgs/18/4/9/7/6/2/5/6/shutterstock_1551193994-5c067204f7227585.jpeg" alt="Menschliche Hand und technische Hand berühren ihre Fingerspitzen" style="aspect-ratio:7360 / 4135"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7360" height="4135" alt="Menschliche Hand und technische Hand berühren ihre Fingerspitzen" style="aspect-ratio:7360 / 4135;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Uno Platform Studio 2.0 und Uno Platform 6.4: KI-Assistent und .NET-10.0-Support</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Visual-Studio-2022-Im-Oktober-Update-erinnert-sich-Copilot-an-fruehere-Wuensche-10965419.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4500" height="2529" src="https://www.heise.de/imgs/18/4/9/6/7/7/1/4/Gehirn-Computer-Schnittstelle-c7764606d29d3751.jpeg" alt="Gehirn-Computer-Schnittstelle" style="aspect-ratio:4500 / 2529"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4500" height="2529" alt="Gehirn-Computer-Schnittstelle" style="aspect-ratio:4500 / 2529;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Visual Studio 2022: Im Oktober-Update erinnert sich Copilot an frühere Wünsche</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die neuesten Features umfassen das Erstellen spezialisierter Copilot-Agenten, das Festlegen von Agent Skills und das Beheben von NuGet-Vulnerabilities per KI.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Visual-Studio-2026-AI-Assistant-Copilot-Fixes-NuGet-Vulnerabilities-11244320.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FVisual-Studio-2026-KI-Assistent-Copilot-behebt-NuGet-Vulnerabilities-11243032.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FVisual-Studio-2026-KI-Assistent-Copilot-behebt-NuGet-Vulnerabilities-11243032.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Visual-Studio-2026-KI-Assistent-Copilot-behebt-NuGet-Vulnerabilities-11243032.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Visual-Studio-2026-erlaubt-das-Erstellen-benutzerdefinierter-KI-Agenten/forum-580405/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/3/8/2/shutterstock_2603902713-1589cc8276b2a580.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Die Buchstaben AI umfliegen Haken und Warndreiecke. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: tadamichi / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T09:32:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">09:32
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Maika-Moebus-4588908"
class="creator__link"
>Maika Möbus</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Visual-Studio-2026-AI-Assistant-Copilot-Fixes-NuGet-Vulnerabilities-11244320.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Microsoft hat seine Entwicklungsumgebung Visual Studio 2026 im März mit neuen Features versehen, die sich vor allem um Künstliche Intelligenz (KI) drehen. Alle neuen Funktionen sind in der Insiders-Version verfügbar.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_agent_skills__0">Agent Skills und benutzerdefinierte Agenten</h3>
<p>In Visual Studio können Entwicklerinnen und Entwickler nun benutzerdefinierte Copilot-Agenten erstellen. Diese können beispielsweise den Coding-Standards des Teams folgen oder interne Dokumentation durchsuchen. Die spezialisierten Copilot-Agenten können Zugriff auf Workspace-Awareness, Codeverständnis, Tools, das bevorzugte Modell und Verbindungen via Model Context Protocol (MCP) zu externen Wissensquellen erhalten.</p>
<p>Dazu spezifizieren Entwickler die gewünschten Anpassungen in einer .agent.md-Datei, fügen diese im Repository zu .github/agents/ hinzu und können dann den neuen Agenten im Agent Picker auswählen. Wurde kein Modell festgelegt, verwendet der KI-Agent das im Model Picker gewählte Modell.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Mit Skills lassen sich die KI-Agenten ebenfalls versehen. Die Agenten beziehen Skills automatisch aus verschiedenen Stellen im Repo, etwa .github/skills/, oder aus dem User-Profil, etwa ~/.copilot/skills/. Jeder Skill besitzt ein eigenes Verzeichnis mit einer SKILL.md-Datei, die der <a href="https://agentskills.io/specification" rel="external noopener" target="_blank">Agent-Skill-Spezifikation</a> entspricht. Agent Skills sind ein offenes Format, um KI-Agenten mit spezialisiertem Wissen auszustatten.</p>
<h3 class="subheading" id="nav_copilot_behebt__1">Copilot behebt NuGet-Vulnerabilities</h3>
<p>Der KI-Copilot kann nun auch dabei helfen, Vulnerabilities zu beheben. Direkt aus dem Solution Explorer heraus können Entwicklerinnen und Entwickler die Benachrichtigung „Fix with GitHub Copilot“ anwählen, wenn eine Vulnerability erkannt wurde, die NuGet betrifft, das Paketverwaltungssystem für .NET. Beim Durchklicken analysiert Copilot die Schwachstelle und kann entsprechende Dependency-Updates empfehlen sowie implementieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/6/3/8/2/Visual-Studio-2026-Maerz-7e26a739b615ea19.jpg" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/6/3/8/2/Visual-Studio-2026-Maerz-7e26a739b615ea19.jpg">
<a-img alt="Die neue Option &quot;Fix with Copilot&quot; soll NuGet-Vulnerabilities beheben." height="348" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/6/3/8/2/Visual-Studio-2026-Maerz-7e26a739b615ea19.jpg" style="
aspect-ratio: 407 / 348;" width="407">
<img alt="Die neue Option &quot;Fix with Copilot&quot; soll NuGet-Vulnerabilities beheben." height="348" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 407 / 348; object-fit: cover;" width="407">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Die neue Option „Fix with Copilot“ soll NuGet-Vulnerabilities beheben.</div>
<p class="a-caption__source">
(Bild: Microsoft)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Weitere Updates betreffen unter anderem die Verwendung von MCP: Admins können festlegen, welche MCP-Server innerhalb ihrer Organisation erlaubt sind, und nur diese lassen sich dann in Visual Studio verwenden. Bei anderen Servern erscheint eine Fehlermeldung.</p>
<p>Die neuen Features <a href="https://visualstudio.microsoft.com/de/downloads/" rel="external noopener" target="_blank">lassen sich im Insiders-Build nutzen</a>. Weitere Informationen zu den Updates <a href="https://devblogs.microsoft.com/visualstudio/visual-studio-march-update-build-your-own-custom-agents/" rel="external noopener" target="_blank">liefert Microsofts Entwicklerblog</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5034092" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11188993"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Visual-Studio-2026-KI-Agenten-besseres-Debugging-und-C-Migration-11188993.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4821" height="2709" src="https://www.heise.de/imgs/18/5/0/3/4/0/9/2/shutterstock_1225785334-4d73320291d62864.jpeg" alt="Computer Tastatur Roboterhand" style="aspect-ratio:4821 / 2709"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4821" height="2709" alt="Computer Tastatur Roboterhand" style="aspect-ratio:4821 / 2709;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Visual Studio 2026: KI-Agenten, besseres Debugging und C++-Migration</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Microsoft-XAML-Studio-ist-jetzt-Open-Source-11132552.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4610" height="2590" src="https://www.heise.de/imgs/18/5/0/0/5/3/2/6/shutterstock_168437531-819e12f549ceaa41.jpeg" alt="Windows-Tastatur" style="aspect-ratio:4610 / 2590"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4610" height="2590" alt="Windows-Tastatur" style="aspect-ratio:4610 / 2590;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Microsoft: XAML Studio ist jetzt Open Source</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Schnellere-Updates-Visual-Studio-wechselt-zu-jaehrlichem-Releasezyklus-11092249.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7952" height="4468" src="https://www.heise.de/imgs/18/4/9/8/4/6/8/4/shutterstock_428927026-5d7cdf89884b9773.jpeg" alt="Person bindet sich die Schuhe auf einer Rennbahn" style="aspect-ratio:7952 / 4468"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7952" height="4468" alt="Person bindet sich die Schuhe auf einer Rennbahn" style="aspect-ratio:7952 / 4468;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Microsoft: Visual Studio erhält kürzere Releasezyklen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Uno-Platform-Studio-2-0-und-Uno-Platform-6-4-KI-Assistent-und-NET-10-0-Support-11075898.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7360" height="4135" src="https://www.heise.de/imgs/18/4/9/7/6/2/5/6/shutterstock_1551193994-5c067204f7227585.jpeg" alt="Menschliche Hand und technische Hand berühren ihre Fingerspitzen" style="aspect-ratio:7360 / 4135"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7360" height="4135" alt="Menschliche Hand und technische Hand berühren ihre Fingerspitzen" style="aspect-ratio:7360 / 4135;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Uno Platform Studio 2.0 und Uno Platform 6.4: KI-Assistent und .NET-10.0-Support</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Visual-Studio-2022-Im-Oktober-Update-erinnert-sich-Copilot-an-fruehere-Wuensche-10965419.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4500" height="2529" src="https://www.heise.de/imgs/18/4/9/6/7/7/1/4/Gehirn-Computer-Schnittstelle-c7764606d29d3751.jpeg" alt="Gehirn-Computer-Schnittstelle" style="aspect-ratio:4500 / 2529"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4500" height="2529" alt="Gehirn-Computer-Schnittstelle" style="aspect-ratio:4500 / 2529;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Visual Studio 2022: Im Oktober-Update erinnert sich Copilot an frühere Wünsche</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-02T07:32:00.000Z
urn:bid:5045674
2026-04-02T07:15:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Event Sourcing liefert LLMs den reichhaltigsten Kontext. Das Model Context Protocol macht diesen Kontext über eine Standardschnittstelle zugänglich.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/blog/Event-Sourcing-meets-MCP-The-whole-story-for-LLMs-11244252.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FEvent-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs-11211648.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FEvent-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs-11211648.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Event-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs-11211648.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Event-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs/forum-580402/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Roboter mit der Hand am Mund, um ihn herum ganz viele digitale Schriftzüge mit dem Wort "Data""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Jirsak / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T09:15:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">09:15
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
14 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Golo Roden</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/blog/Event-Sourcing-meets-MCP-The-whole-story-for-LLMs-11244252.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Im vergangenen August habe ich an dieser Stelle argumentiert, dass <a href="http://www.heise.de/blog/Event-Sourcing-als-perfekte-Grundlage-fuer-KI-10515847.html">Event Sourcing die perfekte Grundlage für KI</a> sei. Die Kernthese lautete: Ohne vollständige, kontextreiche Daten bleibt jedes noch so leistungsfähige Modell blind. Event Sourcing liefert genau diese Daten, weil es nicht nur den aktuellen Zustand speichert, sondern die gesamte fachliche Geschichte. An der These hat sich nichts geändert. Doch eine Frage blieb damals offen: Wie macht man diese Daten für ein Large Language Model zugänglich?</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
the next big thing – Golo Roden
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="the next big thing – Golo Roden" height="460" high-dpi-quality="70" quality="85" src="/imgs/71/3/7/1/8/2/9/5/Roden_Golo.jpg-3be22c2312d5e8bb.jpeg" style="aspect-ratio: 460 / 460;" width="460">
<img alt="the next big thing – Golo Roden" height="460" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 460 / 460; object-fit: cover;" width="460">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Seit knapp anderthalb Jahren existiert mit dem <a href="https://modelcontextprotocol.io/" rel="external noopener" target="_blank">Model Context Protocol (MCP)</a> ein offener Standard, der LLMs mit beliebigen externen Datenquellen verbindet. Damit lässt sich die Lücke zwischen dem, was ein Event-Store an Daten bereithält, und dem, was ein Sprachmodell davon sehen kann, elegant schließen. Dieses Zusammenspiel verdient einen genaueren Blick.</p>
<h3 class="subheading" id="nav_warum_kontext__0">Warum Kontext für LLMs alles entscheidet</h3>
<p>Wer mit Large Language Models arbeitet, lernt schnell eine wichtige Lektion: Die Qualität der Antworten hängt weniger vom Modell ab als vom Kontext, den man ihm gibt. Ein durchschnittliches Modell mit hervorragendem Kontext liefert bessere Ergebnisse als ein Spitzenmodell, dem der Kontext fehlt. Das gilt für einfache Prompts ebenso wie für komplexe Analysen über Unternehmensdaten.</p>
<p>Kontext bedeutet hier nicht nur die Frage, die man stellt, sondern vor allem auch die Daten, auf die das Modell zugreifen kann. Und genau hier liegt das Problem: Die meisten Datenbanken speichern ausschließlich den aktuellen Zustand. Eine relationale Datenbank verrät Ihnen, dass eine Kundin den Status „Premium“ hat. Sie verrät aber nicht, seit wann, warum oder welche Interaktionen dazu geführt haben. Sie zeigt, dass ein Produkt 9,99 Euro kostet, nicht jedoch, ob dieser Preis gestern gesenkt wurde oder seit zehn Jahren unverändert ist. Sie zeigt, dass eine Bestellung den Status „offen“ hat, nicht jedoch, ob sie dreimal geändert, einmal storniert und dann erneut aufgegeben wurde.</p>
<p>Für ein LLM ist das, als würde man ihm ein Buch reichen, in dem nur das letzte Kapitel steht. Es kann den aktuellen Zustand beschreiben, aber keine Zusammenhänge erklären, keine Muster erkennen, keine Entwicklungen nachvollziehen. Es fehlt schlicht die Geschichte, die in den vorangegangenen Kapiteln erzählt wurde.</p>
<p>Event Sourcing löst dieses Problem grundlegend. Statt den Zustand zu speichern und bei jeder Änderung zu überschreiben, werden die einzelnen Zustandsänderungen als fachliche Ereignisse festgehalten. Jedes Ereignis beschreibt, was passiert ist, wann es passiert ist und in welchem fachlichen Kontext es steht. Die Summe aller Ereignisse ergibt nicht nur den aktuellen Zustand, sondern die vollständige, chronologische und unveränderliche Geschichte. Aus dem letzten Kapitel wird das gesamte Buch.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_mcp_als__1">MCP als universelle Brücke</h3>
<p>Die beste Datengrundlage nützt allerdings wenig, wenn ein LLM nicht darauf zugreifen kann. Bislang erforderte die Anbindung externer Datenquellen an ein Sprachmodell in der Regel individuelle Integrationen: eigene APIs, eigenen Glue-Code, eigene Wartung. Für jede Kombination aus Datenquelle und LLM musste eine eigene Lösung gebaut werden. Das skaliert schlecht und schafft Abhängigkeiten, die sich im Laufe der Zeit zu einer ernsthaften technischen Schuld entwickeln.</p>
<p>Das Model Context Protocol ändert das: MCP ist ein offener Standard, den Anthropic im November 2024 vorgestellt hat und <a href="http://www.heise.de/hintergrund/Model-Context-Protocol-Anwendungsbeispiel-in-TypeScript-10550413.html">der inzwischen breite Unterstützung durch zahlreiche Anbieter genießt</a>. Auch OpenAI, Google und andere große Anbieter haben sich dem Standard angeschlossen. MCP definiert eine einheitliche Schnittstelle zwischen LLMs und externen Datenquellen. Ein MCP-Server stellt Werkzeuge und Daten bereit, die ein LLM über einen MCP-Client nutzen kann. Die Interaktion erfolgt in natürlicher Sprache: Das Modell formuliert Anfragen, der Server liefert die passenden Daten. Das Ganze geschieht über ein standardisiertes Protokoll auf Basis von JSON-RPC, sodass weder auf Client- noch auf Server-Seite proprietäre Technik erforderlich ist.</p>
<p>Das Entscheidende an MCP ist seine Datenquellenagnostik. Der Standard definiert, wie die Kommunikation abläuft, nicht jedoch, welche Art von Daten dahintersteckt. Ob ein MCP-Server eine relationale Datenbank, ein Dateisystem, eine API oder einen Event-Store anbindet, spielt auf Protokollebene keine Rolle. Inzwischen existieren MCP-Server für Dutzende von Systemen: von GitHub über Slack bis hin zu Datenbanken verschiedenster Art.</p>
<p>Die Frage, die MCP nicht beantwortet, ist deshalb umso wichtiger: Welche Qualität haben die Daten, die über diesen Kanal fließen? Wenn MCP die Brücke zwischen LLM und Datenquelle ist, dann entscheidet die Datenquelle darüber, wie tragfähig diese Brücke sein kann. Eine über MCP angebundene CRUD-Datenbank liefert weiterhin nur Snapshots. Ein Event-Store hingegen liefert die ganze Geschichte.</p>
<h3 class="subheading" id="nav_was_ein_llm_in__2">Was ein LLM in einer Bibliothek sehen kann</h3>
<p>Um das greifbar zu machen, hilft ein konkretes, von mir regelmäßig genutztes Beispiel, das eine öffentliche Bibliothek als Domäne modelliert. Die zugehörigen Events sind überschaubar und dennoch fachlich reichhaltig: Ein <code>BookAcquired</code>-Event beschreibt die Anschaffung eines neuen Buches mit Titel, Autorin oder Autor und ISBN. <code>BookBorrowed</code> dokumentiert die Ausleihe, <code>BookReturned</code> die Rückgabe. Auf der Seite der Leserinnen und Leser gibt es <code>ReaderApplied</code> für die Anmeldung und <code>ReaderAccepted</code> für die Freischaltung des Bibliotheksausweises. Geht es an die konkrete Implementierung, <a href="http://www.heise.de/blog/CloudEvents-verstehen-und-nutzen-Der-CNCF-Standard-fuer-Event-Integration-10325241.html">greife ich auf den CloudEvents-Standard zurück</a>, der ein fachlich benanntes Typenfeld und eine umgekehrte Domain-Schreibweise wie <code>io.eventsourcingdb.library.book-borrowed</code> vorsieht. Jedes Buch und jede Leserin beziehungsweise jeder Leser bildet dabei ein eigenes Subject, also einen eigenen Event-Stream, der die jeweilige Geschichte vollständig abbildet.</p>
<p>Stellen Sie sich nun vor, ein LLM hätte über einen MCP-Server Zugriff auf den Event-Store dieser Stadtbibliothek. Es könnte die vorhandenen Subjects durchsuchen, also die einzelnen Bücher sowie Leserinnen und Leser identifizieren. Es könnte die Event-Typen auflisten und so die Struktur der Domäne verstehen, ohne dass jemand sie erklären müsste. Und es könnte gezielt Fragen beantworten, die mit einer CRUD-Datenbank schwer oder gar nicht zu beantworten wären.</p>
<p class="indent rte__abs--indent"><em>„Welche Bücher wurden in den letzten zwölf Monaten angeschafft, aber noch nie ausgeliehen?“</em></p>
<p>Diese Frage erfordert die Kenntnis, dass ein Buch existiert (<code>BookAcquired</code>), und die Abwesenheit eines bestimmten Folgeereignisses (<code>BookBorrowed</code>). In einer CRUD-Datenbank müsste dafür ein eigens gepflegtes Feld existieren, das bei jeder Änderung korrekt aktualisiert wird. Im Event-Store ergibt sich die Antwort direkt aus der Ereignisfolge.</p>
<p class="indent rte__abs--indent"><em>„Zeige mir die vollständige Ausleihhistorie von Leserin 23.“</em></p>
<p>In einer CRUD-Datenbank sehen Sie bestenfalls, welches Buch die Leserin gerade ausgeliehen hat. Im Event-Store sehen Sie jede einzelne Ausleihe, jede Rückgabe, jede verspätete Rückgabe und jede erhobene Gebühr. Das LLM kann daraus Muster ableiten, etwa ob bestimmte Genres bevorzugt werden oder ob Rückgaben regelmäßig verspätet erfolgen.</p>
<p class="indent rte__abs--indent"><em>„Welche Bücher werden häufig ausgeliehen, aber selten rechtzeitig zurückgebracht?“</em></p>
<p>Auch das ist eine Frage, die erst durch die Kombination mehrerer Ereignisse über die Zeit beantwortbar wird. Ein LLM, das diese Daten sieht, kann nicht nur die Antwort liefern, sondern auch Hypothesen formulieren: Liegt es an der Länge des Buches? An der Beliebtheit? An konkreten Leserinnen und Lesern, die generell verspätet zurückgeben?</p>
<p>Entscheidend ist: Keine dieser Fragen erfordert, dass jemand vorab ein spezielles Lesemodell gebaut oder eine Auswertung programmiert hat. Das LLM formuliert die Frage, der MCP-Server liefert die Daten, und das Modell interpretiert sie. Die Flexibilität entsteht dadurch, dass die Rohdaten fachlich und historisch vollständig sind. Was in diesem Beispiel mit einer Stadtbibliothek funktioniert, funktioniert in der Realität mit jeder Domäne: Versicherungsschäden, Logistikketten, Bestellprozesse im E-Commerce, Behandlungsverläufe im Gesundheitswesen, …: Die Liste ist endlos. Und je reichhaltiger die Events aus semantischer Sicht sind, desto mehr kann ein LLM damit anfangen.</p>
<h3 class="subheading" id="nav_warum_events__3">Warum Events die natürliche Sprache für LLMs sind</h3>
<p>Es gibt einen weiteren Grund, warum Event Sourcing und LLMs so gut zusammenpassen, und er liegt in der Form der Daten selbst. Events sind von Natur aus in fachlicher Sprache formuliert. Ein Event-Typ wie <code>io.eventsourcingdb.library.book-borrowed</code> sagt bereits, was passiert ist. Die Daten des Events enthalten die Details: welches Buch, welche Leserin oder welcher Leser, zu welchem Zeitpunkt. Ein LLM muss bei solchen Daten nicht raten, was gemeint ist. Es liest keine kryptischen Statuscodes, keine technischen Fremdschlüssel, keine Spalte <code>type</code> mit dem Wert <code>3</code>. Es liest genau das, was passiert ist: Ein Buch wurde ausgeliehen, ein Buch wurde zurückgegeben, eine Gebühr wurde erhoben, eine Leserin wurde gesperrt. Die Semantik steckt in den Daten selbst.</p>
<p>Hinzu kommt die chronologische Ordnung. Events sind naturgemäß zeitlich sortiert. Ein LLM kann die Events daher lesen wie eine Erzählung: Erst wurde das Buch angeschafft, dann ausgeliehen, dann zurückgegeben, dann erneut ausgeliehen, dann verspätet zurückgegeben, dann eine Gebühr erhoben. Diese narrative Struktur entspricht genau dem, womit Sprachmodelle am besten umgehen können. Sie sind darauf trainiert, Zusammenhänge in sequenziellen Daten zu erkennen, Muster zu identifizieren und Schlussfolgerungen zu ziehen. Eine Folge von Events ist strukturell näher an einem Text als an einer relationalen Tabelle.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Schließlich ist jedes Event in sich abgeschlossen und kontextreich. Es beschreibt nicht nur, was sich geändert hat, sondern trägt den fachlichen Zusammenhang bereits in sich. Ein <code>BookBorrowed</code>-Event enthält nicht nur eine Buch-ID und eine Leser-ID, sondern steht im Kontext eines Subject, das die gesamte Geschichte dieses Buches repräsentiert. Dieser eingebaute Kontext reduziert die Notwendigkeit, dem LLM zusätzliche Erklärungen mitzugeben. Die Events sprechen für sich.</p>
<p>Wer die aktuelle Entwicklung beim Context Engineering verfolgt, erkennt die Parallele: Es geht darum, einem Sprachmodell möglichst reichhaltigen, strukturierten und relevanten Kontext zur Verfügung zu stellen. Events erfüllen alle drei Kriterien, ohne dass eine zusätzliche Aufbereitung nötig wäre. Sie sind gewissermaßen bereits in der Sprache geschrieben, die LLMs am besten verstehen. Mit anderen Worten: Wenn Ihre Software bereits gute Daten liefert, wird die Auswertung per künstlicher Intelligenz bedeutend vereinfacht.</p>
<h3 class="subheading" id="nav_von_der_idee__4">Von der Idee zur Praxis</h3>
<p>Die Verbindung von Event Sourcing und MCP ist keine bloße Theorie. Mitte März 2026 wurde beispielsweise <a href="https://docs.eventsourcingdb.io/blog/2026/03/16/introducing-the-mcp-server-10-for-eventsourcingdb/" rel="external noopener" target="_blank">für die Datenbank EventSourcingDB ein MCP-Server als kostenfreie Erweiterung veröffentlicht</a>. Er ermöglicht es, über ein beliebiges LLM in natürlicher Sprache <a href="https://docs.eventsourcingdb.io/extensions/mcp-server/introduction/" rel="external noopener" target="_blank">mit dem Event-Store zu interagieren</a>: Events lesen und schreiben, Subjects und Event-Types durchsuchen, Event-Schemas registrieren, EventQL-Queries ausführen und sogar die eingebaute EventQL-Dokumentation abfragen. Der MCP-Server läuft dabei als eigenständiger Prozess neben der Datenbank, unterstützt TLS-Verschlüsselung und Token-basierte Authentifizierung und ist als Docker-Image verfügbar.</p>
<p>Praktisch bedeutet das: Eine Entwicklerin kann ihrem LLM die Frage stellen, welche Subjects im Event-Store existieren, und erhält eine strukturierte Antwort. Sie kann fragen, welche Ereignisse für ein bestimmtes Buch vorliegen, und das LLM liest sie chronologisch aus dem Store. Sie kann eine analytische Frage formulieren, und das LLM übersetzt sie in eine EventQL-Query, führt sie aus und interpretiert das Ergebnis. All das geschieht über eine standardisierte Schnittstelle, ohne eine einzige Zeile Integrationscode. Was bisher erfahrene Entwicklerinnen und Entwickler mit Kenntnissen der Query-Sprache und der Datenstruktur erforderte, wird durch natürliche Sprache für ein breiteres Publikum zugänglich.</p>
<p>Es wäre jedoch falsch, diesen Gedanken auf ein einzelnes Produkt zu verengen. Das Prinzip gilt für jeden Event-Store, der einen MCP-Server anbietet oder künftig anbieten wird. Der Wert liegt nicht in der spezifischen Implementierung, sondern in der Kombination: ein Event-Store, der die vollständige fachliche Geschichte bereithält, und ein standardisiertes Protokoll, das diese Geschichte für Sprachmodelle zugänglich macht. <a href="https://eventsourcingdb.io/" rel="external noopener" target="_blank">EventSourcingDB</a> ist lediglich ein konkretes Beispiel dafür, wie diese Kombination heute in der Praxis aussehen kann.</p>
<h3 class="subheading" id="nav_nicht_die__5">Nicht die Technik entscheidet, sondern die Daten dahinter</h3>
<p>MCP löst also ein reales Problem: Es standardisiert den Zugang von LLMs zu externen Datenquellen und macht individuelle Integrationen überflüssig. Das ist ein bedeutender Schritt. Doch MCP allein reicht nicht. Ein standardisierter Zugang zu unzureichenden Daten liefert standardisiert unzureichende Ergebnisse.</p>
<p>Die eigentliche Frage bleibt bestehen: Welche Daten stecken hinter dem MCP-Server? Wer eine CRUD-Datenbank anbindet, gibt einem LLM Zugriff auf den aktuellen Zustand. Das ist besser als gar kein Zugriff, bleibt aber bei Snapshots ohne Geschichte. Das LLM sieht, was ist. Es sieht nicht, was war, was sich verändert hat oder warum.</p>
<p>Wer hingegen einen Event-Store anbindet, gibt einem LLM Zugriff auf die gesamte fachliche Historie. Es sieht nicht nur den Zustand, sondern den Weg dorthin. Es kann Muster erkennen, Zusammenhänge herstellen und Entwicklungen nachvollziehen. Es kann erklären, nicht nur beschreiben.</p>
<p>Die Kombination aus Event Sourcing und MCP ist deshalb so wirkungsvoll, weil sie zwei komplementäre Probleme gleichzeitig behebt. Event Sourcing löst das Datenproblem: Es liefert vollständige, kontextreiche und fachlich formulierte Daten. MCP löst das Zugangsproblem: Es macht diese Daten über eine standardisierte Schnittstelle für Sprachmodelle erreichbar. Keines der beiden löst für sich allein die gesamte Herausforderung. Zusammen jedoch schließen sie eine Lücke, die bislang dafür sorgte, dass LLMs entweder keinen Zugang zu den richtigen Daten hatten oder Zugang zu den falschen.</p>
<p>Dabei ist bemerkenswert, wie stabil diese Kombination gegenüber Veränderungen ist. Die Modelle werden sich weiterentwickeln, neue LLMs werden erscheinen, bestehende werden leistungsfähiger. Die Art, wie wir Prompts formulieren, wird sich ändern. Auch MCP wird sich als Protokoll weiterentwickeln. Was sich nicht ändern wird, sind die gespeicherten Ereignisse. Sie bleiben das unveränderliche Fundament, auf dem alles andere aufbaut. Wer heute damit beginnt, Events zu speichern, investiert nicht in eine kurzlebige Technologie, sondern in Daten, die mit jedem neuen Modell und jedem zukünftigen Zugangsweg an Wert gewinnen.</p>
<p>Wer im vergangenen August meinen eingangs erwähnten <a href="http://www.heise.de/blog/Event-Sourcing-als-perfekte-Grundlage-fuer-KI-10515847.html">Artikel über Event Sourcing als Grundlage für KI</a> gelesen hat, findet hier den nächsten logischen Schritt. Die Daten sind da. Jetzt sind sie auch zugänglich.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11211648"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11211648: Event Sourcing trifft MCP: Die ganze Geschichte für LLMs"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Event Sourcing liefert LLMs den reichhaltigsten Kontext. Das Model Context Protocol macht diesen Kontext über eine Standardschnittstelle zugänglich.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/blog/Event-Sourcing-meets-MCP-The-whole-story-for-LLMs-11244252.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FEvent-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs-11211648.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FEvent-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs-11211648.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Event-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs-11211648.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Event-Sourcing-trifft-MCP-Die-ganze-Geschichte-fuer-LLMs/forum-580402/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/4/5/6/7/4/shutterstock_2271536861-d647d697d80f0527.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Roboter mit der Hand am Mund, um ihn herum ganz viele digitale Schriftzüge mit dem Wort "Data""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Jirsak / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T09:15:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">09:15
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
14 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Golo Roden</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/blog/Event-Sourcing-meets-MCP-The-whole-story-for-LLMs-11244252.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Im vergangenen August habe ich an dieser Stelle argumentiert, dass <a href="http://www.heise.de/blog/Event-Sourcing-als-perfekte-Grundlage-fuer-KI-10515847.html">Event Sourcing die perfekte Grundlage für KI</a> sei. Die Kernthese lautete: Ohne vollständige, kontextreiche Daten bleibt jedes noch so leistungsfähige Modell blind. Event Sourcing liefert genau diese Daten, weil es nicht nur den aktuellen Zustand speichert, sondern die gesamte fachliche Geschichte. An der These hat sich nichts geändert. Doch eine Frage blieb damals offen: Wie macht man diese Daten für ein Large Language Model zugänglich?</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
the next big thing – Golo Roden
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="the next big thing – Golo Roden" height="460" high-dpi-quality="70" quality="85" src="/imgs/71/3/7/1/8/2/9/5/Roden_Golo.jpg-3be22c2312d5e8bb.jpeg" style="aspect-ratio: 460 / 460;" width="460">
<img alt="the next big thing – Golo Roden" height="460" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 460 / 460; object-fit: cover;" width="460">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Seit knapp anderthalb Jahren existiert mit dem <a href="https://modelcontextprotocol.io/" rel="external noopener" target="_blank">Model Context Protocol (MCP)</a> ein offener Standard, der LLMs mit beliebigen externen Datenquellen verbindet. Damit lässt sich die Lücke zwischen dem, was ein Event-Store an Daten bereithält, und dem, was ein Sprachmodell davon sehen kann, elegant schließen. Dieses Zusammenspiel verdient einen genaueren Blick.</p>
<h3 class="subheading" id="nav_warum_kontext__0">Warum Kontext für LLMs alles entscheidet</h3>
<p>Wer mit Large Language Models arbeitet, lernt schnell eine wichtige Lektion: Die Qualität der Antworten hängt weniger vom Modell ab als vom Kontext, den man ihm gibt. Ein durchschnittliches Modell mit hervorragendem Kontext liefert bessere Ergebnisse als ein Spitzenmodell, dem der Kontext fehlt. Das gilt für einfache Prompts ebenso wie für komplexe Analysen über Unternehmensdaten.</p>
<p>Kontext bedeutet hier nicht nur die Frage, die man stellt, sondern vor allem auch die Daten, auf die das Modell zugreifen kann. Und genau hier liegt das Problem: Die meisten Datenbanken speichern ausschließlich den aktuellen Zustand. Eine relationale Datenbank verrät Ihnen, dass eine Kundin den Status „Premium“ hat. Sie verrät aber nicht, seit wann, warum oder welche Interaktionen dazu geführt haben. Sie zeigt, dass ein Produkt 9,99 Euro kostet, nicht jedoch, ob dieser Preis gestern gesenkt wurde oder seit zehn Jahren unverändert ist. Sie zeigt, dass eine Bestellung den Status „offen“ hat, nicht jedoch, ob sie dreimal geändert, einmal storniert und dann erneut aufgegeben wurde.</p>
<p>Für ein LLM ist das, als würde man ihm ein Buch reichen, in dem nur das letzte Kapitel steht. Es kann den aktuellen Zustand beschreiben, aber keine Zusammenhänge erklären, keine Muster erkennen, keine Entwicklungen nachvollziehen. Es fehlt schlicht die Geschichte, die in den vorangegangenen Kapiteln erzählt wurde.</p>
<p>Event Sourcing löst dieses Problem grundlegend. Statt den Zustand zu speichern und bei jeder Änderung zu überschreiben, werden die einzelnen Zustandsänderungen als fachliche Ereignisse festgehalten. Jedes Ereignis beschreibt, was passiert ist, wann es passiert ist und in welchem fachlichen Kontext es steht. Die Summe aller Ereignisse ergibt nicht nur den aktuellen Zustand, sondern die vollständige, chronologische und unveränderliche Geschichte. Aus dem letzten Kapitel wird das gesamte Buch.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_mcp_als__1">MCP als universelle Brücke</h3>
<p>Die beste Datengrundlage nützt allerdings wenig, wenn ein LLM nicht darauf zugreifen kann. Bislang erforderte die Anbindung externer Datenquellen an ein Sprachmodell in der Regel individuelle Integrationen: eigene APIs, eigenen Glue-Code, eigene Wartung. Für jede Kombination aus Datenquelle und LLM musste eine eigene Lösung gebaut werden. Das skaliert schlecht und schafft Abhängigkeiten, die sich im Laufe der Zeit zu einer ernsthaften technischen Schuld entwickeln.</p>
<p>Das Model Context Protocol ändert das: MCP ist ein offener Standard, den Anthropic im November 2024 vorgestellt hat und <a href="http://www.heise.de/hintergrund/Model-Context-Protocol-Anwendungsbeispiel-in-TypeScript-10550413.html">der inzwischen breite Unterstützung durch zahlreiche Anbieter genießt</a>. Auch OpenAI, Google und andere große Anbieter haben sich dem Standard angeschlossen. MCP definiert eine einheitliche Schnittstelle zwischen LLMs und externen Datenquellen. Ein MCP-Server stellt Werkzeuge und Daten bereit, die ein LLM über einen MCP-Client nutzen kann. Die Interaktion erfolgt in natürlicher Sprache: Das Modell formuliert Anfragen, der Server liefert die passenden Daten. Das Ganze geschieht über ein standardisiertes Protokoll auf Basis von JSON-RPC, sodass weder auf Client- noch auf Server-Seite proprietäre Technik erforderlich ist.</p>
<p>Das Entscheidende an MCP ist seine Datenquellenagnostik. Der Standard definiert, wie die Kommunikation abläuft, nicht jedoch, welche Art von Daten dahintersteckt. Ob ein MCP-Server eine relationale Datenbank, ein Dateisystem, eine API oder einen Event-Store anbindet, spielt auf Protokollebene keine Rolle. Inzwischen existieren MCP-Server für Dutzende von Systemen: von GitHub über Slack bis hin zu Datenbanken verschiedenster Art.</p>
<p>Die Frage, die MCP nicht beantwortet, ist deshalb umso wichtiger: Welche Qualität haben die Daten, die über diesen Kanal fließen? Wenn MCP die Brücke zwischen LLM und Datenquelle ist, dann entscheidet die Datenquelle darüber, wie tragfähig diese Brücke sein kann. Eine über MCP angebundene CRUD-Datenbank liefert weiterhin nur Snapshots. Ein Event-Store hingegen liefert die ganze Geschichte.</p>
<h3 class="subheading" id="nav_was_ein_llm_in__2">Was ein LLM in einer Bibliothek sehen kann</h3>
<p>Um das greifbar zu machen, hilft ein konkretes, von mir regelmäßig genutztes Beispiel, das eine öffentliche Bibliothek als Domäne modelliert. Die zugehörigen Events sind überschaubar und dennoch fachlich reichhaltig: Ein <code>BookAcquired</code>-Event beschreibt die Anschaffung eines neuen Buches mit Titel, Autorin oder Autor und ISBN. <code>BookBorrowed</code> dokumentiert die Ausleihe, <code>BookReturned</code> die Rückgabe. Auf der Seite der Leserinnen und Leser gibt es <code>ReaderApplied</code> für die Anmeldung und <code>ReaderAccepted</code> für die Freischaltung des Bibliotheksausweises. Geht es an die konkrete Implementierung, <a href="http://www.heise.de/blog/CloudEvents-verstehen-und-nutzen-Der-CNCF-Standard-fuer-Event-Integration-10325241.html">greife ich auf den CloudEvents-Standard zurück</a>, der ein fachlich benanntes Typenfeld und eine umgekehrte Domain-Schreibweise wie <code>io.eventsourcingdb.library.book-borrowed</code> vorsieht. Jedes Buch und jede Leserin beziehungsweise jeder Leser bildet dabei ein eigenes Subject, also einen eigenen Event-Stream, der die jeweilige Geschichte vollständig abbildet.</p>
<p>Stellen Sie sich nun vor, ein LLM hätte über einen MCP-Server Zugriff auf den Event-Store dieser Stadtbibliothek. Es könnte die vorhandenen Subjects durchsuchen, also die einzelnen Bücher sowie Leserinnen und Leser identifizieren. Es könnte die Event-Typen auflisten und so die Struktur der Domäne verstehen, ohne dass jemand sie erklären müsste. Und es könnte gezielt Fragen beantworten, die mit einer CRUD-Datenbank schwer oder gar nicht zu beantworten wären.</p>
<p class="indent rte__abs--indent"><em>„Welche Bücher wurden in den letzten zwölf Monaten angeschafft, aber noch nie ausgeliehen?“</em></p>
<p>Diese Frage erfordert die Kenntnis, dass ein Buch existiert (<code>BookAcquired</code>), und die Abwesenheit eines bestimmten Folgeereignisses (<code>BookBorrowed</code>). In einer CRUD-Datenbank müsste dafür ein eigens gepflegtes Feld existieren, das bei jeder Änderung korrekt aktualisiert wird. Im Event-Store ergibt sich die Antwort direkt aus der Ereignisfolge.</p>
<p class="indent rte__abs--indent"><em>„Zeige mir die vollständige Ausleihhistorie von Leserin 23.“</em></p>
<p>In einer CRUD-Datenbank sehen Sie bestenfalls, welches Buch die Leserin gerade ausgeliehen hat. Im Event-Store sehen Sie jede einzelne Ausleihe, jede Rückgabe, jede verspätete Rückgabe und jede erhobene Gebühr. Das LLM kann daraus Muster ableiten, etwa ob bestimmte Genres bevorzugt werden oder ob Rückgaben regelmäßig verspätet erfolgen.</p>
<p class="indent rte__abs--indent"><em>„Welche Bücher werden häufig ausgeliehen, aber selten rechtzeitig zurückgebracht?“</em></p>
<p>Auch das ist eine Frage, die erst durch die Kombination mehrerer Ereignisse über die Zeit beantwortbar wird. Ein LLM, das diese Daten sieht, kann nicht nur die Antwort liefern, sondern auch Hypothesen formulieren: Liegt es an der Länge des Buches? An der Beliebtheit? An konkreten Leserinnen und Lesern, die generell verspätet zurückgeben?</p>
<p>Entscheidend ist: Keine dieser Fragen erfordert, dass jemand vorab ein spezielles Lesemodell gebaut oder eine Auswertung programmiert hat. Das LLM formuliert die Frage, der MCP-Server liefert die Daten, und das Modell interpretiert sie. Die Flexibilität entsteht dadurch, dass die Rohdaten fachlich und historisch vollständig sind. Was in diesem Beispiel mit einer Stadtbibliothek funktioniert, funktioniert in der Realität mit jeder Domäne: Versicherungsschäden, Logistikketten, Bestellprozesse im E-Commerce, Behandlungsverläufe im Gesundheitswesen, …: Die Liste ist endlos. Und je reichhaltiger die Events aus semantischer Sicht sind, desto mehr kann ein LLM damit anfangen.</p>
<h3 class="subheading" id="nav_warum_events__3">Warum Events die natürliche Sprache für LLMs sind</h3>
<p>Es gibt einen weiteren Grund, warum Event Sourcing und LLMs so gut zusammenpassen, und er liegt in der Form der Daten selbst. Events sind von Natur aus in fachlicher Sprache formuliert. Ein Event-Typ wie <code>io.eventsourcingdb.library.book-borrowed</code> sagt bereits, was passiert ist. Die Daten des Events enthalten die Details: welches Buch, welche Leserin oder welcher Leser, zu welchem Zeitpunkt. Ein LLM muss bei solchen Daten nicht raten, was gemeint ist. Es liest keine kryptischen Statuscodes, keine technischen Fremdschlüssel, keine Spalte <code>type</code> mit dem Wert <code>3</code>. Es liest genau das, was passiert ist: Ein Buch wurde ausgeliehen, ein Buch wurde zurückgegeben, eine Gebühr wurde erhoben, eine Leserin wurde gesperrt. Die Semantik steckt in den Daten selbst.</p>
<p>Hinzu kommt die chronologische Ordnung. Events sind naturgemäß zeitlich sortiert. Ein LLM kann die Events daher lesen wie eine Erzählung: Erst wurde das Buch angeschafft, dann ausgeliehen, dann zurückgegeben, dann erneut ausgeliehen, dann verspätet zurückgegeben, dann eine Gebühr erhoben. Diese narrative Struktur entspricht genau dem, womit Sprachmodelle am besten umgehen können. Sie sind darauf trainiert, Zusammenhänge in sequenziellen Daten zu erkennen, Muster zu identifizieren und Schlussfolgerungen zu ziehen. Eine Folge von Events ist strukturell näher an einem Text als an einer relationalen Tabelle.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Schließlich ist jedes Event in sich abgeschlossen und kontextreich. Es beschreibt nicht nur, was sich geändert hat, sondern trägt den fachlichen Zusammenhang bereits in sich. Ein <code>BookBorrowed</code>-Event enthält nicht nur eine Buch-ID und eine Leser-ID, sondern steht im Kontext eines Subject, das die gesamte Geschichte dieses Buches repräsentiert. Dieser eingebaute Kontext reduziert die Notwendigkeit, dem LLM zusätzliche Erklärungen mitzugeben. Die Events sprechen für sich.</p>
<p>Wer die aktuelle Entwicklung beim Context Engineering verfolgt, erkennt die Parallele: Es geht darum, einem Sprachmodell möglichst reichhaltigen, strukturierten und relevanten Kontext zur Verfügung zu stellen. Events erfüllen alle drei Kriterien, ohne dass eine zusätzliche Aufbereitung nötig wäre. Sie sind gewissermaßen bereits in der Sprache geschrieben, die LLMs am besten verstehen. Mit anderen Worten: Wenn Ihre Software bereits gute Daten liefert, wird die Auswertung per künstlicher Intelligenz bedeutend vereinfacht.</p>
<h3 class="subheading" id="nav_von_der_idee__4">Von der Idee zur Praxis</h3>
<p>Die Verbindung von Event Sourcing und MCP ist keine bloße Theorie. Mitte März 2026 wurde beispielsweise <a href="https://docs.eventsourcingdb.io/blog/2026/03/16/introducing-the-mcp-server-10-for-eventsourcingdb/" rel="external noopener" target="_blank">für die Datenbank EventSourcingDB ein MCP-Server als kostenfreie Erweiterung veröffentlicht</a>. Er ermöglicht es, über ein beliebiges LLM in natürlicher Sprache <a href="https://docs.eventsourcingdb.io/extensions/mcp-server/introduction/" rel="external noopener" target="_blank">mit dem Event-Store zu interagieren</a>: Events lesen und schreiben, Subjects und Event-Types durchsuchen, Event-Schemas registrieren, EventQL-Queries ausführen und sogar die eingebaute EventQL-Dokumentation abfragen. Der MCP-Server läuft dabei als eigenständiger Prozess neben der Datenbank, unterstützt TLS-Verschlüsselung und Token-basierte Authentifizierung und ist als Docker-Image verfügbar.</p>
<p>Praktisch bedeutet das: Eine Entwicklerin kann ihrem LLM die Frage stellen, welche Subjects im Event-Store existieren, und erhält eine strukturierte Antwort. Sie kann fragen, welche Ereignisse für ein bestimmtes Buch vorliegen, und das LLM liest sie chronologisch aus dem Store. Sie kann eine analytische Frage formulieren, und das LLM übersetzt sie in eine EventQL-Query, führt sie aus und interpretiert das Ergebnis. All das geschieht über eine standardisierte Schnittstelle, ohne eine einzige Zeile Integrationscode. Was bisher erfahrene Entwicklerinnen und Entwickler mit Kenntnissen der Query-Sprache und der Datenstruktur erforderte, wird durch natürliche Sprache für ein breiteres Publikum zugänglich.</p>
<p>Es wäre jedoch falsch, diesen Gedanken auf ein einzelnes Produkt zu verengen. Das Prinzip gilt für jeden Event-Store, der einen MCP-Server anbietet oder künftig anbieten wird. Der Wert liegt nicht in der spezifischen Implementierung, sondern in der Kombination: ein Event-Store, der die vollständige fachliche Geschichte bereithält, und ein standardisiertes Protokoll, das diese Geschichte für Sprachmodelle zugänglich macht. <a href="https://eventsourcingdb.io/" rel="external noopener" target="_blank">EventSourcingDB</a> ist lediglich ein konkretes Beispiel dafür, wie diese Kombination heute in der Praxis aussehen kann.</p>
<h3 class="subheading" id="nav_nicht_die__5">Nicht die Technik entscheidet, sondern die Daten dahinter</h3>
<p>MCP löst also ein reales Problem: Es standardisiert den Zugang von LLMs zu externen Datenquellen und macht individuelle Integrationen überflüssig. Das ist ein bedeutender Schritt. Doch MCP allein reicht nicht. Ein standardisierter Zugang zu unzureichenden Daten liefert standardisiert unzureichende Ergebnisse.</p>
<p>Die eigentliche Frage bleibt bestehen: Welche Daten stecken hinter dem MCP-Server? Wer eine CRUD-Datenbank anbindet, gibt einem LLM Zugriff auf den aktuellen Zustand. Das ist besser als gar kein Zugriff, bleibt aber bei Snapshots ohne Geschichte. Das LLM sieht, was ist. Es sieht nicht, was war, was sich verändert hat oder warum.</p>
<p>Wer hingegen einen Event-Store anbindet, gibt einem LLM Zugriff auf die gesamte fachliche Historie. Es sieht nicht nur den Zustand, sondern den Weg dorthin. Es kann Muster erkennen, Zusammenhänge herstellen und Entwicklungen nachvollziehen. Es kann erklären, nicht nur beschreiben.</p>
<p>Die Kombination aus Event Sourcing und MCP ist deshalb so wirkungsvoll, weil sie zwei komplementäre Probleme gleichzeitig behebt. Event Sourcing löst das Datenproblem: Es liefert vollständige, kontextreiche und fachlich formulierte Daten. MCP löst das Zugangsproblem: Es macht diese Daten über eine standardisierte Schnittstelle für Sprachmodelle erreichbar. Keines der beiden löst für sich allein die gesamte Herausforderung. Zusammen jedoch schließen sie eine Lücke, die bislang dafür sorgte, dass LLMs entweder keinen Zugang zu den richtigen Daten hatten oder Zugang zu den falschen.</p>
<p>Dabei ist bemerkenswert, wie stabil diese Kombination gegenüber Veränderungen ist. Die Modelle werden sich weiterentwickeln, neue LLMs werden erscheinen, bestehende werden leistungsfähiger. Die Art, wie wir Prompts formulieren, wird sich ändern. Auch MCP wird sich als Protokoll weiterentwickeln. Was sich nicht ändern wird, sind die gespeicherten Ereignisse. Sie bleiben das unveränderliche Fundament, auf dem alles andere aufbaut. Wer heute damit beginnt, Events zu speichern, investiert nicht in eine kurzlebige Technologie, sondern in Daten, die mit jedem neuen Modell und jedem zukünftigen Zugangsweg an Wert gewinnen.</p>
<p>Wer im vergangenen August meinen eingangs erwähnten <a href="http://www.heise.de/blog/Event-Sourcing-als-perfekte-Grundlage-fuer-KI-10515847.html">Artikel über Event Sourcing als Grundlage für KI</a> gelesen hat, findet hier den nächsten logischen Schritt. Die Daten sind da. Jetzt sind sie auch zugänglich.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11211648"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11211648: Event Sourcing trifft MCP: Die ganze Geschichte für LLMs"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-02T07:15:00.000Z
urn:bid:5056185
2026-04-02T07:15:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Community diskutiert darüber, KI-Beiträge bei der Open-Source-Entwicklung abzulehnen. Das ist weder realistisch noch zielführend, meint Sebastian Springer.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/Analysis-Should-AI-implement-core-features-in-critical-software-11244242.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAnalyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren-11242641.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAnalyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren-11242641.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/Analyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren-11242641.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Analyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren/forum-580401/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>20</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Geschlossenes Metallschloss im Vordergrund, Metallketten im Hintergrund"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: sommart sombutwanitkul / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T09:15:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">09:15
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
7 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Sebastian Springer</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/Analysis-Should-AI-implement-core-features-in-critical-software-11244242.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Open-Source-Community und die Mitglieder des Technical Steering Committee (TSC) von Node.js diskutieren derzeit, ob Pull Requests zu Node.js künftig abgelehnt werden sollen, wenn sie mithilfe von KI entstanden sind. Das ist jedoch aus mehreren Gründen unrealistisch: KI ist längst ein Teil des Entwicklungsprozesses, die Maintainer können die Herkunft von Code kaum verlässlich prüfen und es gibt keine objektiven Kriterien, um KI-Unterstützung eindeutig von menschlicher Arbeit zu unterscheiden. Zudem ist ein Verbot nicht sinnvoll, da es die ohnehin knappen Ressourcen der Community weiter belasten würde und es auch keine verantwortungsvolle Governance ersetzt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Sebastian Springer
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Sebastian Springer" height="500" high-dpi-quality="70" quality="85" src="/imgs/71/3/6/9/5/2/7/8/0x0_n-da3733971b591ad7.png" style="aspect-ratio: 500 / 500;" width="500">
<img alt="Sebastian Springer" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 500 / 500; object-fit: cover;" width="500">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Sebastian Springer weckt als Dozent für JavaScript, Sprecher auf zahlreichen Konferenzen und Autor die Begeisterung für professionelle Entwicklung mit JavaScript.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_debatte_um__0">Debatte um Node.js</h3>
<p><a href="http://www.heise.de/news/AI-Slop-verstopft-Open-Source-GitHub-kuendigt-Massnahmen-an-11184036.html" rel="external noopener" target="_blank">Kritik an KI-generierten Pull Requests</a> ist zwar nicht neu, hat aber durch diesen aktuellen Fall eine neue Dimension erreicht und betrifft hier ein kritisches Element der Software-Infrastruktur: Die Plattform Node.js bildet in zahlreichen Anwendungen entweder die technische Basis oder dient als Grundlage für Build- und Entwicklungswerkzeuge.</p>
<p>Auslöser <a href="https://github.com/indutny/no-ai-in-nodejs-core?tab=readme-ov-file" rel="external noopener" target="_blank">der aktuellen Diskussion</a> ist ein <a href="https://github.com/nodejs/node/pull/61478" rel="external noopener" target="_blank">umfangreicher Pull Request</a> mit mittlerweile über 21.000 Zeilen Code. Der Autor Matteo Collina, ein erfahrener Node.js-Contributor, hat offengelegt, dass er das Feature teilweise mit Claude Code entwickelt, den generierten Code aber gründlich überprüft habe. <a href="https://blog.platformatic.dev/why-nodejs-needs-a-virtual-file-system" rel="external noopener" target="_blank">In seinem Blogartikel</a> führt er aus, dass er sich bei der Umsetzung des Features auf die Architektur, das API-Design und die Code Review konzentriert habe, während er die langweilige Schreibarbeit wie die Implementierung der Methodenvarianten, Tests und Dokumentation der KI überlassen habe.</p>
<p>Bei dem Feature handelt es sich nicht um eine kosmetische Änderung oder zusätzliche Tests, sondern um ein komplett neues Kernfeature: VFS, ein virtuelles Dateisystem, das es ermöglicht, Dateien und Module direkt aus dem Speicher statt vom realen Dateisystem zu laden. Dieses Feature greift tief in das Dateisystem-Modul und das Modulsystem von Node.js selbst ein. Überspitzt gesagt, stellt sich die Frage: Darf KI Kernfeatures eines kritischen Open-Source-Projekts implementieren?</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
Heise-Konferenz: enterJS Integrate AI
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="enterJS Integrate AI" height="720" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/6/1/8/5/eJSAI-Teaser-c5fc99f7649b622b.png" style="aspect-ratio: 1280 / 720;" width="1280">
<img alt="enterJS Integrate AI" height="720" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1280 / 720; object-fit: cover;" width="1280">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: Stone Story / stock.adobe.com)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Webanwendungen mit KI anreichern, sodass sie wirklich besser werden? Der Online-Thementag <a href="https://enterjs.de/ai.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830" rel="external noopener" target="_blank">enterJS Integrate AI</a> am 28. April 2026 zeigt, wie das geht. Frühbuchertickets und Gruppenrabatte sind <a href="https://enterjs.de/tickets.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830#AI" rel="external noopener" target="_blank">im Online-Ticketshop verfügbar</a>.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<h3 class="subheading" id="nav_umgang_mit__1">Umgang mit KI-Flut und ihren Risiken</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Eine einfache Antwort gibt es darauf nicht. Der Fall zeigt aber sehr deutlich eines der Grundprobleme, mit denen viele Open-Source-Projekte aktuell konfrontiert sind. Viele Projekte werden regelrecht mit KI-generierten Beiträgen überflutet. Diese reichen von kleinen Rechtschreibkorrekturen in der Dokumentation bis hin zu tiefgreifenden Architektur-Features. Die Maintainer stehen zunehmend vor der Entscheidung, ob sie KI-generierten Code grundsätzlich zulassen oder verbieten sollen. Neben den offensichtlichen Vorteilen wie Effizienzsteigerung und einer niedrigeren Einstiegshürde für neue Beitragende gibt es mehrere ernst zu nehmende Bedenken.</p>
<p>Diese betreffen zum einen das Copyright, denn KI-generierter Code ist in der Regel nicht urheberrechtlich geschützt. Anders sieht es bei KI-unterstütztem Code aus. Hier hängt es vom Einzelfall ab. Zudem besteht das Risiko, dass Modelle versehentlich proprietären Code reproduzieren und so zu Urheberrechtsproblemen führen. Diese Unsicherheit führt dazu, dass manche Maintainer KI-Beiträge grundsätzlich ablehnen möchten.</p>
<p>Zweitens wird die Qualität des Codes kritisch gesehen. KI-Agenten neigen dazu, sehr viel Code zu produzieren. Sowohl Autorinnen und Autoren als auch Maintainer müssen sicherstellen, dass der Code den Qualitäts- und Architekturstandards des Projekts genügt. Statische Analyse kann nur einen Teil davon abdecken. Aspekte, die die Architektur betreffen, müssen meist manuell überprüft werden. Gerade bei umfangreichen Beiträgen steigt das Risiko, dass suboptimale oder schwer wartbare Lösungen in den Code gelangen.</p>
<p>Und drittens nimmt der Aufwand für die Maintainer zu. Durch die Menge an generiertem Code verschiebt sich der Schwerpunkt vieler Maintainer vom Schreiben von Code hin zur Code Review. Dieser Aspekt nimmt teilweise so überhand, dass manche sich nur noch mit Code Reviews beschäftigen. Bei vielen Open-Source-Projekten entsteht das Problem, dass die Beiträge automatisiert übermittelt werden, sodass kaum noch menschliche Interaktion erforderlich ist. In der Flut aus KI-generierten Beiträgen können wertvolle Bugfixes oder Feature-Implementierungen leicht untergehen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Trotz dieser Risiken ist ein generelles Verbot von KI-generiertem Code in der Praxis kaum durchsetzbar. Viele Entwicklerinnen und Entwickler nutzen Copilot, Cursor und andere Werkzeuge für die Entwicklung, und hier auch in unterschiedlichem Ausmaß, von einfachen Inline-Vervollständigungen bis hin zu agentenbasiertem Coding. Hier stellt sich die Frage: Was ist noch ein smartes Feature der Entwicklungsumgebung und was ist KI-gestütztes Coding, oder auch: Wo ist die Grenze zwischen „menschlich“ und „KI-gestützt“? Und wie soll man sie erkennen? Gerade bei kleineren Beiträgen ist es faktisch unmöglich festzustellen, ob der Code von einer KI stammt oder nicht.</p>
<p>Die Linux Foundation verfolgt hier einen pragmatischen Ansatz. Gemäß <a href="https://www.linuxfoundation.org/legal/generative-ai" rel="external noopener" target="_blank">ihrer Richtlinie</a> ist KI-generierter Code grundsätzlich erlaubt. Die Nutzungsbedingungen des KI-Tools dürfen jedoch keine Restriktionen enthalten, die der Lizenz des Projekts widersprechen. Der KI-generierte Code darf zudem keine Urheberrechtsverletzungen verursachen; die Nutzung des generierten Codes muss erlaubt sein. Dabei gilt, dass die KI assistieren darf, der Mensch aber der verantwortliche Autor bleibt.</p>
<p>Transparenz gehört zu den grundlegenden Prinzipien im verantwortungsvollen Umgang mit generativer KI. Das gilt nicht nur für die Entwicklung solcher Systeme, sondern ebenso für ihre Nutzung: Entwickler sollten offenlegen, wenn sie Code mithilfe von KI-Werkzeugen entwickelt haben. Einige Open-Source-Projekte haben entsprechende Offenlegungspflichten in ihre Contribution-Richtlinien aufgenommen, zum Beispiel <a href="https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md" rel="external noopener" target="_blank">der Terminal-Emulator Ghostty</a>. Das Webframework Django hat eine <a href="https://github.com/django/django/blob/main/.github/pull_request_template.md" rel="external noopener" target="_blank">AI Assistance Disclosure</a> in das offizielle Pull-Request-Template integriert.</p>
<h3 class="subheading" id="nav_verlässliche__2">Verlässliche Richtlinien statt KI-Verbot</h3>
<p>Die Diskussion um den Umgang mit KI ist für jedes Projekt, auch im Open-Source-Bereich, sehr wichtig, und sie wird auch nicht beendet sein. Stattdessen müssen wir uns kontinuierlich mit dem Thema beschäftigen, denn die Werkzeuge und Modelle entwickeln sich kontinuierlich weiter. Die Qualität wird immer besser und auch die Erfahrungen mit den Werkzeugen und ihrem Umgang nehmen zu.</p>
<p>Es braucht verlässliche Richtlinien, um Projekte und ihre Maintainer zu schützen. Ein generelles Verbot von KI ist wenig realistisch und auch nicht zielführend. Es wirkt eher wie ein reflexartiges Abwehren neuer Technologien. Sinnvoller ist es, Verantwortung klar zu definieren, Transparenz einzufordern und die Qualitätssicherung zu stärken. Das ist jedoch nicht nur die Aufgabe der Maintainer, die aktuell schon unter der Situation leiden, sondern einer jeden Entwicklerin und eines jeden Entwicklers, die zu Open-Source-Projekten beitragen möchten.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:mai@heise.de" title="Maika Möbus">mai</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11242641"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11242641: Analyse: Darf KI Kernfeatures in kritische Software implementieren?"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Community diskutiert darüber, KI-Beiträge bei der Open-Source-Entwicklung abzulehnen. Das ist weder realistisch noch zielführend, meint Sebastian Springer.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/Analysis-Should-AI-implement-core-features-in-critical-software-11244242.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAnalyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren-11242641.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAnalyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren-11242641.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/Analyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren-11242641.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Analyse-Darf-KI-Kernfeatures-in-kritische-Software-implementieren/forum-580401/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>20</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/8/5/shutterstock_1415624033_analyse-9b1111a664bdbe43.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Geschlossenes Metallschloss im Vordergrund, Metallketten im Hintergrund"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: sommart sombutwanitkul / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-02T09:15:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">09:15
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
7 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Sebastian Springer</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/Analysis-Should-AI-implement-core-features-in-critical-software-11244242.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Open-Source-Community und die Mitglieder des Technical Steering Committee (TSC) von Node.js diskutieren derzeit, ob Pull Requests zu Node.js künftig abgelehnt werden sollen, wenn sie mithilfe von KI entstanden sind. Das ist jedoch aus mehreren Gründen unrealistisch: KI ist längst ein Teil des Entwicklungsprozesses, die Maintainer können die Herkunft von Code kaum verlässlich prüfen und es gibt keine objektiven Kriterien, um KI-Unterstützung eindeutig von menschlicher Arbeit zu unterscheiden. Zudem ist ein Verbot nicht sinnvoll, da es die ohnehin knappen Ressourcen der Community weiter belasten würde und es auch keine verantwortungsvolle Governance ersetzt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Sebastian Springer
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Sebastian Springer" height="500" high-dpi-quality="70" quality="85" src="/imgs/71/3/6/9/5/2/7/8/0x0_n-da3733971b591ad7.png" style="aspect-ratio: 500 / 500;" width="500">
<img alt="Sebastian Springer" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 500 / 500; object-fit: cover;" width="500">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Sebastian Springer weckt als Dozent für JavaScript, Sprecher auf zahlreichen Konferenzen und Autor die Begeisterung für professionelle Entwicklung mit JavaScript.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_debatte_um__0">Debatte um Node.js</h3>
<p><a href="http://www.heise.de/news/AI-Slop-verstopft-Open-Source-GitHub-kuendigt-Massnahmen-an-11184036.html" rel="external noopener" target="_blank">Kritik an KI-generierten Pull Requests</a> ist zwar nicht neu, hat aber durch diesen aktuellen Fall eine neue Dimension erreicht und betrifft hier ein kritisches Element der Software-Infrastruktur: Die Plattform Node.js bildet in zahlreichen Anwendungen entweder die technische Basis oder dient als Grundlage für Build- und Entwicklungswerkzeuge.</p>
<p>Auslöser <a href="https://github.com/indutny/no-ai-in-nodejs-core?tab=readme-ov-file" rel="external noopener" target="_blank">der aktuellen Diskussion</a> ist ein <a href="https://github.com/nodejs/node/pull/61478" rel="external noopener" target="_blank">umfangreicher Pull Request</a> mit mittlerweile über 21.000 Zeilen Code. Der Autor Matteo Collina, ein erfahrener Node.js-Contributor, hat offengelegt, dass er das Feature teilweise mit Claude Code entwickelt, den generierten Code aber gründlich überprüft habe. <a href="https://blog.platformatic.dev/why-nodejs-needs-a-virtual-file-system" rel="external noopener" target="_blank">In seinem Blogartikel</a> führt er aus, dass er sich bei der Umsetzung des Features auf die Architektur, das API-Design und die Code Review konzentriert habe, während er die langweilige Schreibarbeit wie die Implementierung der Methodenvarianten, Tests und Dokumentation der KI überlassen habe.</p>
<p>Bei dem Feature handelt es sich nicht um eine kosmetische Änderung oder zusätzliche Tests, sondern um ein komplett neues Kernfeature: VFS, ein virtuelles Dateisystem, das es ermöglicht, Dateien und Module direkt aus dem Speicher statt vom realen Dateisystem zu laden. Dieses Feature greift tief in das Dateisystem-Modul und das Modulsystem von Node.js selbst ein. Überspitzt gesagt, stellt sich die Frage: Darf KI Kernfeatures eines kritischen Open-Source-Projekts implementieren?</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
Heise-Konferenz: enterJS Integrate AI
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="enterJS Integrate AI" height="720" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/6/1/8/5/eJSAI-Teaser-c5fc99f7649b622b.png" style="aspect-ratio: 1280 / 720;" width="1280">
<img alt="enterJS Integrate AI" height="720" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1280 / 720; object-fit: cover;" width="1280">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: Stone Story / stock.adobe.com)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Webanwendungen mit KI anreichern, sodass sie wirklich besser werden? Der Online-Thementag <a href="https://enterjs.de/ai.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830" rel="external noopener" target="_blank">enterJS Integrate AI</a> am 28. April 2026 zeigt, wie das geht. Frühbuchertickets und Gruppenrabatte sind <a href="https://enterjs.de/tickets.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830#AI" rel="external noopener" target="_blank">im Online-Ticketshop verfügbar</a>.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<h3 class="subheading" id="nav_umgang_mit__1">Umgang mit KI-Flut und ihren Risiken</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Eine einfache Antwort gibt es darauf nicht. Der Fall zeigt aber sehr deutlich eines der Grundprobleme, mit denen viele Open-Source-Projekte aktuell konfrontiert sind. Viele Projekte werden regelrecht mit KI-generierten Beiträgen überflutet. Diese reichen von kleinen Rechtschreibkorrekturen in der Dokumentation bis hin zu tiefgreifenden Architektur-Features. Die Maintainer stehen zunehmend vor der Entscheidung, ob sie KI-generierten Code grundsätzlich zulassen oder verbieten sollen. Neben den offensichtlichen Vorteilen wie Effizienzsteigerung und einer niedrigeren Einstiegshürde für neue Beitragende gibt es mehrere ernst zu nehmende Bedenken.</p>
<p>Diese betreffen zum einen das Copyright, denn KI-generierter Code ist in der Regel nicht urheberrechtlich geschützt. Anders sieht es bei KI-unterstütztem Code aus. Hier hängt es vom Einzelfall ab. Zudem besteht das Risiko, dass Modelle versehentlich proprietären Code reproduzieren und so zu Urheberrechtsproblemen führen. Diese Unsicherheit führt dazu, dass manche Maintainer KI-Beiträge grundsätzlich ablehnen möchten.</p>
<p>Zweitens wird die Qualität des Codes kritisch gesehen. KI-Agenten neigen dazu, sehr viel Code zu produzieren. Sowohl Autorinnen und Autoren als auch Maintainer müssen sicherstellen, dass der Code den Qualitäts- und Architekturstandards des Projekts genügt. Statische Analyse kann nur einen Teil davon abdecken. Aspekte, die die Architektur betreffen, müssen meist manuell überprüft werden. Gerade bei umfangreichen Beiträgen steigt das Risiko, dass suboptimale oder schwer wartbare Lösungen in den Code gelangen.</p>
<p>Und drittens nimmt der Aufwand für die Maintainer zu. Durch die Menge an generiertem Code verschiebt sich der Schwerpunkt vieler Maintainer vom Schreiben von Code hin zur Code Review. Dieser Aspekt nimmt teilweise so überhand, dass manche sich nur noch mit Code Reviews beschäftigen. Bei vielen Open-Source-Projekten entsteht das Problem, dass die Beiträge automatisiert übermittelt werden, sodass kaum noch menschliche Interaktion erforderlich ist. In der Flut aus KI-generierten Beiträgen können wertvolle Bugfixes oder Feature-Implementierungen leicht untergehen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Trotz dieser Risiken ist ein generelles Verbot von KI-generiertem Code in der Praxis kaum durchsetzbar. Viele Entwicklerinnen und Entwickler nutzen Copilot, Cursor und andere Werkzeuge für die Entwicklung, und hier auch in unterschiedlichem Ausmaß, von einfachen Inline-Vervollständigungen bis hin zu agentenbasiertem Coding. Hier stellt sich die Frage: Was ist noch ein smartes Feature der Entwicklungsumgebung und was ist KI-gestütztes Coding, oder auch: Wo ist die Grenze zwischen „menschlich“ und „KI-gestützt“? Und wie soll man sie erkennen? Gerade bei kleineren Beiträgen ist es faktisch unmöglich festzustellen, ob der Code von einer KI stammt oder nicht.</p>
<p>Die Linux Foundation verfolgt hier einen pragmatischen Ansatz. Gemäß <a href="https://www.linuxfoundation.org/legal/generative-ai" rel="external noopener" target="_blank">ihrer Richtlinie</a> ist KI-generierter Code grundsätzlich erlaubt. Die Nutzungsbedingungen des KI-Tools dürfen jedoch keine Restriktionen enthalten, die der Lizenz des Projekts widersprechen. Der KI-generierte Code darf zudem keine Urheberrechtsverletzungen verursachen; die Nutzung des generierten Codes muss erlaubt sein. Dabei gilt, dass die KI assistieren darf, der Mensch aber der verantwortliche Autor bleibt.</p>
<p>Transparenz gehört zu den grundlegenden Prinzipien im verantwortungsvollen Umgang mit generativer KI. Das gilt nicht nur für die Entwicklung solcher Systeme, sondern ebenso für ihre Nutzung: Entwickler sollten offenlegen, wenn sie Code mithilfe von KI-Werkzeugen entwickelt haben. Einige Open-Source-Projekte haben entsprechende Offenlegungspflichten in ihre Contribution-Richtlinien aufgenommen, zum Beispiel <a href="https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md" rel="external noopener" target="_blank">der Terminal-Emulator Ghostty</a>. Das Webframework Django hat eine <a href="https://github.com/django/django/blob/main/.github/pull_request_template.md" rel="external noopener" target="_blank">AI Assistance Disclosure</a> in das offizielle Pull-Request-Template integriert.</p>
<h3 class="subheading" id="nav_verlässliche__2">Verlässliche Richtlinien statt KI-Verbot</h3>
<p>Die Diskussion um den Umgang mit KI ist für jedes Projekt, auch im Open-Source-Bereich, sehr wichtig, und sie wird auch nicht beendet sein. Stattdessen müssen wir uns kontinuierlich mit dem Thema beschäftigen, denn die Werkzeuge und Modelle entwickeln sich kontinuierlich weiter. Die Qualität wird immer besser und auch die Erfahrungen mit den Werkzeugen und ihrem Umgang nehmen zu.</p>
<p>Es braucht verlässliche Richtlinien, um Projekte und ihre Maintainer zu schützen. Ein generelles Verbot von KI ist wenig realistisch und auch nicht zielführend. Es wirkt eher wie ein reflexartiges Abwehren neuer Technologien. Sinnvoller ist es, Verantwortung klar zu definieren, Transparenz einzufordern und die Qualitätssicherung zu stärken. Das ist jedoch nicht nur die Aufgabe der Maintainer, die aktuell schon unter der Situation leiden, sondern einer jeden Entwicklerin und eines jeden Entwicklers, die zu Open-Source-Projekten beitragen möchten.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:mai@heise.de" title="Maika Möbus">mai</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11242641"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11242641: Analyse: Darf KI Kernfeatures in kritische Software implementieren?"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-02T07:15:00.000Z
urn:bid:5056726
2026-04-01T16:01:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
In der Episode diskutieren Eberhard Wolff und Michael Stal, wie auch die Analyse großer Softwarearchitekturen und Codebasen durch LLMs gelingt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs-11243710.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs-11243710.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/software-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs-11243710.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/software-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs/forum-580376/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>2</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Logo software-architektur.tv: Michael Stal: Analyse großer Softwaresysteme mit LLMs"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: software-architektur.tv)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T18:01:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">18:01
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Bei der Verwendung von LLMs für Software-Architektur geht es meistens um das Erstellen von Architektur. In dieser Episode von <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">software-architektur.tv</a> spricht Eberhard Wolff mit <a href="https://de.wikipedia.org/wiki/Michael_Stal" rel="external noopener" target="_blank">Prof. Dr. Michael Stal</a>, Principal Key Expert Engineer bei der Siemens AG, über dessen Erfahrungen bei der Benutzung von LLMs für die Code-Analyse. </p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Den vollmundigen Versprechen mancher Anbieter und Influencer für generative KI steht die praktische Realität gegenüber, dass die Beschränkungen von LLMs zu vielen Problemen führen, ganz besonders beim Softwareengineering. Die Analyse großer Softwarearchitekturen und Codebasen durch LLMs scheitert unter anderem an dem beschränkten Kontextfenster der Foundation-Modelle. Das gilt im Umkehrschluss auch für deren Generierung. Wie sich diese Problematik zumindest teilweise umgehen lässt, möchte <a href="http://www.heise.de/thema/Der-Pragmatische-Architekt">iX-Blogger Michael Stal</a> anhand geeigneter Techniken zeigen.</p>
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<h3 class="subheading" id="nav_livestream_am__0">Livestream am 2. April</h3>
<p>Die Ausstrahlung findet am Donnerstag, 2. April 2026, live ab 14:30 Uhr statt. Die Folge steht im Anschluss als Aufzeichnung bereit. Während des Livestreams können Interessierte Fragen via Twitch-Chat, YouTube-Chat oder anonym über das <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">Formular auf der Videocast-Seite</a> einbringen.</p>
<p>software-architektur.tv ist ein Videocast von Eberhard Wolff, <a href="http://www.heise.de/developer/Continuous-Architecture-2687847.html" rel="external noopener" target="_blank">iX-Blogger</a> und bekannter Softwarearchitekt, der als Head of Architecture bei SWAGLab arbeitet. Zum Team gehören außerdem <a href="https://www.socreatory.com/de/trainers/lisa-moritz" rel="external noopener" target="_blank">Lisa Maria Schäfer</a> (Socreatory) und <a href="https://techstories.dbsystel.de/blog/profiles/Ralf-D.-Mueller.html" rel="external noopener" target="_blank">Ralf D. Müller</a> (DB Systel). Seit Juni 2020 sind über 250 Folgen entstanden, die unterschiedliche Bereiche der Softwarearchitektur beleuchten – mal mit Gästen, mal Wolff, Schäfer oder Müller solo. Seit mittlerweile mehr als zwei Jahren berichtet heise Developer über die Episoden.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:map@ix.de" title="Matthias Parbel">map</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11243710"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11243710: software-architektur.tv: Analyse großer Softwaresysteme mit LLMs"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
In der Episode diskutieren Eberhard Wolff und Michael Stal, wie auch die Analyse großer Softwarearchitekturen und Codebasen durch LLMs gelingt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs-11243710.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs-11243710.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/software-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs-11243710.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/software-architektur-tv-Analyse-grosser-Softwaresysteme-mit-LLMs/forum-580376/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>2</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/7/2/6/analyse-86864edf38dd91a5.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Logo software-architektur.tv: Michael Stal: Analyse großer Softwaresysteme mit LLMs"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: software-architektur.tv)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T18:01:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">18:01
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Bei der Verwendung von LLMs für Software-Architektur geht es meistens um das Erstellen von Architektur. In dieser Episode von <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">software-architektur.tv</a> spricht Eberhard Wolff mit <a href="https://de.wikipedia.org/wiki/Michael_Stal" rel="external noopener" target="_blank">Prof. Dr. Michael Stal</a>, Principal Key Expert Engineer bei der Siemens AG, über dessen Erfahrungen bei der Benutzung von LLMs für die Code-Analyse. </p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Den vollmundigen Versprechen mancher Anbieter und Influencer für generative KI steht die praktische Realität gegenüber, dass die Beschränkungen von LLMs zu vielen Problemen führen, ganz besonders beim Softwareengineering. Die Analyse großer Softwarearchitekturen und Codebasen durch LLMs scheitert unter anderem an dem beschränkten Kontextfenster der Foundation-Modelle. Das gilt im Umkehrschluss auch für deren Generierung. Wie sich diese Problematik zumindest teilweise umgehen lässt, möchte <a href="http://www.heise.de/thema/Der-Pragmatische-Architekt">iX-Blogger Michael Stal</a> anhand geeigneter Techniken zeigen.</p>
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<h3 class="subheading" id="nav_livestream_am__0">Livestream am 2. April</h3>
<p>Die Ausstrahlung findet am Donnerstag, 2. April 2026, live ab 14:30 Uhr statt. Die Folge steht im Anschluss als Aufzeichnung bereit. Während des Livestreams können Interessierte Fragen via Twitch-Chat, YouTube-Chat oder anonym über das <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">Formular auf der Videocast-Seite</a> einbringen.</p>
<p>software-architektur.tv ist ein Videocast von Eberhard Wolff, <a href="http://www.heise.de/developer/Continuous-Architecture-2687847.html" rel="external noopener" target="_blank">iX-Blogger</a> und bekannter Softwarearchitekt, der als Head of Architecture bei SWAGLab arbeitet. Zum Team gehören außerdem <a href="https://www.socreatory.com/de/trainers/lisa-moritz" rel="external noopener" target="_blank">Lisa Maria Schäfer</a> (Socreatory) und <a href="https://techstories.dbsystel.de/blog/profiles/Ralf-D.-Mueller.html" rel="external noopener" target="_blank">Ralf D. Müller</a> (DB Systel). Seit Juni 2020 sind über 250 Folgen entstanden, die unterschiedliche Bereiche der Softwarearchitektur beleuchten – mal mit Gästen, mal Wolff, Schäfer oder Müller solo. Seit mittlerweile mehr als zwei Jahren berichtet heise Developer über die Episoden.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:map@ix.de" title="Matthias Parbel">map</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11243710"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11243710: software-architektur.tv: Analyse großer Softwaresysteme mit LLMs"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-01T16:01:00.000Z
urn:bid:5056664
2026-04-01T13:42:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Mit dem Projekt Spark setzt das BMDS auf digitale Souveränität: Die quelloffenen KI-Werkzeuge zur Planungsbeschleunigung stehen ab sofort auf OpenCode bereit.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Public-Money-Public-Code-Federal-government-releases-AI-modules-11243619.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FPublic-Money-Public-Code-Bund-veroeffentlicht-KI-Module-fuer-die-Verwaltung-11243586.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FPublic-Money-Public-Code-Bund-veroeffentlicht-KI-Module-fuer-die-Verwaltung-11243586.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Public-Money-Public-Code-Bund-veroeffentlicht-KI-Module-fuer-die-Verwaltung-11243586.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Bund-veroeffentlicht-lizenzfreie-KI-Werkzeuge/forum-580367/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>55</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Person an einer Tastatur"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: DC Studio / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T15:42:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">15:42
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Stefan-Krempl-4325443"
class="creator__link"
>Stefan Krempl</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Public-Money-Public-Code-Federal-government-releases-AI-modules-11243619.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die deutsche Verwaltung gilt als Sinnbild für lahme Prozesse und dicke Aktenstapel. Doch beim Thema KI will der Bund zeigen, dass es auch anders geht. Das Bundesministerium für Digitales und Staatsmodernisierung (BMDS) hat mit dem Projekt Spark eine Reihe von KI-Modulen veröffentlicht, die die Arbeitsweise in Behörden grundlegend verändern könnten.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Eine Besonderheit ist der Ansatz der Veröffentlichung: Unter dem Leitsatz <a href="http://www.heise.de/news/Kampagne-Public-Code-Software-fuer-die-Verwaltung-soll-frei-sein-3830705.html" rel="external noopener" target="_blank">Public Money, Public Code</a> stehen <a href="https://gitlab.opencode.de/bmds/planungs-und-genehmigungsbeschleunigung/spark-workflow" rel="external noopener" target="_blank">die Anwendungen für jeden auf der Plattform OpenCode zur Verfügung</a>. Damit folgt das BMDS dem Ruf nach digitaler Souveränität und ermöglicht es Kommunen, Firmen und der Zivilgesellschaft, die Werkzeuge ohne Lizenzgebühren zu nutzen und weiterzuentwickeln.</p>
<p>Mit Spark sollen komplexe Planungs- und Genehmigungsverfahren, die bisher Monate oder gar Jahre dauerten, durch eine intelligente operative Assistenz beschleunigt werden. Die Finanzierung erfolgt über den Klima- und Transformationsfonds. Das Projekt soll Beschäftigte in den Genehmigungsbehörden von Routineaufgaben befreien, ohne Menschen zu ersetzen. Vielmehr bereite die KI die Flut an Informationen aus Antragsunterlagen so auf, dass Sachbearbeiter schneller zu einer fundierten Entscheidung kommen könnten. Das letzte Wort habe der Mensch.</p>
<h3 class="subheading" id="nav_startpunkt__0">Startpunkt Dokumentenprüfung</h3>
<p>Technisch setzt Spark an, wo es bisher am meisten hakt: beim Sichten und Prüfen von Dokumenten. Die veröffentlichten Module decken typische Aufgaben wie die Zusammenstellung relevanter Daten aus Anträgen oder den formalen Check auf Vollständigkeit und Plausibilität ab. Das System soll dabei erkennen, wenn Dokumente fehlen oder Angaben widersprüchlich sind.</p>
<p>Das Herzstück bildet eine mit KI-Agenten unterstützte Rechtsdogmatik. Sie ist direkt an Gesetzesdatenbanken angeschlossen und kann Normen automatisiert dekonstruieren und juristisch bewerten. Im weiteren Verlauf sollen zusätzliche Module folgen, die sich auch der materiellen Prüfung und der Beschlusserstellung widmen.</p>
<p>Digitalminister Karsten Wildberger (CDU) sieht die Republik durch diesen Vorstoß weltweit in einer führenden Rolle bei KI-basierten Verwaltungsanwendungen. Erst im Februar sahnte das Projekt auf dem World Government Summit in Dubai den Preis für die beste KI-Nutzung in staatlichen Dienstleistungen ab. Die offene Bereitstellung des Quellcodes soll nun sicherstellen, dass kreative Köpfe die Module adaptieren und für verschiedene föderale Anforderungen optimieren können. Um diesen Prozess anzukurbeln, plant das BMDS für Juni einen zweitägigen Hackathon.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_sicherheit_und__1">Sicherheit und technische Hürden</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Trotz der Euphorie mahnt das BMDS zur Sorgfalt bei der Implementierung. In den Begleitunterlagen findet sich ein Sicherheitshinweis: Der veröffentlichte Code sei als Referenz und Integrationsgrundlage zu verstehen, beinhalte aber keine fertige Sicherheitskonfiguration für den direkten Produktionseinsatz. Betreiber müssen die Anwendungen in ihren jeweiligen IT-Umgebungen härten, Zugriffsrechte definieren und sensible Daten sicher verwalten. Ein dediziertes Security-Review ist zwingend erforderlich, bevor die KI tatsächlich in produktive Genehmigungsverfahren eingebunden wird.</p>
<p>Für Entwickler soll der Einstieg aber hürdenarm sein. Die Module basieren auf einer Docker-Umgebung und lassen sich rasch aufsetzen. Die Konfiguration erfolgt über Skripte. Schnittstellen zu OpenAI-kompatiblen Endpunkten und <a href="http://www.heise.de/news/No-Code-Plattform-SeaTable-integriert-KI-Automatisierung-11067543.html" rel="external noopener" target="_blank">lokalen Lösungen wie LiteLLM</a> sind vorgesehen.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="https://www.heise.de/newsletter/anmeldung.html?id=ki-update&amp;wt_mc=intern.red.ho.ho_nl_ki.ho.markenbanner.markenbanner" name="meldung.newsticker.inline.branding_" title="Melden Sie sich zum KI-Update an">
<a-img alt="Melden Sie sich zum KI-Update an" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/1/2/20250814_Fallback_KI-Update_mobil-27288d002022edd2.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Melden Sie sich zum KI-Update an" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Melden Sie sich zum KI-Update an" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/1/2/20250814_Fallback_KI-Update-c47e5f007d33025f.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Melden Sie sich zum KI-Update an" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:mma@heise.de" title="Mark Mantel">mma</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11243586"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11243586: Bund veröffentlicht lizenzfreie KI-Werkzeuge"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Mit dem Projekt Spark setzt das BMDS auf digitale Souveränität: Die quelloffenen KI-Werkzeuge zur Planungsbeschleunigung stehen ab sofort auf OpenCode bereit.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Public-Money-Public-Code-Federal-government-releases-AI-modules-11243619.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FPublic-Money-Public-Code-Bund-veroeffentlicht-KI-Module-fuer-die-Verwaltung-11243586.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FPublic-Money-Public-Code-Bund-veroeffentlicht-KI-Module-fuer-die-Verwaltung-11243586.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Public-Money-Public-Code-Bund-veroeffentlicht-KI-Module-fuer-die-Verwaltung-11243586.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Bund-veroeffentlicht-lizenzfreie-KI-Werkzeuge/forum-580367/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>55</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/6/6/4/shutterstock_2497223471-759790b55953c8aa.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Person an einer Tastatur"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: DC Studio / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T15:42:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">15:42
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Stefan-Krempl-4325443"
class="creator__link"
>Stefan Krempl</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Public-Money-Public-Code-Federal-government-releases-AI-modules-11243619.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die deutsche Verwaltung gilt als Sinnbild für lahme Prozesse und dicke Aktenstapel. Doch beim Thema KI will der Bund zeigen, dass es auch anders geht. Das Bundesministerium für Digitales und Staatsmodernisierung (BMDS) hat mit dem Projekt Spark eine Reihe von KI-Modulen veröffentlicht, die die Arbeitsweise in Behörden grundlegend verändern könnten.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Eine Besonderheit ist der Ansatz der Veröffentlichung: Unter dem Leitsatz <a href="http://www.heise.de/news/Kampagne-Public-Code-Software-fuer-die-Verwaltung-soll-frei-sein-3830705.html" rel="external noopener" target="_blank">Public Money, Public Code</a> stehen <a href="https://gitlab.opencode.de/bmds/planungs-und-genehmigungsbeschleunigung/spark-workflow" rel="external noopener" target="_blank">die Anwendungen für jeden auf der Plattform OpenCode zur Verfügung</a>. Damit folgt das BMDS dem Ruf nach digitaler Souveränität und ermöglicht es Kommunen, Firmen und der Zivilgesellschaft, die Werkzeuge ohne Lizenzgebühren zu nutzen und weiterzuentwickeln.</p>
<p>Mit Spark sollen komplexe Planungs- und Genehmigungsverfahren, die bisher Monate oder gar Jahre dauerten, durch eine intelligente operative Assistenz beschleunigt werden. Die Finanzierung erfolgt über den Klima- und Transformationsfonds. Das Projekt soll Beschäftigte in den Genehmigungsbehörden von Routineaufgaben befreien, ohne Menschen zu ersetzen. Vielmehr bereite die KI die Flut an Informationen aus Antragsunterlagen so auf, dass Sachbearbeiter schneller zu einer fundierten Entscheidung kommen könnten. Das letzte Wort habe der Mensch.</p>
<h3 class="subheading" id="nav_startpunkt__0">Startpunkt Dokumentenprüfung</h3>
<p>Technisch setzt Spark an, wo es bisher am meisten hakt: beim Sichten und Prüfen von Dokumenten. Die veröffentlichten Module decken typische Aufgaben wie die Zusammenstellung relevanter Daten aus Anträgen oder den formalen Check auf Vollständigkeit und Plausibilität ab. Das System soll dabei erkennen, wenn Dokumente fehlen oder Angaben widersprüchlich sind.</p>
<p>Das Herzstück bildet eine mit KI-Agenten unterstützte Rechtsdogmatik. Sie ist direkt an Gesetzesdatenbanken angeschlossen und kann Normen automatisiert dekonstruieren und juristisch bewerten. Im weiteren Verlauf sollen zusätzliche Module folgen, die sich auch der materiellen Prüfung und der Beschlusserstellung widmen.</p>
<p>Digitalminister Karsten Wildberger (CDU) sieht die Republik durch diesen Vorstoß weltweit in einer führenden Rolle bei KI-basierten Verwaltungsanwendungen. Erst im Februar sahnte das Projekt auf dem World Government Summit in Dubai den Preis für die beste KI-Nutzung in staatlichen Dienstleistungen ab. Die offene Bereitstellung des Quellcodes soll nun sicherstellen, dass kreative Köpfe die Module adaptieren und für verschiedene föderale Anforderungen optimieren können. Um diesen Prozess anzukurbeln, plant das BMDS für Juni einen zweitägigen Hackathon.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_sicherheit_und__1">Sicherheit und technische Hürden</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Trotz der Euphorie mahnt das BMDS zur Sorgfalt bei der Implementierung. In den Begleitunterlagen findet sich ein Sicherheitshinweis: Der veröffentlichte Code sei als Referenz und Integrationsgrundlage zu verstehen, beinhalte aber keine fertige Sicherheitskonfiguration für den direkten Produktionseinsatz. Betreiber müssen die Anwendungen in ihren jeweiligen IT-Umgebungen härten, Zugriffsrechte definieren und sensible Daten sicher verwalten. Ein dediziertes Security-Review ist zwingend erforderlich, bevor die KI tatsächlich in produktive Genehmigungsverfahren eingebunden wird.</p>
<p>Für Entwickler soll der Einstieg aber hürdenarm sein. Die Module basieren auf einer Docker-Umgebung und lassen sich rasch aufsetzen. Die Konfiguration erfolgt über Skripte. Schnittstellen zu OpenAI-kompatiblen Endpunkten und <a href="http://www.heise.de/news/No-Code-Plattform-SeaTable-integriert-KI-Automatisierung-11067543.html" rel="external noopener" target="_blank">lokalen Lösungen wie LiteLLM</a> sind vorgesehen.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="https://www.heise.de/newsletter/anmeldung.html?id=ki-update&amp;wt_mc=intern.red.ho.ho_nl_ki.ho.markenbanner.markenbanner" name="meldung.newsticker.inline.branding_" title="Melden Sie sich zum KI-Update an">
<a-img alt="Melden Sie sich zum KI-Update an" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/1/2/20250814_Fallback_KI-Update_mobil-27288d002022edd2.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Melden Sie sich zum KI-Update an" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Melden Sie sich zum KI-Update an" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/1/2/20250814_Fallback_KI-Update-c47e5f007d33025f.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Melden Sie sich zum KI-Update an" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:mma@heise.de" title="Mark Mantel">mma</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11243586"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11243586: Bund veröffentlicht lizenzfreie KI-Werkzeuge"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-01T13:42:00.000Z
urn:bid:5056202
2026-04-01T08:26:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<div class="a-article-header__label">
<div class="a-article-header__alert">
Alert!
</div>
</div>
<p class="a-article-header__lead" dir="ltr">
Der Maintainer-Account für das Paket axios auf npm wurde geknackt, um einen Remote-Access-Trojaner für Windows, macOS und Linux einzuschleusen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Malware-on-npm-HTTP-client-axios-loads-backdoor-for-Windows-macOS-and-Linux-11242992.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FMalware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux-11242675.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FMalware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux-11242675.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Malware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux-11242675.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Malware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux/forum-580335/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="screen mit attack successful"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Gorodenkoff/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T10:26:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">10:26
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Rainald-Menge-Sonnentag-4582362"
class="creator__link"
>Rainald Menge-Sonnentag</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Malware-on-npm-HTTP-client-axios-loads-backdoor-for-Windows-macOS-and-Linux-11242992.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Auf dem JavaScript-Paketmanager npm hat es erneut einen Supply-Chain-Angriff gegeben: Der HTTP-Client axios hatte eine Backdoor an Bord. Angreifer hatten zuvor den Account des axios-Maintainers übernommen. Hinter der Attacke steht vermutlich <a href="https://malpedia.caad.fkie.fraunhofer.de/actor/unc1069" rel="external noopener" target="_blank">die nordkoreanische Gruppe UNC1069</a>.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Betroffen ist die Version 1.14.1, die die Angreifer am 30. März veröffentlicht haben. Inzwischen ist auf <a href="https://www.npmjs.com/package/axios" rel="external noopener" target="_blank">npm wieder die Version 1.14.0</a> ohne Malware verfügbar, und der ursprüngliche Maintainer hat die Kontrolle über das Paket zurückerlangt. Wer axios nutzt, sollte prüfen, ob zwischenzeitlich die mit Malware versehene Version auf das System gelangt ist. Neben der Version 1.14.1 haben die Angreifer auch eine Version 0.30.4 mit der Malware auf npm veröffentlicht, die ebenfalls nicht mehr existiert.</p>
<h3 class="subheading" id="nav_plattformübergre__0">Plattformübergreifender Angriff</h3>
<p>Die Angreifer haben sich zunächst Zugriff auf den Account des npm-Maintainers über <a href="https://github.com/axios/axios/issues/10604#issuecomment-4167784086" rel="external noopener" target="_blank">Social Engineering verschafft</a> und anschließend die Version 1.14.1 von axios mit der zusätzlichen Dependency „plain-crypto-js@4.2.1“ versehen, die im <code>“postinstall“</code>-Hook den JavaScript-Dropper setup.js ausführt.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
heise-Konferenz zu sicherer Softwareentwicklung
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="heise devSec, Schloss " height="540" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/6/2/0/2/devSec-2026-ho-Teaser-1032x540-4b59dd1ad9ff0497.jpg" style="aspect-ratio: 1032 / 540;" width="1032">
<img alt="heise devSec, Schloss " height="540" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1032 / 540; object-fit: cover;" width="1032">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: AliaAyah / Shutterstock)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Am 22. und 23. September findet <a href="https://www.heise-devsec.de/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_devsec.empfehlung-ho.link.link&LPID=33786">die heise devSec 2026</a> statt. Die zehnte Auflage der Konferenz zu sicherer Softwareentwicklung wandert dieses Jahr nach Marburg. Weiterhin lautet das Motto „Sichere Software beginnt vor der ersten Zeile Code“.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p>Der Dropper verhält sich je nach Betriebssystem unterschiedlich. Auf Windows lädt er ein PowerShell-Skript nach, unter macOS ein Mach-O-Binary und unter Linux eine Python-Backdoor. Mehrere Methoden sollen den Angriff vertuschen: Das Skript ist mit Base64 und XOR verschleiert, und setup.js versucht, sich nach dem erfolgreichen Nachladen des Payloads selbst zu löschen und die package.json-Datei zurückzusetzen.</p>
<h3 class="subheading" id="nav_command__1">Command & Control</h3>
<p>Die plattformspezifische Malware lädt anschließend die Backdoor nach, die Google Threat Intelligence in einer Analyse als WAVESHAPER.V2 identifiziert, da sie große Ähnlichkeiten mit der WAVESHAPER-Backdoor mitbringt, <a href="https://cloud.google.com/blog/topics/threat-intelligence/unc1069-targets-cryptocurrency-ai-social-engineering?hl=en" rel="external noopener" target="_blank">die im Februar 2026 aufgetaucht war</a>. Da die ursprüngliche Backdoor der UNC1069-Gruppe zugeordnet wird, vermutet Google Threat Intelligence, dass die nordkoreanische Gruppe auch hinter dem Angriff auf axios steckt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>WAVESHAPER.V2 arbeitet schließlich als Remote-Access-Trojaner: Die Software nimmt Kontakt zu einem C2-Server (Command & Control) auf und erwartet im Minutentakt die Befehle <code>runscript</code>, <code>peinject</code> oder <code>rundir</code> vom Server, um weitere Skripte oder Executables auszuführen oder Informationen zu Verzeichnissen und Dateien abzurufen. Der Befehl <code>kill</code> beendet die Ausführung. Google Threat Intelligence sieht in WAVESHAPER.V2 eine direkte Weiterentwicklung des Original-WAVESHAPER.</p>
<h3 class="subheading" id="nav_zurück_zu__2">Zurück zu Version 1.14.0</h3>
<p>Wer das axios-Paket verwendet, sollte überprüfen, ob die Versionen 1.14.1 oder 0.30.4 mit dem Schadcode ins System gelangt sind. Automatische Systeme sollten auf die feste Versionsnummer gepinnt werden, statt die aktuellste Version herunterzuladen.</p>
<p>Im <a href="https://cloud.google.com/blog/topics/threat-intelligence/north-korea-threat-actor-targets-axios-npm-package/" rel="external noopener" target="_blank">Beitrag von Google Threat Intelligence</a> findet sich eine Übersicht der Indikatoren, die auf einen Angriff hinweisen, darunter Netzwerkverkehr zu den IP-Adressen 142.11.206.73 oder 23.254.167.216.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="4966993" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="10963994"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Infostealer-fuer-Windows-macOS-und-Linux-in-zehn-Pakten-auf-npm-gefunden-10963994.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5500" height="3090" src="https://www.heise.de/imgs/18/4/9/6/6/9/9/3/shutterstock_1833902986-fab55acb7260ee4b.jpeg" alt="Schlüssel am Haken auf Keyboard " style="aspect-ratio:5500 / 3090"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5500" height="3090" alt="Schlüssel am Haken auf Keyboard " style="aspect-ratio:5500 / 3090;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Infostealer für Windows, macOS und Linux in zehn Pakten auf npm gefunden</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Lieferketten-Wurm-mit-eigenem-MCP-Server-verbreitet-sich-ueber-GitHub-11190554.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/3/4/8/7/6/shutterstock_2602293623-faec070b7a2b1197.jpeg" alt="Man,Interacting,With,A,Holographic,Touchscreen,Interface,In,Red,Color." style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Man,Interacting,With,A,Holographic,Touchscreen,Interface,In,Red,Color." style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Lieferketten-Wurm mit eigenem MCP-Server verbreitet sich über GitHub</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/blog/npm-als-Sicherheitsrisiko-Warum-Angriffe-zunehmen-und-wie-man-vorbeugen-kann-10590859.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5000" height="2809" src="https://www.heise.de/imgs/18/4/9/2/3/6/9/9/shutterstock_164928812-1e0bf5f2755c6885.jpeg" alt="Malware Lupe" style="aspect-ratio:5000 / 2809"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5000" height="2809" alt="Malware Lupe" style="aspect-ratio:5000 / 2809;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">npm als Sicherheitsrisiko: Warum Angriffe zunehmen und wie man vorbeugen kann</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<div class="a-article-header__label">
<div class="a-article-header__alert">
Alert!
</div>
</div>
<p class="a-article-header__lead" dir="ltr">
Der Maintainer-Account für das Paket axios auf npm wurde geknackt, um einen Remote-Access-Trojaner für Windows, macOS und Linux einzuschleusen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Malware-on-npm-HTTP-client-axios-loads-backdoor-for-Windows-macOS-and-Linux-11242992.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FMalware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux-11242675.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FMalware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux-11242675.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Malware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux-11242675.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Malware-auf-npm-HTTP-Client-axios-laedt-Backdoor-fuer-Windows-macOS-und-Linux/forum-580335/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/0/2/shutterstock_680078968-00668b2b94b9b807.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="screen mit attack successful"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Gorodenkoff/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T10:26:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">10:26
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Rainald-Menge-Sonnentag-4582362"
class="creator__link"
>Rainald Menge-Sonnentag</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Malware-on-npm-HTTP-client-axios-loads-backdoor-for-Windows-macOS-and-Linux-11242992.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Auf dem JavaScript-Paketmanager npm hat es erneut einen Supply-Chain-Angriff gegeben: Der HTTP-Client axios hatte eine Backdoor an Bord. Angreifer hatten zuvor den Account des axios-Maintainers übernommen. Hinter der Attacke steht vermutlich <a href="https://malpedia.caad.fkie.fraunhofer.de/actor/unc1069" rel="external noopener" target="_blank">die nordkoreanische Gruppe UNC1069</a>.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Betroffen ist die Version 1.14.1, die die Angreifer am 30. März veröffentlicht haben. Inzwischen ist auf <a href="https://www.npmjs.com/package/axios" rel="external noopener" target="_blank">npm wieder die Version 1.14.0</a> ohne Malware verfügbar, und der ursprüngliche Maintainer hat die Kontrolle über das Paket zurückerlangt. Wer axios nutzt, sollte prüfen, ob zwischenzeitlich die mit Malware versehene Version auf das System gelangt ist. Neben der Version 1.14.1 haben die Angreifer auch eine Version 0.30.4 mit der Malware auf npm veröffentlicht, die ebenfalls nicht mehr existiert.</p>
<h3 class="subheading" id="nav_plattformübergre__0">Plattformübergreifender Angriff</h3>
<p>Die Angreifer haben sich zunächst Zugriff auf den Account des npm-Maintainers über <a href="https://github.com/axios/axios/issues/10604#issuecomment-4167784086" rel="external noopener" target="_blank">Social Engineering verschafft</a> und anschließend die Version 1.14.1 von axios mit der zusätzlichen Dependency „plain-crypto-js@4.2.1“ versehen, die im <code>“postinstall“</code>-Hook den JavaScript-Dropper setup.js ausführt.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
heise-Konferenz zu sicherer Softwareentwicklung
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="heise devSec, Schloss " height="540" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/6/2/0/2/devSec-2026-ho-Teaser-1032x540-4b59dd1ad9ff0497.jpg" style="aspect-ratio: 1032 / 540;" width="1032">
<img alt="heise devSec, Schloss " height="540" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1032 / 540; object-fit: cover;" width="1032">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: AliaAyah / Shutterstock)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Am 22. und 23. September findet <a href="https://www.heise-devsec.de/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_devsec.empfehlung-ho.link.link&LPID=33786">die heise devSec 2026</a> statt. Die zehnte Auflage der Konferenz zu sicherer Softwareentwicklung wandert dieses Jahr nach Marburg. Weiterhin lautet das Motto „Sichere Software beginnt vor der ersten Zeile Code“.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p>Der Dropper verhält sich je nach Betriebssystem unterschiedlich. Auf Windows lädt er ein PowerShell-Skript nach, unter macOS ein Mach-O-Binary und unter Linux eine Python-Backdoor. Mehrere Methoden sollen den Angriff vertuschen: Das Skript ist mit Base64 und XOR verschleiert, und setup.js versucht, sich nach dem erfolgreichen Nachladen des Payloads selbst zu löschen und die package.json-Datei zurückzusetzen.</p>
<h3 class="subheading" id="nav_command__1">Command & Control</h3>
<p>Die plattformspezifische Malware lädt anschließend die Backdoor nach, die Google Threat Intelligence in einer Analyse als WAVESHAPER.V2 identifiziert, da sie große Ähnlichkeiten mit der WAVESHAPER-Backdoor mitbringt, <a href="https://cloud.google.com/blog/topics/threat-intelligence/unc1069-targets-cryptocurrency-ai-social-engineering?hl=en" rel="external noopener" target="_blank">die im Februar 2026 aufgetaucht war</a>. Da die ursprüngliche Backdoor der UNC1069-Gruppe zugeordnet wird, vermutet Google Threat Intelligence, dass die nordkoreanische Gruppe auch hinter dem Angriff auf axios steckt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>WAVESHAPER.V2 arbeitet schließlich als Remote-Access-Trojaner: Die Software nimmt Kontakt zu einem C2-Server (Command & Control) auf und erwartet im Minutentakt die Befehle <code>runscript</code>, <code>peinject</code> oder <code>rundir</code> vom Server, um weitere Skripte oder Executables auszuführen oder Informationen zu Verzeichnissen und Dateien abzurufen. Der Befehl <code>kill</code> beendet die Ausführung. Google Threat Intelligence sieht in WAVESHAPER.V2 eine direkte Weiterentwicklung des Original-WAVESHAPER.</p>
<h3 class="subheading" id="nav_zurück_zu__2">Zurück zu Version 1.14.0</h3>
<p>Wer das axios-Paket verwendet, sollte überprüfen, ob die Versionen 1.14.1 oder 0.30.4 mit dem Schadcode ins System gelangt sind. Automatische Systeme sollten auf die feste Versionsnummer gepinnt werden, statt die aktuellste Version herunterzuladen.</p>
<p>Im <a href="https://cloud.google.com/blog/topics/threat-intelligence/north-korea-threat-actor-targets-axios-npm-package/" rel="external noopener" target="_blank">Beitrag von Google Threat Intelligence</a> findet sich eine Übersicht der Indikatoren, die auf einen Angriff hinweisen, darunter Netzwerkverkehr zu den IP-Adressen 142.11.206.73 oder 23.254.167.216.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="4966993" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="10963994"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Infostealer-fuer-Windows-macOS-und-Linux-in-zehn-Pakten-auf-npm-gefunden-10963994.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5500" height="3090" src="https://www.heise.de/imgs/18/4/9/6/6/9/9/3/shutterstock_1833902986-fab55acb7260ee4b.jpeg" alt="Schlüssel am Haken auf Keyboard " style="aspect-ratio:5500 / 3090"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5500" height="3090" alt="Schlüssel am Haken auf Keyboard " style="aspect-ratio:5500 / 3090;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Infostealer für Windows, macOS und Linux in zehn Pakten auf npm gefunden</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Lieferketten-Wurm-mit-eigenem-MCP-Server-verbreitet-sich-ueber-GitHub-11190554.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/3/4/8/7/6/shutterstock_2602293623-faec070b7a2b1197.jpeg" alt="Man,Interacting,With,A,Holographic,Touchscreen,Interface,In,Red,Color." style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Man,Interacting,With,A,Holographic,Touchscreen,Interface,In,Red,Color." style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Lieferketten-Wurm mit eigenem MCP-Server verbreitet sich über GitHub</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/blog/npm-als-Sicherheitsrisiko-Warum-Angriffe-zunehmen-und-wie-man-vorbeugen-kann-10590859.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5000" height="2809" src="https://www.heise.de/imgs/18/4/9/2/3/6/9/9/shutterstock_164928812-1e0bf5f2755c6885.jpeg" alt="Malware Lupe" style="aspect-ratio:5000 / 2809"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5000" height="2809" alt="Malware Lupe" style="aspect-ratio:5000 / 2809;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">npm als Sicherheitsrisiko: Warum Angriffe zunehmen und wie man vorbeugen kann</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-01T08:26:00.000Z
urn:bid:5055426
2026-04-01T07:25:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Der Wechsel von Dynpro zu SAP Fiori Elements fordert ABAP-Entwickler heraus. Marian Zeis erklärt, worauf es beim Umstieg ankommt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Three-questions-and-answers-Why-ABAP-developers-need-to-rethink-now-11242684.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FDrei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen-11241139.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FDrei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen-11241139.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Drei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen-11241139.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Drei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen/forum-580326/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>12</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Roter Roboter mit Sprechblase"
width="610"
height="343"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: iX)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T09:25:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">09:25
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Three-questions-and-answers-Why-ABAP-developers-need-to-rethink-now-11242684.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Der Übergang von klassischen Dynpro- und Web-Dynpro-Oberflächen zu SAP Fiori Elements stellt viele ABAP-Entwickler vor grundlegende Herausforderungen. Statt imperativer Programmierung in der SE80 bestimmen nun CDS-Annotationen und das ABAP RESTful Application Programming Model (RAP) das Erscheinungsbild der Oberflächen. Marian Zeis, unabhängiger SAP-Entwickler und aktiv in der AG UI-Technologien der DSAG engagiert, ordnet ein, was der Wandel für die Praxis bedeutet.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Marian Zeis
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Marian Zeis" height="600" high-dpi-quality="70" quality="85" src="/imgs/71/5/0/5/5/5/8/7/Zeis_Marian_sw-296a357530057c47.png" style="aspect-ratio: 600 / 600;" width="600">
<img alt="Marian Zeis" height="600" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 600 / 600; object-fit: cover;" width="600">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__text">
Marian Zeis ist unabhängiger SAP-Entwickler/Consultant mit Fokus auf ABAP, RAP/OData und SAPUI5/SAP Fiori. Er baut Open-Source-Tools, schreibt Blog-Posts und engagiert sich in der DSAG in der AG UI-Technologien.
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
betterCode() ABAP 2026
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Sternförmiges Logo der Konferenz betterCode()ABAP" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/5/4/2/6/bc__ABAP-2026-ho-Teaser-Developer-16-9-6a4397c10341656b.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="Sternförmiges Logo der Konferenz betterCode()ABAP" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: Andriy Bezuglov / Adobe Stock)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Die Online-Konferenz <a href="https://abap.bettercode.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_bcc_abap.empfehlung-ho.link.link&LPID=33397" rel="external noopener" target="_blank">betterCode() ABAP</a> am 29. April 2026 eröffnet Entwicklerinnen und Entwicklern die Möglichkeit, ihre ABAP-Kenntnisse zu erweitern. ABAP Cloud, das ABAP RESTful Application Programming Model und der Einsatz von SAP Joule for Developers stehen im Fokus.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p class="frage rte__abs--frage"><strong>heise developer: Was ist die größte Herausforderung bei der UI-Entwicklung mit SAP Fiori Elements, wenn man bisher mit Web Dynpro ABAP oder Dynpro gearbeitet hat?</strong></p>
<p class="antwort rte__abs--antwort">Zeis: Wenn man bisher primär mit Dynpro, Web Dynpro ABAP oder klassischen ALVs gearbeitet hat, ist die größte Herausforderung aus meiner Sicht, dass man plötzlich nicht mehr nur in der klassischen ABAP-Welt unterwegs ist.</p>
<p>Der erste Bruch ist schon beim Werkzeug: Man arbeitet nicht mehr hauptsächlich in der SE80, sondern in Eclipse mit den ABAP Development Tools. Dazu kommt mit RAP und Fiori Elements ein deutlich stärkerer service- und annotationsgetriebener Ansatz.</p>
<p>Die eigentliche Herausforderung ist für mich aber, dass Frontend-Themen näher an den ABAP-Entwickler heranrücken. Im Standard kann Fiori Elements zwar viel über Annotationen und Metadaten abbilden, aber sobald man erweitern will oder spezielleres Verhalten benötigt, kommt man schnell auch mit UI5 und teilweise JavaScript in Berührung. Genau dieser Wechsel im Denken ist für viele die größte Umstellung.</p>
<p class="frage rte__abs--frage"><strong>heise developer: Inwieweit muss oder sollte man die Benutzeroberflächen schon bei der Backend-Entwicklung mitdenken? Muss man mit ABAP CDS eine ganz neue Sprache lernen, um Annotationen verwenden zu können?</strong></p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p class="antwort rte__abs--antwort">Zeis: Die Bedienoberfläche sollte man aus meiner Sicht sehr früh mitdenken, möglichst schon beim Datenmodell und bei den Services. Das war früher im Kern auch schon so, aber im RAP-Umfeld ist es noch wichtiger, weil sich die spätere Oberfläche stark aus dem Backend-Modell ableitet.</p>
<p>Gerade bei Fiori Elements steckt viel UI-Logik schon in den CDS-Views und Annotationen. Wenn das Modell fachlich unsauber ist oder die Daten nicht sinnvoll geschnitten sind, sieht man das später direkt in der Anwendung. Gute Oberflächen entstehen deshalb hier zu einem großen Teil schon im Backend.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Zu ABAP CDS würde ich sagen: Ja, man muss etwas Neues lernen, aber nicht komplett bei null anfangen. Es ist eine andere Denkweise, weil es stärker um Modellierung, Semantik und Annotationen geht. Und genau daran führt künftig kaum ein Weg vorbei. Gerade wenn SAP in Richtung generativer UI denkt, werden saubere Fachobjekte und ein gutes Backend-Modell eher noch wichtiger.</p>
<p class="frage rte__abs--frage"><strong>heise developer: Werden ABAP- und UI-Entwicklung überhaupt noch benötigt, wenn Anwenderinnen und Anwender bald nur noch über Joule mit dem SAP-System interagieren?</strong></p>
<p class="antwort rte__abs--antwort">Zeis: ABAP wird uns aus meiner Sicht auf jeden Fall noch lange begleiten. Dass SAP ABAP weiter als modern positioniert und insbesondere auch im Cloud-Umfeld ausbaut, zeigt deutlich, dass das kein Auslaufmodell ist.</p>
<p>Bei der UI-Entwicklung ist die Frage spannender. Mit Joule und generativer UI kommt natürlich eine neue Art der Interaktion dazu, also stärker kontextbezogene und dynamische Oberflächen. Das wird sicher verändern, wie man SAP-Anwendungen künftig denkt.</p>
<p>Trotzdem glaube ich nicht, dass ABAP- und UI-Entwicklung dadurch überflüssig werden. Es wird weiterhin viele Prozesse geben, bei denen strukturierte Oberflächen, Listen, Formulare oder geführte Abläufe sinnvoller sind als eine reine Chat-Interaktion. Ich glaube deshalb eher an eine Koexistenz: Joule wird wichtiger, aber klassische Anwendungen verschwinden nicht einfach.</p>
<p><strong>heise developer: Herr Zeis, vielen Dank für das Interview!</strong></p>
<p><em>In der Serie "Drei Fragen und Antworten" will die iX die heutigen Herausforderungen der IT auf den Punkt bringen – egal ob es sich um den Blick des Anwenders vorm PC, die Sicht des Managers oder den Alltag eines Administrators handelt. Haben Sie Anregungen aus Ihrer tagtäglichen Praxis oder der Ihrer Nutzer? Wessen Tipps zu welchem Thema würden Sie gerne kurz und knackig lesen? Dann <a href="mailto:map@ix.de">schreiben Sie uns gerne</a> oder hinterlassen Sie einen Kommentar im Forum.</em></p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:map@ix.de" title="Matthias Parbel">map</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11241139"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11241139: Drei Fragen und Antworten: Warum ABAP-Entwickler jetzt umdenken müssen"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Der Wechsel von Dynpro zu SAP Fiori Elements fordert ABAP-Entwickler heraus. Marian Zeis erklärt, worauf es beim Umstieg ankommt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Three-questions-and-answers-Why-ABAP-developers-need-to-rethink-now-11242684.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FDrei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen-11241139.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FDrei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen-11241139.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Drei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen-11241139.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Drei-Fragen-und-Antworten-Warum-ABAP-Entwickler-jetzt-umdenken-muessen/forum-580326/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>12</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/2/6/fragen_antworten-f1813382fe0ed6cf.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Roter Roboter mit Sprechblase"
width="610"
height="343"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: iX)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T09:25:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">09:25
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Three-questions-and-answers-Why-ABAP-developers-need-to-rethink-now-11242684.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Der Übergang von klassischen Dynpro- und Web-Dynpro-Oberflächen zu SAP Fiori Elements stellt viele ABAP-Entwickler vor grundlegende Herausforderungen. Statt imperativer Programmierung in der SE80 bestimmen nun CDS-Annotationen und das ABAP RESTful Application Programming Model (RAP) das Erscheinungsbild der Oberflächen. Marian Zeis, unabhängiger SAP-Entwickler und aktiv in der AG UI-Technologien der DSAG engagiert, ordnet ein, was der Wandel für die Praxis bedeutet.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Marian Zeis
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Marian Zeis" height="600" high-dpi-quality="70" quality="85" src="/imgs/71/5/0/5/5/5/8/7/Zeis_Marian_sw-296a357530057c47.png" style="aspect-ratio: 600 / 600;" width="600">
<img alt="Marian Zeis" height="600" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 600 / 600; object-fit: cover;" width="600">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__text">
Marian Zeis ist unabhängiger SAP-Entwickler/Consultant mit Fokus auf ABAP, RAP/OData und SAPUI5/SAP Fiori. Er baut Open-Source-Tools, schreibt Blog-Posts und engagiert sich in der DSAG in der AG UI-Technologien.
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
betterCode() ABAP 2026
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Sternförmiges Logo der Konferenz betterCode()ABAP" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/5/4/2/6/bc__ABAP-2026-ho-Teaser-Developer-16-9-6a4397c10341656b.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="Sternförmiges Logo der Konferenz betterCode()ABAP" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: Andriy Bezuglov / Adobe Stock)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Die Online-Konferenz <a href="https://abap.bettercode.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_bcc_abap.empfehlung-ho.link.link&LPID=33397" rel="external noopener" target="_blank">betterCode() ABAP</a> am 29. April 2026 eröffnet Entwicklerinnen und Entwicklern die Möglichkeit, ihre ABAP-Kenntnisse zu erweitern. ABAP Cloud, das ABAP RESTful Application Programming Model und der Einsatz von SAP Joule for Developers stehen im Fokus.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p class="frage rte__abs--frage"><strong>heise developer: Was ist die größte Herausforderung bei der UI-Entwicklung mit SAP Fiori Elements, wenn man bisher mit Web Dynpro ABAP oder Dynpro gearbeitet hat?</strong></p>
<p class="antwort rte__abs--antwort">Zeis: Wenn man bisher primär mit Dynpro, Web Dynpro ABAP oder klassischen ALVs gearbeitet hat, ist die größte Herausforderung aus meiner Sicht, dass man plötzlich nicht mehr nur in der klassischen ABAP-Welt unterwegs ist.</p>
<p>Der erste Bruch ist schon beim Werkzeug: Man arbeitet nicht mehr hauptsächlich in der SE80, sondern in Eclipse mit den ABAP Development Tools. Dazu kommt mit RAP und Fiori Elements ein deutlich stärkerer service- und annotationsgetriebener Ansatz.</p>
<p>Die eigentliche Herausforderung ist für mich aber, dass Frontend-Themen näher an den ABAP-Entwickler heranrücken. Im Standard kann Fiori Elements zwar viel über Annotationen und Metadaten abbilden, aber sobald man erweitern will oder spezielleres Verhalten benötigt, kommt man schnell auch mit UI5 und teilweise JavaScript in Berührung. Genau dieser Wechsel im Denken ist für viele die größte Umstellung.</p>
<p class="frage rte__abs--frage"><strong>heise developer: Inwieweit muss oder sollte man die Benutzeroberflächen schon bei der Backend-Entwicklung mitdenken? Muss man mit ABAP CDS eine ganz neue Sprache lernen, um Annotationen verwenden zu können?</strong></p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p class="antwort rte__abs--antwort">Zeis: Die Bedienoberfläche sollte man aus meiner Sicht sehr früh mitdenken, möglichst schon beim Datenmodell und bei den Services. Das war früher im Kern auch schon so, aber im RAP-Umfeld ist es noch wichtiger, weil sich die spätere Oberfläche stark aus dem Backend-Modell ableitet.</p>
<p>Gerade bei Fiori Elements steckt viel UI-Logik schon in den CDS-Views und Annotationen. Wenn das Modell fachlich unsauber ist oder die Daten nicht sinnvoll geschnitten sind, sieht man das später direkt in der Anwendung. Gute Oberflächen entstehen deshalb hier zu einem großen Teil schon im Backend.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Zu ABAP CDS würde ich sagen: Ja, man muss etwas Neues lernen, aber nicht komplett bei null anfangen. Es ist eine andere Denkweise, weil es stärker um Modellierung, Semantik und Annotationen geht. Und genau daran führt künftig kaum ein Weg vorbei. Gerade wenn SAP in Richtung generativer UI denkt, werden saubere Fachobjekte und ein gutes Backend-Modell eher noch wichtiger.</p>
<p class="frage rte__abs--frage"><strong>heise developer: Werden ABAP- und UI-Entwicklung überhaupt noch benötigt, wenn Anwenderinnen und Anwender bald nur noch über Joule mit dem SAP-System interagieren?</strong></p>
<p class="antwort rte__abs--antwort">Zeis: ABAP wird uns aus meiner Sicht auf jeden Fall noch lange begleiten. Dass SAP ABAP weiter als modern positioniert und insbesondere auch im Cloud-Umfeld ausbaut, zeigt deutlich, dass das kein Auslaufmodell ist.</p>
<p>Bei der UI-Entwicklung ist die Frage spannender. Mit Joule und generativer UI kommt natürlich eine neue Art der Interaktion dazu, also stärker kontextbezogene und dynamische Oberflächen. Das wird sicher verändern, wie man SAP-Anwendungen künftig denkt.</p>
<p>Trotzdem glaube ich nicht, dass ABAP- und UI-Entwicklung dadurch überflüssig werden. Es wird weiterhin viele Prozesse geben, bei denen strukturierte Oberflächen, Listen, Formulare oder geführte Abläufe sinnvoller sind als eine reine Chat-Interaktion. Ich glaube deshalb eher an eine Koexistenz: Joule wird wichtiger, aber klassische Anwendungen verschwinden nicht einfach.</p>
<p><strong>heise developer: Herr Zeis, vielen Dank für das Interview!</strong></p>
<p><em>In der Serie "Drei Fragen und Antworten" will die iX die heutigen Herausforderungen der IT auf den Punkt bringen – egal ob es sich um den Blick des Anwenders vorm PC, die Sicht des Managers oder den Alltag eines Administrators handelt. Haben Sie Anregungen aus Ihrer tagtäglichen Praxis oder der Ihrer Nutzer? Wessen Tipps zu welchem Thema würden Sie gerne kurz und knackig lesen? Dann <a href="mailto:map@ix.de">schreiben Sie uns gerne</a> oder hinterlassen Sie einen Kommentar im Forum.</em></p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:map@ix.de" title="Matthias Parbel">map</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11241139"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11241139: Drei Fragen und Antworten: Warum ABAP-Entwickler jetzt umdenken müssen"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-01T07:25:00.000Z
urn:bid:5056221
2026-04-01T07:07:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Google will App-Installationen auf Android-Geräten an die Verifizierung von Entwicklern knüpfen. Nun können sich Developer bei Google registrieren.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Android-Sideloading-Developers-can-now-register-with-Google-11242770.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FAndroid-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren-11242713.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FAndroid-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren-11242713.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Android-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren-11242713.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Android-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren/forum-580325/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>11</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Grüne Android-Figur vor Schloss-Symbol"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Google Android-Bugdroid vor Schloss-Symbol.
</p> <p class="a-caption__source">
(Bild: Primakov/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T09:07:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">09:07
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Daniel-Herbig-3638925"
class="creator__link"
>Daniel Herbig</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Android-Sideloading-Developers-can-now-register-with-Google-11242770.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Google fährt mit seinen Plänen zu strengeren App-Regeln auf Android-Geräten fort: Entwickler für die Android-Plattformen können sich jetzt in der Play Console oder der Android Developer Console bei Google verifizieren. Diese Registrierung ist Voraussetzung dafür, dass sie weiterhin einfach zu installierende Apps für Android veröffentlichen dürfen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Google hatte vergangenen August zunächst bekannt gemacht, dass künftig auf zertifizierten Android-Geräten nur noch Anwendungen installiert werden können, deren Herausgeber sich zuvor bei Google registriert und dann die jeweilige Anwendung signiert hat. Das betrifft im Gegensatz zum bisherigen Verfahren grundsätzlich nicht nur Apps im Play Store, sondern auch per Sideloading angebotene Anwendungen.</p>
<p>Mittlerweile hat Google klargestellt, dass es auch beim neuen System die Möglichkeit geben wird, unregistrierte Apps per Sideload aufs Handy zu bekommen. Das wird allerdings komplizierter als bisher: Nutzer von Android-Handys müssen zuerst in den Entwicklermodus wechseln und dann die neue Option „Advanced Flow“ aktivieren. Diese zusätzlichen Schritte sollen Nutzer laut Google daran hindern, auf Betrugsmaschen hereinzufallen und Malware auf ihren Handys zu installieren.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5054411" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11228841"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Android-Neue-Sideloading-Regeln-sollen-bei-Geraetewechsel-weiter-erfuellt-bleiben-11228841.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5472" height="3075" src="https://www.heise.de/imgs/18/5/0/5/4/4/1/1/google-android-bugdroid-vor-smartphone-e245572ff8007fb5.jpeg" alt="Grüner Android Bugdroid vor Smartphone" style="aspect-ratio:5472 / 3075"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5472" height="3075" alt="Grüner Android Bugdroid vor Smartphone" style="aspect-ratio:5472 / 3075;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Android: Neue Sideloading-Regeln sollen bei Gerätewechsel weiter erfüllt bleiben</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Google will App-Installationen auf Android-Geräten an die Verifizierung von Entwicklern knüpfen. Nun können sich Developer bei Google registrieren.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Android-Sideloading-Developers-can-now-register-with-Google-11242770.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FAndroid-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren-11242713.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FAndroid-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren-11242713.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Android-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren-11242713.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Android-Sideloading-Entwickler-koennen-sich-nun-bei-Google-registrieren/forum-580325/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>11</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/2/2/1/android-bugdroid-schloss-c73ee4b489ef93ea.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Grüne Android-Figur vor Schloss-Symbol"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Google Android-Bugdroid vor Schloss-Symbol.
</p> <p class="a-caption__source">
(Bild: Primakov/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T09:07:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">09:07
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Daniel-Herbig-3638925"
class="creator__link"
>Daniel Herbig</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Android-Sideloading-Developers-can-now-register-with-Google-11242770.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Google fährt mit seinen Plänen zu strengeren App-Regeln auf Android-Geräten fort: Entwickler für die Android-Plattformen können sich jetzt in der Play Console oder der Android Developer Console bei Google verifizieren. Diese Registrierung ist Voraussetzung dafür, dass sie weiterhin einfach zu installierende Apps für Android veröffentlichen dürfen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Google hatte vergangenen August zunächst bekannt gemacht, dass künftig auf zertifizierten Android-Geräten nur noch Anwendungen installiert werden können, deren Herausgeber sich zuvor bei Google registriert und dann die jeweilige Anwendung signiert hat. Das betrifft im Gegensatz zum bisherigen Verfahren grundsätzlich nicht nur Apps im Play Store, sondern auch per Sideloading angebotene Anwendungen.</p>
<p>Mittlerweile hat Google klargestellt, dass es auch beim neuen System die Möglichkeit geben wird, unregistrierte Apps per Sideload aufs Handy zu bekommen. Das wird allerdings komplizierter als bisher: Nutzer von Android-Handys müssen zuerst in den Entwicklermodus wechseln und dann die neue Option „Advanced Flow“ aktivieren. Diese zusätzlichen Schritte sollen Nutzer laut Google daran hindern, auf Betrugsmaschen hereinzufallen und Malware auf ihren Handys zu installieren.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5054411" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11228841"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Android-Neue-Sideloading-Regeln-sollen-bei-Geraetewechsel-weiter-erfuellt-bleiben-11228841.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5472" height="3075" src="https://www.heise.de/imgs/18/5/0/5/4/4/1/1/google-android-bugdroid-vor-smartphone-e245572ff8007fb5.jpeg" alt="Grüner Android Bugdroid vor Smartphone" style="aspect-ratio:5472 / 3075"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5472" height="3075" alt="Grüner Android Bugdroid vor Smartphone" style="aspect-ratio:5472 / 3075;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Android: Neue Sideloading-Regeln sollen bei Gerätewechsel weiter erfüllt bleiben</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-01T07:07:00.000Z
urn:bid:5055981
2026-04-01T05:03:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Open-Source-Datenbank RxDB 17 synchronisiert Daten jetzt direkt über Google Drive oder OneDrive – ein eigenes Backend brauchen Entwickler nicht mehr.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/RxDB-17-Sync-without-server-access-for-AI-agents-11242448.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FRxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FRxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/RxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/RxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten/forum-580315/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Eine Person sitzt am Laptop. Davor ein Symbol für einen offenen Ordner. Drumherum verschiedene Dateien, ebenfalls als Symbole. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Noom_Studio/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T07:03:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">07:03
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/RxDB-17-Sync-without-server-access-for-AI-agents-11242448.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die JavaScript-Datenbank RxDB kann ab Version 17.0.0 Daten ohne eigenes Backend synchronisieren. Außerdem führt das Projekt eine Schnittstelle für KI-Agenten ein und bringt ein schnelleres Storage-Backend für React-Native-Apps.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>RxDB ist eine Open-Source-Datenbank für JavaScript und TypeScript. Sie setzt auf Storage-Backends wie IndexedDB oder SQLite auf und ist für Offline-First-Anwendungen gedacht: Apps, die lokal arbeiten und Daten bei Bedarf synchronisieren. Typische Einsatzgebiete sind Progressive Web Apps, React-Native-Apps und Electron-Anwendungen.</p>
<h3 class="subheading" id="nav_synchronisation__0">Synchronisation ohne Server</h3>
<p>Das zentrale neue Feature in RxDB 17 sind zwei neue Replikations-Plugins für Google Drive und Microsoft OneDrive. Sie synchronisieren Daten direkt in den Cloud-Speicher des Nutzers, statt sie auf einem zentralen Server abzulegen. Entwickler können ihre App als statische Website auf GitHub Pages, Vercel oder Cloudflare hosten und brauchen kein eigenes Backend mehr. Die Synchronisation läuft nahezu in Echtzeit und geräteübergreifend. Mehrere Apps können auf denselben Cloud-Ordner zugreifen und so Daten teilen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Allerdings bringt dieser Ansatz Einschränkungen mit sich. Cloud-Speicher bieten keine ACID-Garantien, und die Synchronisation unterliegt den Ratenlimits der jeweiligen Cloud-API. Nutzer müssen zudem per OAuth den Zugriff auf ihr Konto erlauben.</p>
<h3 class="subheading" id="nav_ki_agenten__1">KI-Agenten greifen direkt auf die Datenbank zu</h3>
<p>Mit dem neuen WebMCP-Plugin können KI-Agenten über das <a href="http://www.heise.de/news/Googles-WebMCP-macht-Websites-zu-strukturierten-Datenquellen-fuer-KI-Agenten-11177824.html">Web Model Context Protocol</a> direkt auf RxDB-Collections zugreifen. Bisher mussten Agenten im Browser entweder die gerenderte Seite analysieren oder die HTML-Struktur erraten – beides ist aufwendig und fehleranfällig. WebMCP stellt stattdessen eine maschinenlesbare API-Beschreibung bereit. Agenten erfahren darüber, welche Operationen verfügbar sind, und können beliebige Abfragen oder Änderungen ausführen, ohne dass Entwickler für jede Aktion ein eigenes Tool definieren müssen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Für React-Native- und Expo-Apps bringt RxDB 17 das Expo Filesystem RxStorage mit. Es basiert auf expo-opfs und nutzt die aktuelle Expo-Filesystem-API. Laut den Entwicklern arbeitet es bei vielen Zugriffsmustern deutlich schneller als SQLite. Das Backend ist speziell für das Expo-Ökosystem optimiert und greift direkt auf das Dateisystem zu, um die Performance zu steigern.</p>
<h3 class="subheading" id="nav_besser_für_llms_2">Besser für LLMs</h3>
<p>Ferner wurde RxDB 17 gezielt für KI-gestützte Programmierung optimiert. Eine neue Datei llms.txt fasst die API in einer für Sprachmodelle geeigneten Form zusammen. ERROR-MESSAGES.md listet alle Fehlercodes mit Ursache, Lösung und Link zur Dokumentation auf. Fehlerobjekte enthalten nun die Eigenschaften <code>cause</code>, <code>fix</code> und <code>docs</code>, sodass ein Sprachmodell beim Debugging nicht in Sackgassen gerät. Dateien wie .aiexclude und .claudeignore reduzieren den Kontext, den KI-Tools verarbeiten müssen. TypeScript-Kommentare enthalten jetzt <code>@example</code>-Tags, damit Agenten die API auch ohne Dokumentation nutzen können.</p>
<p>Auf der Framework-Seite gibt es ein neues React-Plugin mit Hooks und Signals sowie ein Paket reactivity-angular für Angular Signals. Die bisherigen Premium-Pakete für Vue und Preact Signals wandern in den frei verfügbaren Kern. Signals tragen jetzt den konkreten Datentyp des Dokuments – also etwa <code>Signal<number></code> statt <code>Signal<any></code>.</p>
<h3 class="subheading" id="nav_performance_und__3">Performance und Stabilität</h3>
<p>Die Entwickler haben den Bulk-Insert-Pfad, das Query-Routing und interne Datenstrukturen überarbeitet. IndexedDB speichert Anhänge jetzt binär statt als JSON, was Speicherplatz spart. Mehrere Speicherlecks in OPFS und im Migrationscode wurden ebenfalls behoben.</p>
<p>Neun Plugins verlassen die Beta-Phase und gelten ab sofort als produktionsreif. Dazu gehören die Replikations-Plugins für Appwrite, Supabase und MongoDB, die Storage-Backends für MongoDB, das Node.js-Dateisystem und DenoKV sowie die Attachment-Replikation, das CRDT-Plugin und RxPipeline.</p>
<h3 class="subheading" id="nav_breaking__4">Breaking Changes und Migration</h3>
<p>Die meisten Anwendungen lassen sich ohne größere Anpassungen aktualisieren. Wer allerdings OPFS RxStorage, Filesystem RxStorage unter Node.js oder IndexedDB mit Anhängen nutzt, muss seine Daten mit dem Storage Migrator migrieren. Pull-Only-Replikationen speichern keine Server-Metadaten mehr auf dem Client. Primärschlüssel und Indizes sind auf maximal 2048 Zeichen begrenzt, da zu lange Schlüssel die Performance beeinträchtigen. Einige Integrationen wie Firebase, MongoDB und NATS sind jetzt optionale Peer Dependencies und müssen manuell installiert werden. Vorgebaute dist-Dateien liefert das GitHub-Repository nicht mehr mit – Entwickler installieren RxDB über npm oder bauen lokal selbst.</p>
<p>Die vollständigen <a href="https://rxdb.info/releases/17.0.0.html" rel="external noopener" target="_blank">Release Notes</a> stehen auf der Projektseite bereit.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11242237"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11242237: RxDB 17: Sync ohne Server, Zugang für KI-Agenten"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Open-Source-Datenbank RxDB 17 synchronisiert Daten jetzt direkt über Google Drive oder OneDrive – ein eigenes Backend brauchen Entwickler nicht mehr.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/RxDB-17-Sync-without-server-access-for-AI-agents-11242448.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FRxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FRxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/RxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/RxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten/forum-580315/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Eine Person sitzt am Laptop. Davor ein Symbol für einen offenen Ordner. Drumherum verschiedene Dateien, ebenfalls als Symbole. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Noom_Studio/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-01T07:03:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>01.04.2026,
</span>
<span class="a-datetime__time ">07:03
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/RxDB-17-Sync-without-server-access-for-AI-agents-11242448.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die JavaScript-Datenbank RxDB kann ab Version 17.0.0 Daten ohne eigenes Backend synchronisieren. Außerdem führt das Projekt eine Schnittstelle für KI-Agenten ein und bringt ein schnelleres Storage-Backend für React-Native-Apps.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>RxDB ist eine Open-Source-Datenbank für JavaScript und TypeScript. Sie setzt auf Storage-Backends wie IndexedDB oder SQLite auf und ist für Offline-First-Anwendungen gedacht: Apps, die lokal arbeiten und Daten bei Bedarf synchronisieren. Typische Einsatzgebiete sind Progressive Web Apps, React-Native-Apps und Electron-Anwendungen.</p>
<h3 class="subheading" id="nav_synchronisation__0">Synchronisation ohne Server</h3>
<p>Das zentrale neue Feature in RxDB 17 sind zwei neue Replikations-Plugins für Google Drive und Microsoft OneDrive. Sie synchronisieren Daten direkt in den Cloud-Speicher des Nutzers, statt sie auf einem zentralen Server abzulegen. Entwickler können ihre App als statische Website auf GitHub Pages, Vercel oder Cloudflare hosten und brauchen kein eigenes Backend mehr. Die Synchronisation läuft nahezu in Echtzeit und geräteübergreifend. Mehrere Apps können auf denselben Cloud-Ordner zugreifen und so Daten teilen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Allerdings bringt dieser Ansatz Einschränkungen mit sich. Cloud-Speicher bieten keine ACID-Garantien, und die Synchronisation unterliegt den Ratenlimits der jeweiligen Cloud-API. Nutzer müssen zudem per OAuth den Zugriff auf ihr Konto erlauben.</p>
<h3 class="subheading" id="nav_ki_agenten__1">KI-Agenten greifen direkt auf die Datenbank zu</h3>
<p>Mit dem neuen WebMCP-Plugin können KI-Agenten über das <a href="http://www.heise.de/news/Googles-WebMCP-macht-Websites-zu-strukturierten-Datenquellen-fuer-KI-Agenten-11177824.html">Web Model Context Protocol</a> direkt auf RxDB-Collections zugreifen. Bisher mussten Agenten im Browser entweder die gerenderte Seite analysieren oder die HTML-Struktur erraten – beides ist aufwendig und fehleranfällig. WebMCP stellt stattdessen eine maschinenlesbare API-Beschreibung bereit. Agenten erfahren darüber, welche Operationen verfügbar sind, und können beliebige Abfragen oder Änderungen ausführen, ohne dass Entwickler für jede Aktion ein eigenes Tool definieren müssen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Für React-Native- und Expo-Apps bringt RxDB 17 das Expo Filesystem RxStorage mit. Es basiert auf expo-opfs und nutzt die aktuelle Expo-Filesystem-API. Laut den Entwicklern arbeitet es bei vielen Zugriffsmustern deutlich schneller als SQLite. Das Backend ist speziell für das Expo-Ökosystem optimiert und greift direkt auf das Dateisystem zu, um die Performance zu steigern.</p>
<h3 class="subheading" id="nav_besser_für_llms_2">Besser für LLMs</h3>
<p>Ferner wurde RxDB 17 gezielt für KI-gestützte Programmierung optimiert. Eine neue Datei llms.txt fasst die API in einer für Sprachmodelle geeigneten Form zusammen. ERROR-MESSAGES.md listet alle Fehlercodes mit Ursache, Lösung und Link zur Dokumentation auf. Fehlerobjekte enthalten nun die Eigenschaften <code>cause</code>, <code>fix</code> und <code>docs</code>, sodass ein Sprachmodell beim Debugging nicht in Sackgassen gerät. Dateien wie .aiexclude und .claudeignore reduzieren den Kontext, den KI-Tools verarbeiten müssen. TypeScript-Kommentare enthalten jetzt <code>@example</code>-Tags, damit Agenten die API auch ohne Dokumentation nutzen können.</p>
<p>Auf der Framework-Seite gibt es ein neues React-Plugin mit Hooks und Signals sowie ein Paket reactivity-angular für Angular Signals. Die bisherigen Premium-Pakete für Vue und Preact Signals wandern in den frei verfügbaren Kern. Signals tragen jetzt den konkreten Datentyp des Dokuments – also etwa <code>Signal<number></code> statt <code>Signal<any></code>.</p>
<h3 class="subheading" id="nav_performance_und__3">Performance und Stabilität</h3>
<p>Die Entwickler haben den Bulk-Insert-Pfad, das Query-Routing und interne Datenstrukturen überarbeitet. IndexedDB speichert Anhänge jetzt binär statt als JSON, was Speicherplatz spart. Mehrere Speicherlecks in OPFS und im Migrationscode wurden ebenfalls behoben.</p>
<p>Neun Plugins verlassen die Beta-Phase und gelten ab sofort als produktionsreif. Dazu gehören die Replikations-Plugins für Appwrite, Supabase und MongoDB, die Storage-Backends für MongoDB, das Node.js-Dateisystem und DenoKV sowie die Attachment-Replikation, das CRDT-Plugin und RxPipeline.</p>
<h3 class="subheading" id="nav_breaking__4">Breaking Changes und Migration</h3>
<p>Die meisten Anwendungen lassen sich ohne größere Anpassungen aktualisieren. Wer allerdings OPFS RxStorage, Filesystem RxStorage unter Node.js oder IndexedDB mit Anhängen nutzt, muss seine Daten mit dem Storage Migrator migrieren. Pull-Only-Replikationen speichern keine Server-Metadaten mehr auf dem Client. Primärschlüssel und Indizes sind auf maximal 2048 Zeichen begrenzt, da zu lange Schlüssel die Performance beeinträchtigen. Einige Integrationen wie Firebase, MongoDB und NATS sind jetzt optionale Peer Dependencies und müssen manuell installiert werden. Vorgebaute dist-Dateien liefert das GitHub-Repository nicht mehr mit – Entwickler installieren RxDB über npm oder bauen lokal selbst.</p>
<p>Die vollständigen <a href="https://rxdb.info/releases/17.0.0.html" rel="external noopener" target="_blank">Release Notes</a> stehen auf der Projektseite bereit.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11242237"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11242237: RxDB 17: Sync ohne Server, Zugang für KI-Agenten"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-01T05:03:00.000Z
urn:bid:5056151
2026-03-31T20:56:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
TikTok versucht, sich um Pflichten aus dem Gesetz über digitale Dienste (DSA) herumzuwinden. Technisch wie juristisch.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Higher-Regional-Court-of-Bamberg-TikTok-cheats-on-DSA-obligations-11242595.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FOLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten-11242574.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FOLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten-11242574.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/OLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten-11242574.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/OLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten/forum-580308/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Verwirrende Verkehrszeichen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Da soll sich einer auskennen...
</p> <p class="a-caption__source">
(Bild: Daniel AJ Sokolov)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T22:56:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>31.03.2026,
</span>
<span class="a-datetime__time ">22:56
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Daniel-AJ-Sokolov-3679137"
class="creator__link"
>Daniel AJ Sokolov</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Higher-Regional-Court-of-Bamberg-TikTok-cheats-on-DSA-obligations-11242595.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Tiktok muss seine Webseite für Nutzer in Deutschland umprogrammieren, urteilt das Oberlandesgericht Bamberg (OLG). Die aktuelle Gestaltung verstößt mehrfach gegen die als <a href="http://www.heise.de/news/50-Millionen-Mal-Recht-gegeben-Wie-der-DSA-die-Willkuer-der-Plattformen-bricht-11180177.html">DSA (Digital Services Act,</a> auch Gesetz über digitale Dienste) bekannte EU-Verordnung. Tiktok muss es Nutzern leicht machen, die Nutzung personenbezogener Daten für die Auswahl der vorgesetzten Videos auszuschalten.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Außerdem muss die Meldung rechtswidriger Inhalte benutzerfreundlich gestaltet werden. Beides ist laut dem von der Verbraucherzentrale Bayern erstrittenen <a href="https://www.gesetze-bayern.de/Content/Document/Y-300-Z-BECKRS-B-2026-N-4668?hl=true" rel="external noopener" target="_blank">Urteil ( 3 UKl 5/25 e)</a> nicht gegeben, obwohl der DSA das in Artikel 38 respektive 16 vorschreibt.</p>
<p>Da der Fall grundsätzliche Bedeutung hat, es zu den relevanten Rechtsfragen aber noch keine Rechtsprechung gibt, hat das OLG in seinem erstinstanzlichen Endurteil vom 18. März die Revision zum Bundesgerichtshof zugelassen. Tiktok wird das wohl in Anspruch nehmen und hat seine Webseite bisher nicht verbessert. TikToks Anregung, bestimmte Rechtsfragen zuerst dem Europäischen Gerichtshof (EuGH) vorzulegen, hat das Gericht nicht aufgegriffen.</p>
<h3 class="subheading" id="nav_tiktok_will__0">TikTok will sich dem Verfahren nicht stellen</h3>
<p>Im Prozess hat TikTok zunächst versucht, der Verbraucherzentrale die Berechtigung zur Klageführung abzustreiten. Der DSA diene der Wettbewerbsregulierung und nicht dem Verbraucherschutz; zudem sei ausschließlich die Europäische Kommission zur Durchsetzung befugt, und diese habe an der Webseite nichts ausgesetzt. Und überhaupt würden auch Nicht-Verbraucher die Webseite aufrufen.</p>
<p>Diese Argumente griffen beim OLG Bamberg nicht. Einerseits seien die für die Klage relevanten Passagen des DSA eindeutig verbraucherschützend, andererseits gebe das deutsche Gesetz über Unterlassungsklagen bei Verbraucherrechts- und anderen Verstößen (<a href="https://www.gesetze-im-internet.de/uklag/__2.html" rel="external noopener" target="_blank">UKlaG</a>) der Verbraucherzentrale ausdrücklich das Recht, wegen Verstößen gegen solche DSA-Passagen vor Gericht zu ziehen. Die Regelung des DSA, wonach die EU-Kommission für die Durchsetzung zuständig sei, diene der Abgrenzung gegenüber anderen Verwaltungsbehörden, schließe aber Gerichtsverfahren nach dem UKlaG nicht aus.</p>
<h3 class="subheading" id="nav_interface_tricks_1">Interface-Tricks</h3>
<p>Nutzer haben gemäß <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32022R2065#art_38" rel="external noopener" target="_blank">Artikel 38 DSA</a> das Recht, TikTok zu verbieten, seinem Algorithmus ein Profil aus personenbezogenen Daten zu füttern. Diese Option hat TikTok allerdings ausnehmend gut versteckt. Nutzer müssen mit der rechten Maustaste auf ein Video oder ein beworbenes Produktbild klicken, und dann im Kontextmenü „Feed verwalten" auswählen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-u-inline-right a-inline-image a-u-inline" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_feeds_verwalten_Screenshot-e00d8cfad56691fc.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/6/1/5/1/Tiktok_feeds_verwalten_Screenshot-e00d8cfad56691fc.png">
<a-img alt="Kontextmenü mit den Einträgen &quot;An eine*n FReund*in senden&quot;, &quot;Link kopieren&quot;, &quot;Feeds verwalten&quot; und &quot;Videoeinzelheiten an zeigen&quot;" height="252" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_feeds_verwalten_Screenshot-e00d8cfad56691fc.png" style="
aspect-ratio: 400 / 252;" width="400">
<img alt="Kontextmenü mit den Einträgen &quot;An eine*n FReund*in senden&quot;, &quot;Link kopieren&quot;, &quot;Feeds verwalten&quot; und &quot;Videoeinzelheiten an zeigen&quot;" height="252" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 400 / 252; object-fit: cover;" width="400">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Nur durch Klicken mit der rechten Maustaste auf ein Video oder ein angezeigtes Produkt kommt man zu diesem Menü – wenn der Browser mitspielt. Unter „Feeds verwalten“ kann man sich dann verbitten, dass der Algorithmus ein personenbezogenes Profil heranzieht.</div>
<p class="a-caption__source">
(Bild: Tiktok (Screenshot))
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Dieser Weg ist alles andere als naheliegend. Beim Versuch der Redaktion ist das Kontextmenü auch nur in einem von drei Webbrowsern aufgetaucht; die anderen beiden Browser zeigten ihr eigenes Kontextmenü. Und über jene TikTok-Menüs, die über die bekannten drei Punkte aufgerufen werden können, ist die Datenschutz-Option nicht zu finden. Damit sei die De-Personalisierungsfunktion auf Tiktoks Webseite zwar unmittelbar, aber nicht leicht zugänglich, was die Vorgaben des DSA verletzt.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Die Meldung rechtswidriger Inhalte gemäß DSA ist sehr wohl über das Drei-Punkte-Menü im rechten oberen Eck des jeweiligen Videos erreichbar – allerdings gut versteckt. Zunächst muss „Melden“ ausgewählt werden, was eine Reihe von Auswahlmöglichkeiten beschert. Darunter „Hass und Belästigung“, „Betrug und Schwindel“ oder „Fälschungen und geistiges Eigentum“, was ja durchaus rechtswidrige Tatbestände sind.</p>
<h3 class="subheading" id="nav_nur_so_wird__2">Nur so wird korrekt gemeldet</h3>
<p>Doch wer meint, damit eine Meldung gemäß <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32022R2065#art_16" rel="external noopener" target="_blank">Artikel 16 DSA</a> erstattet zu haben, irrt. TikTok betrachtet dies lediglich als Hinweis auf einen Verstoß gegen die eigenen Richtlinien und setzt nicht die im DSA vorgesehenen Maßnahmen. Nutzer können keine Begründung hinzufügen und auch keine Kontaktdaten beifügen. Damit entfallen nicht nur die Empfangsbestätigung und Information über die Entscheidung über die Meldung, sondern TikTok wähnt sich auch haftungsfrei. Nur bei Meldungen nach Artikel 16 DSA gilt TikTok formalrechtlich als in Kenntnis gesetzt und muss gegebenenfalls Maßnahmen ergreifen.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_Screenshot_Melden-186619e4f0d055f9.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/6/1/5/1/Tiktok_Screenshot_Melden-186619e4f0d055f9.png">
<a-img alt="Screenshot eines Kontextmenüs &quot;Melden&quot;: &quot;Bitte wähle ein Szenario aus&quot;, gefolgt von elf Einträgen wie &quot;Gewalt, Missbrauch und kriminelle Ausbeutung&quot;, &quot;Hass und Belästigung&quot; oder &quot;Betrug und Schwindel&quot;" box="1:1" height="895" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_Screenshot_Melden-186619e4f0d055f9.png" style="
aspect-ratio: 1 / 1;" width="877">
<img alt="Screenshot eines Kontextmenüs &quot;Melden&quot;: &quot;Bitte wähle ein Szenario aus&quot;, gefolgt von elf Einträgen wie &quot;Gewalt, Missbrauch und kriminelle Ausbeutung&quot;, &quot;Hass und Belästigung&quot; oder &quot;Betrug und Schwindel&quot;" height="895" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 877 / 895; object-fit: cover;" width="877">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Wer hier klickt, klickt vielleicht falsch. Die rechtsverbindliche Meldung nach dem Digital Services Act geht nur über die hier nicht sichtbare Option „Widerrechtlichen Inhalt melden“. Sie wird erst durch Scrollen nach unten sichtbar. Das ist unannehmlich, sagt das Gericht.</div>
<p class="a-caption__source">
(Bild: TikTok/Daniel AJ Sokolov (bearbeiteter Screenshot))
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Nur wer in dem Menü unter den Seitenumbruch hinunterscrollt und "Widerrechtlichen Inhalt melden" auswählt, kann nähere Informationen und seine Kontaktdaten hinzufügen. Das erschließt sich aber erst, nachdem man das ausgewählt hat. „Faktisch hängt es daher häufig vom Zufall ab, welche Schaltfläche der Nutzer betätigt und demnach auch, ob er ein den Anforderungen des Art 16 DSA genügendes Meldeverfahren in die Wege leitet“, begründet der OLG sein Unterlassungsurteil. „Die Auffindung dieses Meldeverfahrens wird dem Nutzer daher durch die Ausgestaltung in einer Weise erschwert, dass sie entgegen der Vorgabe der Benutzerfreundlichkeit mit Unannehmlichkeiten verbunden ist.“</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5023584" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11168302"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Doom-Scrolling-und-Suchtgefahr-EU-Kommission-fordert-Aenderungen-bei-TikTok-11168302.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4000" height="2248" src="https://www.heise.de/imgs/18/5/0/2/3/5/8/4/P066743-62266-2d2f81e8f2f4f006.jpeg" alt="TikTok-CEO Shou Zi Chew mit Kommissionsvize Henna Virkkunen im Mai 2025 in Brüssel" style="aspect-ratio:4000 / 2248"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4000" height="2248" alt="TikTok-CEO Shou Zi Chew mit Kommissionsvize Henna Virkkunen im Mai 2025 in Brüssel" style="aspect-ratio:4000 / 2248;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Doom-Scrolling und Suchtgefahr: EU-Kommission fordert Änderungen bei TikTok</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/EU-Kommission-TikTok-bricht-DSA-Vorgaben-bei-Anzeigen-10384868.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5472" height="3075" src="https://www.heise.de/imgs/18/4/8/5/4/5/9/8/shutterstock_1336435262-77e3b9ff5a1e22c2.jpeg" alt="Tiktok-App auf Smartphone" style="aspect-ratio:5472 / 3075"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5472" height="3075" alt="Tiktok-App auf Smartphone" style="aspect-ratio:5472 / 3075;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">EU-Kommission: TikTok bricht DSA-Vorgaben bei Anzeigen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Lebensgefaehrliche-Videos-EU-droht-Tiktok-mit-Verbot-7464862.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1750" height="984" src="https://www.heise.de/imgs/18/3/6/8/2/5/7/7/Warnschild_Gefahr_seichtes_Wasser_Strand_1750-df775dda51fffa57.jpeg" alt="Warnschild an Strand warnt for Köpflern ins das seichte Wasser" style="aspect-ratio:1750 / 984"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1750" height="984" alt="Warnschild an Strand warnt for Köpflern ins das seichte Wasser" style="aspect-ratio:1750 / 984;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Lebensgefährliche Videos: EU droht Tiktok mit Verbot</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
TikTok versucht, sich um Pflichten aus dem Gesetz über digitale Dienste (DSA) herumzuwinden. Technisch wie juristisch.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Higher-Regional-Court-of-Bamberg-TikTok-cheats-on-DSA-obligations-11242595.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FOLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten-11242574.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FOLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten-11242574.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/OLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten-11242574.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/OLG-Bamberg-TikTok-schummelt-bei-DSA-Pflichten/forum-580308/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/6/1/5/1/Irrefuehrend-6a5cfe4a546ca44f.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Verwirrende Verkehrszeichen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Da soll sich einer auskennen...
</p> <p class="a-caption__source">
(Bild: Daniel AJ Sokolov)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T22:56:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>31.03.2026,
</span>
<span class="a-datetime__time ">22:56
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Daniel-AJ-Sokolov-3679137"
class="creator__link"
>Daniel AJ Sokolov</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Higher-Regional-Court-of-Bamberg-TikTok-cheats-on-DSA-obligations-11242595.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Tiktok muss seine Webseite für Nutzer in Deutschland umprogrammieren, urteilt das Oberlandesgericht Bamberg (OLG). Die aktuelle Gestaltung verstößt mehrfach gegen die als <a href="http://www.heise.de/news/50-Millionen-Mal-Recht-gegeben-Wie-der-DSA-die-Willkuer-der-Plattformen-bricht-11180177.html">DSA (Digital Services Act,</a> auch Gesetz über digitale Dienste) bekannte EU-Verordnung. Tiktok muss es Nutzern leicht machen, die Nutzung personenbezogener Daten für die Auswahl der vorgesetzten Videos auszuschalten.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Außerdem muss die Meldung rechtswidriger Inhalte benutzerfreundlich gestaltet werden. Beides ist laut dem von der Verbraucherzentrale Bayern erstrittenen <a href="https://www.gesetze-bayern.de/Content/Document/Y-300-Z-BECKRS-B-2026-N-4668?hl=true" rel="external noopener" target="_blank">Urteil ( 3 UKl 5/25 e)</a> nicht gegeben, obwohl der DSA das in Artikel 38 respektive 16 vorschreibt.</p>
<p>Da der Fall grundsätzliche Bedeutung hat, es zu den relevanten Rechtsfragen aber noch keine Rechtsprechung gibt, hat das OLG in seinem erstinstanzlichen Endurteil vom 18. März die Revision zum Bundesgerichtshof zugelassen. Tiktok wird das wohl in Anspruch nehmen und hat seine Webseite bisher nicht verbessert. TikToks Anregung, bestimmte Rechtsfragen zuerst dem Europäischen Gerichtshof (EuGH) vorzulegen, hat das Gericht nicht aufgegriffen.</p>
<h3 class="subheading" id="nav_tiktok_will__0">TikTok will sich dem Verfahren nicht stellen</h3>
<p>Im Prozess hat TikTok zunächst versucht, der Verbraucherzentrale die Berechtigung zur Klageführung abzustreiten. Der DSA diene der Wettbewerbsregulierung und nicht dem Verbraucherschutz; zudem sei ausschließlich die Europäische Kommission zur Durchsetzung befugt, und diese habe an der Webseite nichts ausgesetzt. Und überhaupt würden auch Nicht-Verbraucher die Webseite aufrufen.</p>
<p>Diese Argumente griffen beim OLG Bamberg nicht. Einerseits seien die für die Klage relevanten Passagen des DSA eindeutig verbraucherschützend, andererseits gebe das deutsche Gesetz über Unterlassungsklagen bei Verbraucherrechts- und anderen Verstößen (<a href="https://www.gesetze-im-internet.de/uklag/__2.html" rel="external noopener" target="_blank">UKlaG</a>) der Verbraucherzentrale ausdrücklich das Recht, wegen Verstößen gegen solche DSA-Passagen vor Gericht zu ziehen. Die Regelung des DSA, wonach die EU-Kommission für die Durchsetzung zuständig sei, diene der Abgrenzung gegenüber anderen Verwaltungsbehörden, schließe aber Gerichtsverfahren nach dem UKlaG nicht aus.</p>
<h3 class="subheading" id="nav_interface_tricks_1">Interface-Tricks</h3>
<p>Nutzer haben gemäß <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32022R2065#art_38" rel="external noopener" target="_blank">Artikel 38 DSA</a> das Recht, TikTok zu verbieten, seinem Algorithmus ein Profil aus personenbezogenen Daten zu füttern. Diese Option hat TikTok allerdings ausnehmend gut versteckt. Nutzer müssen mit der rechten Maustaste auf ein Video oder ein beworbenes Produktbild klicken, und dann im Kontextmenü „Feed verwalten" auswählen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-u-inline-right a-inline-image a-u-inline" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_feeds_verwalten_Screenshot-e00d8cfad56691fc.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/6/1/5/1/Tiktok_feeds_verwalten_Screenshot-e00d8cfad56691fc.png">
<a-img alt="Kontextmenü mit den Einträgen &quot;An eine*n FReund*in senden&quot;, &quot;Link kopieren&quot;, &quot;Feeds verwalten&quot; und &quot;Videoeinzelheiten an zeigen&quot;" height="252" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_feeds_verwalten_Screenshot-e00d8cfad56691fc.png" style="
aspect-ratio: 400 / 252;" width="400">
<img alt="Kontextmenü mit den Einträgen &quot;An eine*n FReund*in senden&quot;, &quot;Link kopieren&quot;, &quot;Feeds verwalten&quot; und &quot;Videoeinzelheiten an zeigen&quot;" height="252" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 400 / 252; object-fit: cover;" width="400">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Nur durch Klicken mit der rechten Maustaste auf ein Video oder ein angezeigtes Produkt kommt man zu diesem Menü – wenn der Browser mitspielt. Unter „Feeds verwalten“ kann man sich dann verbitten, dass der Algorithmus ein personenbezogenes Profil heranzieht.</div>
<p class="a-caption__source">
(Bild: Tiktok (Screenshot))
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Dieser Weg ist alles andere als naheliegend. Beim Versuch der Redaktion ist das Kontextmenü auch nur in einem von drei Webbrowsern aufgetaucht; die anderen beiden Browser zeigten ihr eigenes Kontextmenü. Und über jene TikTok-Menüs, die über die bekannten drei Punkte aufgerufen werden können, ist die Datenschutz-Option nicht zu finden. Damit sei die De-Personalisierungsfunktion auf Tiktoks Webseite zwar unmittelbar, aber nicht leicht zugänglich, was die Vorgaben des DSA verletzt.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Die Meldung rechtswidriger Inhalte gemäß DSA ist sehr wohl über das Drei-Punkte-Menü im rechten oberen Eck des jeweiligen Videos erreichbar – allerdings gut versteckt. Zunächst muss „Melden“ ausgewählt werden, was eine Reihe von Auswahlmöglichkeiten beschert. Darunter „Hass und Belästigung“, „Betrug und Schwindel“ oder „Fälschungen und geistiges Eigentum“, was ja durchaus rechtswidrige Tatbestände sind.</p>
<h3 class="subheading" id="nav_nur_so_wird__2">Nur so wird korrekt gemeldet</h3>
<p>Doch wer meint, damit eine Meldung gemäß <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32022R2065#art_16" rel="external noopener" target="_blank">Artikel 16 DSA</a> erstattet zu haben, irrt. TikTok betrachtet dies lediglich als Hinweis auf einen Verstoß gegen die eigenen Richtlinien und setzt nicht die im DSA vorgesehenen Maßnahmen. Nutzer können keine Begründung hinzufügen und auch keine Kontaktdaten beifügen. Damit entfallen nicht nur die Empfangsbestätigung und Information über die Entscheidung über die Meldung, sondern TikTok wähnt sich auch haftungsfrei. Nur bei Meldungen nach Artikel 16 DSA gilt TikTok formalrechtlich als in Kenntnis gesetzt und muss gegebenenfalls Maßnahmen ergreifen.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_Screenshot_Melden-186619e4f0d055f9.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/6/1/5/1/Tiktok_Screenshot_Melden-186619e4f0d055f9.png">
<a-img alt="Screenshot eines Kontextmenüs &quot;Melden&quot;: &quot;Bitte wähle ein Szenario aus&quot;, gefolgt von elf Einträgen wie &quot;Gewalt, Missbrauch und kriminelle Ausbeutung&quot;, &quot;Hass und Belästigung&quot; oder &quot;Betrug und Schwindel&quot;" box="1:1" height="895" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/6/1/5/1/Tiktok_Screenshot_Melden-186619e4f0d055f9.png" style="
aspect-ratio: 1 / 1;" width="877">
<img alt="Screenshot eines Kontextmenüs &quot;Melden&quot;: &quot;Bitte wähle ein Szenario aus&quot;, gefolgt von elf Einträgen wie &quot;Gewalt, Missbrauch und kriminelle Ausbeutung&quot;, &quot;Hass und Belästigung&quot; oder &quot;Betrug und Schwindel&quot;" height="895" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 877 / 895; object-fit: cover;" width="877">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Wer hier klickt, klickt vielleicht falsch. Die rechtsverbindliche Meldung nach dem Digital Services Act geht nur über die hier nicht sichtbare Option „Widerrechtlichen Inhalt melden“. Sie wird erst durch Scrollen nach unten sichtbar. Das ist unannehmlich, sagt das Gericht.</div>
<p class="a-caption__source">
(Bild: TikTok/Daniel AJ Sokolov (bearbeiteter Screenshot))
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Nur wer in dem Menü unter den Seitenumbruch hinunterscrollt und "Widerrechtlichen Inhalt melden" auswählt, kann nähere Informationen und seine Kontaktdaten hinzufügen. Das erschließt sich aber erst, nachdem man das ausgewählt hat. „Faktisch hängt es daher häufig vom Zufall ab, welche Schaltfläche der Nutzer betätigt und demnach auch, ob er ein den Anforderungen des Art 16 DSA genügendes Meldeverfahren in die Wege leitet“, begründet der OLG sein Unterlassungsurteil. „Die Auffindung dieses Meldeverfahrens wird dem Nutzer daher durch die Ausgestaltung in einer Weise erschwert, dass sie entgegen der Vorgabe der Benutzerfreundlichkeit mit Unannehmlichkeiten verbunden ist.“</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5023584" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11168302"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Doom-Scrolling-und-Suchtgefahr-EU-Kommission-fordert-Aenderungen-bei-TikTok-11168302.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4000" height="2248" src="https://www.heise.de/imgs/18/5/0/2/3/5/8/4/P066743-62266-2d2f81e8f2f4f006.jpeg" alt="TikTok-CEO Shou Zi Chew mit Kommissionsvize Henna Virkkunen im Mai 2025 in Brüssel" style="aspect-ratio:4000 / 2248"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4000" height="2248" alt="TikTok-CEO Shou Zi Chew mit Kommissionsvize Henna Virkkunen im Mai 2025 in Brüssel" style="aspect-ratio:4000 / 2248;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Doom-Scrolling und Suchtgefahr: EU-Kommission fordert Änderungen bei TikTok</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/EU-Kommission-TikTok-bricht-DSA-Vorgaben-bei-Anzeigen-10384868.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5472" height="3075" src="https://www.heise.de/imgs/18/4/8/5/4/5/9/8/shutterstock_1336435262-77e3b9ff5a1e22c2.jpeg" alt="Tiktok-App auf Smartphone" style="aspect-ratio:5472 / 3075"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5472" height="3075" alt="Tiktok-App auf Smartphone" style="aspect-ratio:5472 / 3075;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">EU-Kommission: TikTok bricht DSA-Vorgaben bei Anzeigen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Lebensgefaehrliche-Videos-EU-droht-Tiktok-mit-Verbot-7464862.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1750" height="984" src="https://www.heise.de/imgs/18/3/6/8/2/5/7/7/Warnschild_Gefahr_seichtes_Wasser_Strand_1750-df775dda51fffa57.jpeg" alt="Warnschild an Strand warnt for Köpflern ins das seichte Wasser" style="aspect-ratio:1750 / 984"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1750" height="984" alt="Warnschild an Strand warnt for Köpflern ins das seichte Wasser" style="aspect-ratio:1750 / 984;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Lebensgefährliche Videos: EU droht Tiktok mit Verbot</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-03-31T20:56:00.000Z
urn:bid:5055737
2026-03-31T13:14:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Der Quellcode von Anthropics CLI-Tool Claude Code wurde versehentlich über eine Source-Map im npm-Registry öffentlich zugänglich.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Claude-Code-unintentionally-open-source-Source-map-reveals-all-11242079.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FClaude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FClaude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Claude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Anthropics-Claude-Code-Kompletter-Quellcode-im-Netz/forum-580290/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>142</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Anthropic steht auf einem Smartphone, im HIntergrund Claude.
</p> <p class="a-caption__source">
(Bild: Stockinq/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T15:14:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>31.03.2026,
</span>
<span class="a-datetime__time ">15:14
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Claude-Code-unintentionally-open-source-Source-map-reveals-all-11242079.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Der Quellcode von Anthropics CLI-Tool Claude Code ist am 31. März 2026 anscheinend unbeabsichtigt öffentlich zugänglich geworden. Auslöser war nach übereinstimmenden Berichten eine mitveröffentlichte Source-Map-Datei im npm-Registry. Der Sicherheitsexperte <a href="https://x.com/Fried_rice/status/2038894956459290963" rel="external noopener" target="_blank">Chaofan Shou machte über X</a> auf den Fund aufmerksam, kurz darauf tauchte ein vollständiger Snapshot des Codes in einem öffentlichen GitHub-Repository auf.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der gespiegelte Code umfasst laut Repository rund 1900 Dateien mit über 512.000 Zeilen. <a class="heiseplus-lnk" href="http://www.heise.de/hintergrund/Drei-KI-Coding-Assistenten-fuer-Visual-Studio-Code-im-Ueberblick-11137834.html">Claude Code</a> ist ein Kommandozeilenwerkzeug, mit dem Entwickler über natürliche Sprache auf Anthropics KI-Modelle zugreifen und typische Aufgaben wie das Bearbeiten von Dateien oder das Ausführen von Befehlen erledigen können.</p>
<h3 class="subheading" id="nav_source_map_als__0">Source Map als Einfallstor</h3>
<p>Source Maps dienen eigentlich dazu, komprimierten oder gebündelten Code auf die ursprünglichen Quelldateien zurückzuführen. Gelangen sie jedoch in veröffentlichte Pakete, können sie den Zugriff auf den Originalcode ermöglichen. In diesem Fall verwies die Datei offenbar auf unminifizierte TypeScript-Quellen, die sich herunterladen ließen.</p>
<p>Als wahrscheinliche Ursache gilt eine fehlerhafte Paketkonfiguration bei der Veröffentlichung über npm. Anthropic reagierte schnell: Die betroffene Paketversion wurde bereits aus dem npm-Registry entfernt und durch eine bereinigte Version ohne Source-Maps ersetzt. Eine offizielle Stellungnahme des Unternehmens lag zum Zeitpunkt der Veröffentlichung dieser Meldung nicht vor.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_modulare__1">Modulare Architektur mit Bun und React</h3>
<p>Ein erster Blick in das Material zeigt eine modular aufgebaute Codebasis. Das Tool nutzt demnach die JavaScript-Laufzeitumgebung Bun und setzt für die Terminaloberfläche auf React in Kombination mit der Ink-Bibliothek. Zudem enthält der Code unter anderem ein Befehlssystem, eine Schnittstelle zu Entwicklungsumgebungen sowie Mechanismen zur Steuerung von Berechtigungen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die Verbreitung erfolgte zunächst über soziale Netzwerke und <a href="https://www.reddit.com/r/LocalLLaMA/comments/1s8ijfb/claude_code_source_code_has_been_leaked_via_a_map/" rel="external noopener" target="_blank">Entwicklerforen auf Reddit</a>. Parallel entstand auf GitHub ein Repository, das den Code zu Analysezwecken spiegelt und ausdrücklich als Forschungs- und Lehrmaterial einordnet.</p>
<div class="update-box a-u-inline">
<div class="a-publish-info update-box__datetime">
<!-- RSPEAK_STOP -->
<span class="a-publish-info__update">Update</span>
<time class="
a-datetime
a-publish-info__datetime" datetime="2026-04-01T11:00:00">
<span class="
a-datetime__date
a-publish-info__date">01.04.2026,
</span>
<span class="a-datetime__time ">11:00
</span>
<span class="
a-datetime__word
">
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
</div>
<div class="update-box__text">
<p>Mittlerweile enthält das Repository einen angeblichen Rewrite des Codes in Python, der jedoch nicht vom ursprünglichen Contributor stammt. Wir haben als Vorsichtsmaßnahme den Link auf das Repository entfernt.</p><p>Laut <a href="https://www.cnbc.com/2026/03/31/anthropic-leak-claude-code-internal-source.html" rel="external noopener" target="_blank">CNBC hat Anthropic eine unbeabsichtigte Codeoffenlegung bestätigt</a>. „Es waren keine sensiblen Kundendaten oder Zugangsdaten betroffen oder wurden offengelegt“, erklärte ein Sprecher von Anthropic. „Es handelte sich um ein Problem bei der Veröffentlichung der Software, das durch menschliches Versagen verursacht wurde, nicht um eine Sicherheitslücke. Wir ergreifen Maßnahmen, um zu verhindern, dass sich so etwas wiederholt.“</p>
</div>
</div>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11241752"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11241752: Anthropics Claude Code: Kompletter Quellcode im Netz"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Der Quellcode von Anthropics CLI-Tool Claude Code wurde versehentlich über eine Source-Map im npm-Registry öffentlich zugänglich.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Claude-Code-unintentionally-open-source-Source-map-reveals-all-11242079.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FClaude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FClaude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Claude-Code-ungewollt-Open-Source-Source-Map-verraet-alles-11241752.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Anthropics-Claude-Code-Kompletter-Quellcode-im-Netz/forum-580290/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>142</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/7/3/7/shutterstock_2737162387-4a5ff5082000a65b.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Anthropic steht auf einem Smartphone, im HIntergrund Claude. "
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Anthropic steht auf einem Smartphone, im HIntergrund Claude.
</p> <p class="a-caption__source">
(Bild: Stockinq/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T15:14:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>31.03.2026,
</span>
<span class="a-datetime__time ">15:14
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Claude-Code-unintentionally-open-source-Source-map-reveals-all-11242079.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Der Quellcode von Anthropics CLI-Tool Claude Code ist am 31. März 2026 anscheinend unbeabsichtigt öffentlich zugänglich geworden. Auslöser war nach übereinstimmenden Berichten eine mitveröffentlichte Source-Map-Datei im npm-Registry. Der Sicherheitsexperte <a href="https://x.com/Fried_rice/status/2038894956459290963" rel="external noopener" target="_blank">Chaofan Shou machte über X</a> auf den Fund aufmerksam, kurz darauf tauchte ein vollständiger Snapshot des Codes in einem öffentlichen GitHub-Repository auf.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der gespiegelte Code umfasst laut Repository rund 1900 Dateien mit über 512.000 Zeilen. <a class="heiseplus-lnk" href="http://www.heise.de/hintergrund/Drei-KI-Coding-Assistenten-fuer-Visual-Studio-Code-im-Ueberblick-11137834.html">Claude Code</a> ist ein Kommandozeilenwerkzeug, mit dem Entwickler über natürliche Sprache auf Anthropics KI-Modelle zugreifen und typische Aufgaben wie das Bearbeiten von Dateien oder das Ausführen von Befehlen erledigen können.</p>
<h3 class="subheading" id="nav_source_map_als__0">Source Map als Einfallstor</h3>
<p>Source Maps dienen eigentlich dazu, komprimierten oder gebündelten Code auf die ursprünglichen Quelldateien zurückzuführen. Gelangen sie jedoch in veröffentlichte Pakete, können sie den Zugriff auf den Originalcode ermöglichen. In diesem Fall verwies die Datei offenbar auf unminifizierte TypeScript-Quellen, die sich herunterladen ließen.</p>
<p>Als wahrscheinliche Ursache gilt eine fehlerhafte Paketkonfiguration bei der Veröffentlichung über npm. Anthropic reagierte schnell: Die betroffene Paketversion wurde bereits aus dem npm-Registry entfernt und durch eine bereinigte Version ohne Source-Maps ersetzt. Eine offizielle Stellungnahme des Unternehmens lag zum Zeitpunkt der Veröffentlichung dieser Meldung nicht vor.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_modulare__1">Modulare Architektur mit Bun und React</h3>
<p>Ein erster Blick in das Material zeigt eine modular aufgebaute Codebasis. Das Tool nutzt demnach die JavaScript-Laufzeitumgebung Bun und setzt für die Terminaloberfläche auf React in Kombination mit der Ink-Bibliothek. Zudem enthält der Code unter anderem ein Befehlssystem, eine Schnittstelle zu Entwicklungsumgebungen sowie Mechanismen zur Steuerung von Berechtigungen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die Verbreitung erfolgte zunächst über soziale Netzwerke und <a href="https://www.reddit.com/r/LocalLLaMA/comments/1s8ijfb/claude_code_source_code_has_been_leaked_via_a_map/" rel="external noopener" target="_blank">Entwicklerforen auf Reddit</a>. Parallel entstand auf GitHub ein Repository, das den Code zu Analysezwecken spiegelt und ausdrücklich als Forschungs- und Lehrmaterial einordnet.</p>
<div class="update-box a-u-inline">
<div class="a-publish-info update-box__datetime">
<!-- RSPEAK_STOP -->
<span class="a-publish-info__update">Update</span>
<time class="
a-datetime
a-publish-info__datetime" datetime="2026-04-01T11:00:00">
<span class="
a-datetime__date
a-publish-info__date">01.04.2026,
</span>
<span class="a-datetime__time ">11:00
</span>
<span class="
a-datetime__word
">
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
</div>
<div class="update-box__text">
<p>Mittlerweile enthält das Repository einen angeblichen Rewrite des Codes in Python, der jedoch nicht vom ursprünglichen Contributor stammt. Wir haben als Vorsichtsmaßnahme den Link auf das Repository entfernt.</p><p>Laut <a href="https://www.cnbc.com/2026/03/31/anthropic-leak-claude-code-internal-source.html" rel="external noopener" target="_blank">CNBC hat Anthropic eine unbeabsichtigte Codeoffenlegung bestätigt</a>. „Es waren keine sensiblen Kundendaten oder Zugangsdaten betroffen oder wurden offengelegt“, erklärte ein Sprecher von Anthropic. „Es handelte sich um ein Problem bei der Veröffentlichung der Software, das durch menschliches Versagen verursacht wurde, nicht um eine Sicherheitslücke. Wir ergreifen Maßnahmen, um zu verhindern, dass sich so etwas wiederholt.“</p>
</div>
</div>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11241752"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11241752: Anthropics Claude Code: Kompletter Quellcode im Netz"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-03-31T13:14:00.000Z
urn:bid:5055460
2026-03-31T10:54:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Neovim 0.12 bringt einen nativen Plugin-Manager und macht Schluss mit „Press ENTER“. Ziel ist ein Out-of-the-box-Editor.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FNeovim-0-12-mit-nativem-Plugin-Manager-11241207.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FNeovim-0-12-mit-nativem-Plugin-Manager-11241207.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Neovim-0-12-mit-nativem-Plugin-Manager-11241207.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Neovim-0-12-mit-nativem-Plugin-Manager/forum-580271/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Fliegende Toaster mit Flügeln und Toastbrot, auf deren Displays Buchstaben und Zeichen zu sehen sind."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T12:54:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">12:54
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Neovim ist in Version 0.12 erschienen. Unter dem Motto „The year of Nvim OOTB“ (Out of the box) baut das Release den Funktionsumfang des Open-Source-Editors aus. Die wichtigsten Neuerungen: ein nativer Plugin-Manager und das Ende störender UI-Blockaden.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Neovim ist ein Fork des Texteditors Vim. Das Projekt hat zum Ziel, die historische Codebasis zu modernisieren, und setzt auf eine asynchrone Architektur sowie eine API-getriebene Erweiterbarkeit. Als Konfigurations- und Skriptsprache dient Lua.</p>
<h3 class="subheading" id="nav_nativer__0">Nativer Plugin-Manager</h3>
<p>Die zentrale Neuerung ist der in den Core integrierte, minimalistische Plugin-Manager <code>vim.pack</code>. Bislang mussten Nutzer für fast jedes Setup externe Paketmanager wie <code>packer</code> oder <code>lazy.nvim</code> per Skript herunterladen und initialisieren – das sogenannte Bootstrapping. Mit <code>vim.pack</code> genügt eine deklarative Lua-Konfiguration, um Erweiterungen direkt von GitHub zu laden und zu verwalten. Externe Manager bleiben nur noch für komplexe Setups nötig, etwa mit umfangreichem Lazy-Loading.</p>
<p>Außerdem ersetzt Neovim 0.12 die berüchtigte „Press ENTER“-Meldung durch eine experimentelle Nachrichten-UI. Die neue Oberfläche (<code>vim._extui</code>) ersetzt rund 3000 Zeilen alten C-Code und muss manuell aktiviert werden:</p>
<!-- RSPEAK_STOP -->
<a-code language="bash">
<pre class="rte__tx--listing listing"><code>require('vim._extui').enable({})</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Ohne Aktivierung bleibt das alte Verhalten erhalten – Nutzer können es aber über <code>:set cmdheight=0</code> deaktivieren. In der neuen UI werden lange Nachrichten standardmäßig in der Kommandozeile mit einem Überlauf-Indikator (<code>...</code>) angezeigt. Bei <code>cmdheight=0</code> oder expliziter Konfiguration (<code>msg.pos = 'box'</code>) erscheinen sie stattdessen in einem Floating Window unten rechts.</p>
<p>Wer die vollständige Nachrichten-Historie oder lange Listen – etwa geöffnete Puffer via <code>:ls</code> – einsehen möchte, öffnet über das Tastenkürzel <code>g<</code> künftig ein reguläres, interaktives Editor-Fenster. Es ersetzt den bisherigen starren Pager. Die neue UI nutzt den Tree-sitter-Parser für Vimscript, um die Kommandozeile farblich hervorzuheben – etwa für Befehle und Argumente. Dieses Feature ist jedoch nur aktiv, wenn <code>vim._extui</code> eingeschaltet ist.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Hinzu kommen zwei neue Befehle: <code>:restart</code> startet den Editor-Prozess mitsamt Konfiguration neu, ohne dass die Terminal-Session geschlossen werden muss. <code>:connect</code> vereinfacht das Anbinden externer GUIs oder Headless-Instanzen über RPC.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_einfacheres__1">Einfacheres Remote-Plugin-System</h3>
<p>Unter der Haube überarbeitet Neovim aktuell das System für Remote-Plugins. Diese Erweiterungen laufen in externen Sprachen wie Python oder Node.js und kommunizieren über MessagePack-RPC mit dem Editor. Bisher erforderte ihre Installation einen manuellen Registrierungsschritt: Der Befehl <code>:UpdateRemotePlugins</code> aktualisierte eine Manifest-Datei – ein fehleranfälliger Zwischenschritt. Für Version 0.13 plant das Projekt, Lua als nativen Plugin-Host einzusetzen – <code>:UpdateRemotePlugins</code> soll dann entfallen.</p>
<p>Alle Informationen zu Neovim 0.12 und zu den geplanten Updates finden sich auf der <a href="https://neovim.io/roadmap/" rel="external noopener" target="_blank">Webseite des Projekts</a> und in den <a href="https://github.com/neovim/neovim/commit/fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a" rel="external noopener" target="_blank">Release Notes auf GitHub</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="4752247" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="10178450"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Editor-Neovim-mit-Plug-ins-zur-Python-IDE-aufruesten-10178450.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/4/7/5/2/2/4/7/neovim_fu_r_python_entwickler_digital-b65e535158d4d6a8.png" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Editor Neovim mit Plug-ins zur Python-IDE aufrüsten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Fuer-Programmierer-Die-Entwicklungsumgebung-Neovim-anpassen-erweitern-9869214.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/4/6/6/9/7/9/3/Aufmacherbild-6e7658c7ef939e3c.jpeg" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Für Programmierer: Die Entwicklungsumgebung Neovim anpassen & erweitern</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Neovim 0.12 bringt einen nativen Plugin-Manager und macht Schluss mit „Press ENTER“. Ziel ist ein Out-of-the-box-Editor.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FNeovim-0-12-mit-nativem-Plugin-Manager-11241207.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FNeovim-0-12-mit-nativem-Plugin-Manager-11241207.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Neovim-0-12-mit-nativem-Plugin-Manager-11241207.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Neovim-0-12-mit-nativem-Plugin-Manager/forum-580271/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/6/0/vim_9-a392a643ffe89197.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Fliegende Toaster mit Flügeln und Toastbrot, auf deren Displays Buchstaben und Zeichen zu sehen sind."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T12:54:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">12:54
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Neovim ist in Version 0.12 erschienen. Unter dem Motto „The year of Nvim OOTB“ (Out of the box) baut das Release den Funktionsumfang des Open-Source-Editors aus. Die wichtigsten Neuerungen: ein nativer Plugin-Manager und das Ende störender UI-Blockaden.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Neovim ist ein Fork des Texteditors Vim. Das Projekt hat zum Ziel, die historische Codebasis zu modernisieren, und setzt auf eine asynchrone Architektur sowie eine API-getriebene Erweiterbarkeit. Als Konfigurations- und Skriptsprache dient Lua.</p>
<h3 class="subheading" id="nav_nativer__0">Nativer Plugin-Manager</h3>
<p>Die zentrale Neuerung ist der in den Core integrierte, minimalistische Plugin-Manager <code>vim.pack</code>. Bislang mussten Nutzer für fast jedes Setup externe Paketmanager wie <code>packer</code> oder <code>lazy.nvim</code> per Skript herunterladen und initialisieren – das sogenannte Bootstrapping. Mit <code>vim.pack</code> genügt eine deklarative Lua-Konfiguration, um Erweiterungen direkt von GitHub zu laden und zu verwalten. Externe Manager bleiben nur noch für komplexe Setups nötig, etwa mit umfangreichem Lazy-Loading.</p>
<p>Außerdem ersetzt Neovim 0.12 die berüchtigte „Press ENTER“-Meldung durch eine experimentelle Nachrichten-UI. Die neue Oberfläche (<code>vim._extui</code>) ersetzt rund 3000 Zeilen alten C-Code und muss manuell aktiviert werden:</p>
<!-- RSPEAK_STOP -->
<a-code language="bash">
<pre class="rte__tx--listing listing"><code>require('vim._extui').enable({})</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Ohne Aktivierung bleibt das alte Verhalten erhalten – Nutzer können es aber über <code>:set cmdheight=0</code> deaktivieren. In der neuen UI werden lange Nachrichten standardmäßig in der Kommandozeile mit einem Überlauf-Indikator (<code>...</code>) angezeigt. Bei <code>cmdheight=0</code> oder expliziter Konfiguration (<code>msg.pos = 'box'</code>) erscheinen sie stattdessen in einem Floating Window unten rechts.</p>
<p>Wer die vollständige Nachrichten-Historie oder lange Listen – etwa geöffnete Puffer via <code>:ls</code> – einsehen möchte, öffnet über das Tastenkürzel <code>g<</code> künftig ein reguläres, interaktives Editor-Fenster. Es ersetzt den bisherigen starren Pager. Die neue UI nutzt den Tree-sitter-Parser für Vimscript, um die Kommandozeile farblich hervorzuheben – etwa für Befehle und Argumente. Dieses Feature ist jedoch nur aktiv, wenn <code>vim._extui</code> eingeschaltet ist.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Hinzu kommen zwei neue Befehle: <code>:restart</code> startet den Editor-Prozess mitsamt Konfiguration neu, ohne dass die Terminal-Session geschlossen werden muss. <code>:connect</code> vereinfacht das Anbinden externer GUIs oder Headless-Instanzen über RPC.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_einfacheres__1">Einfacheres Remote-Plugin-System</h3>
<p>Unter der Haube überarbeitet Neovim aktuell das System für Remote-Plugins. Diese Erweiterungen laufen in externen Sprachen wie Python oder Node.js und kommunizieren über MessagePack-RPC mit dem Editor. Bisher erforderte ihre Installation einen manuellen Registrierungsschritt: Der Befehl <code>:UpdateRemotePlugins</code> aktualisierte eine Manifest-Datei – ein fehleranfälliger Zwischenschritt. Für Version 0.13 plant das Projekt, Lua als nativen Plugin-Host einzusetzen – <code>:UpdateRemotePlugins</code> soll dann entfallen.</p>
<p>Alle Informationen zu Neovim 0.12 und zu den geplanten Updates finden sich auf der <a href="https://neovim.io/roadmap/" rel="external noopener" target="_blank">Webseite des Projekts</a> und in den <a href="https://github.com/neovim/neovim/commit/fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a" rel="external noopener" target="_blank">Release Notes auf GitHub</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="4752247" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="10178450"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Editor-Neovim-mit-Plug-ins-zur-Python-IDE-aufruesten-10178450.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/4/7/5/2/2/4/7/neovim_fu_r_python_entwickler_digital-b65e535158d4d6a8.png" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Editor Neovim mit Plug-ins zur Python-IDE aufrüsten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Fuer-Programmierer-Die-Entwicklungsumgebung-Neovim-anpassen-erweitern-9869214.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/4/6/6/9/7/9/3/Aufmacherbild-6e7658c7ef939e3c.jpeg" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Für Programmierer: Die Entwicklungsumgebung Neovim anpassen & erweitern</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
2026-03-31T10:54:00.000Z
urn:bid:5055408
2026-03-31T09:48:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Google veröffentlicht ADK 1.0 für Java und erweitert sein Framework für KI-Agenten um Tools, Plugin-System und Zusammenarbeit zwischen Agenten.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FADK-1-0-fuer-Java-erschienen-Google-erweitert-Framework-fuer-KI-Agenten-11241104.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FADK-1-0-fuer-Java-erschienen-Google-erweitert-Framework-fuer-KI-Agenten-11241104.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/ADK-1-0-fuer-Java-erschienen-Google-erweitert-Framework-fuer-KI-Agenten-11241104.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Google-veroeffentlicht-ADK-1-0-fuer-Java/forum-580266/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Kleiner, niedlicher Roboter"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Besjunior / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T11:48:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">11:48
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Madeleine-Domogalla-4578408"
class="creator__link"
>Madeleine Domogalla</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Google hat das Agent Development Kit (ADK) für Java in Version 1.0.0 veröffentlicht und macht sein Framework für KI-Agenten damit erstmals auch für die weit verbreitete Java-Plattform verfügbar. Das Open-Source-Projekt, das ursprünglich in Python startete, wächst damit zu einem mehrsprachigen Ökosystem heran – neben Java unterstützt es auch Go und TypeScript.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Das <a href="https://google.github.io/adk-docs/" rel="external noopener" target="_blank">ADK</a> richtet sich an Entwicklerinnen und Entwickler, die KI-Agenten bauen wollen, die nicht nur Texte generieren, sondern aktiv mit ihrer Umgebung interagieren. Solche Agenten kombinieren Large Language Models (LLMs) mit Tools, Zustandsverwaltung und externen Datenquellen.</p>
<h3 class="subheading" id="nav_mehr_tools_und__0">Mehr Tools und externe Datenquellen</h3>
<p>Zu den wichtigsten Neuerungen zählen zusätzliche Tools für den Zugriff auf externe Informationen. So bindet etwa das <code>GoogleMapsTool</code> Ortsdaten direkt ein, während das <code>UrlContextTool</code> Webseiteninhalte automatisch abruft und zusammenfasst. Mit Code-Executoren können Agenten zudem eigenen Code lokal (Docker) oder in der Cloud ausführen.</p>
<p>Neu ist auch eine zentrale App-Struktur mit Plug-in-System. Damit lassen sich Funktionen wie Logging, Kontextfilterung oder globale Verhaltensregeln einmal definieren und auf alle Agenten anwenden.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/5/4/0/8/adk_abb1-1ef1bab55a479aab.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/5/4/0/8/adk_abb1-1ef1bab55a479aab.png">
<a-img alt="Das Diagramm zeigt, an welchen Stellen Plugins und Callbacks in den Ablauf eines KI-Agenten eingreifen können." height="276" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/5/4/0/8/adk_abb1-1ef1bab55a479aab.png" style="
aspect-ratio: 791 / 276;" width="791">
<img alt="Das Diagramm zeigt, an welchen Stellen Plugins und Callbacks in den Ablauf eines KI-Agenten eingreifen können." height="276" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 791 / 276; object-fit: cover;" width="791">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Das Diagramm zeigt, an welchen Stellen Plug-ins und Callbacks in den Ablauf eines KI-Agenten eingreifen können.</div>
<p class="a-caption__source">
(Bild: <a href="https://developers.googleblog.com/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java/" rel="external noopener" target="_blank">Google for Developers Blog</a>)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_kontext__1">Kontext, Kontrolle und Zusammenarbeit</h3>
<p>Für längere Interaktionen führt ADK ein Context-Management ein, das ältere Gesprächsteile zusammenfasst, um Token-Limits und Kosten zu kontrollieren. Gleichzeitig unterstützt das Framework Human-in-the-Loop-Szenarien: Agenten können Aktionen pausieren und eine Freigabe einholen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Hinzu kommen Bausteine für Sitzungs- und Langzeitspeicher sowie Unterstützung für das Agent2Agent-Protokoll, über das Agenten framework-übergreifend miteinander kommunizieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Nähere Informationen bietet der <a href="https://developers.googleblog.com/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java/" rel="external noopener" target="_blank">Beitrag auf dem Blog Google for Developers</a> sowie die <a href="https://google.github.io/adk-docs" rel="external noopener" target="_blank">Dokumentation zum Tool</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5053741" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11227526"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Java-modernisiert-Einfacherer-Einstieg-und-Programmstart-11227526.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/3/7/4/1/java25_learn_aufmacher-270ae5ac2ecf9464.png" alt=", Luca Butt / iX" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", Luca Butt / iX" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Java modernisiert: Einfacherer Einstieg und Programmstart</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Moderne-Java-Entwicklung-Noch-Fruehbuchertickets-fuer-betterCode-Spring-sichern-11226822.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/3/3/8/4/bc__Spring-2026-Ticker-Header-16-9-b1a6f91d022ef525.jpeg" alt="Blättersprösslinge im Frühling" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Blättersprösslinge im Frühling" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Moderne Java-Entwicklung: Online-Konferenz mit Deep-Dive-Vorträgen zu Spring</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Java-Unkonferenz-JSail-Mit-vollem-Segel-zu-aktuellen-Java-Themen-11220767.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5712" height="3209" src="https://www.heise.de/imgs/18/5/0/5/0/2/6/5/abendstimmung2__von_Christian_-25fb4b815fd0d8a5.jpeg" style="aspect-ratio:5712 / 3209"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5712" height="3209" style="aspect-ratio:5712 / 3209;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Java-Unkonferenz JSail: Mit vollem Segel zu aktuellen Java-Themen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Java-26-mit-JVM-Optimierungen-und-HTTP-3-und-endgueltig-ohne-Applet-API-11213403.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/4/6/5/8/2/Java-268929a38d109b02.jpeg" alt="Java-Kaffeebohnen" style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Java-Kaffeebohnen" style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Java 26 führt HTTP/3 ein und verzichtet endgültig auf die Applet-API</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Zwei-Tage-Livestream-von-der-JavaLand-Konferenz-im-Europa-Park-Rust-11199792.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1280" height="719" src="https://www.heise.de/imgs/18/5/0/3/9/6/3/4/Javaland_studio-68dc1f8ad65bc953.jpeg" alt="JavaLand Studio Duke" style="aspect-ratio:1280 / 719"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1280" height="719" alt="JavaLand Studio Duke" style="aspect-ratio:1280 / 719;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Zwei Tage Livestream von der JavaLand-Konferenz im Europa-Park Rust</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Google veröffentlicht ADK 1.0 für Java und erweitert sein Framework für KI-Agenten um Tools, Plugin-System und Zusammenarbeit zwischen Agenten.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FADK-1-0-fuer-Java-erschienen-Google-erweitert-Framework-fuer-KI-Agenten-11241104.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FADK-1-0-fuer-Java-erschienen-Google-erweitert-Framework-fuer-KI-Agenten-11241104.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/ADK-1-0-fuer-Java-erschienen-Google-erweitert-Framework-fuer-KI-Agenten-11241104.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Google-veroeffentlicht-ADK-1-0-fuer-Java/forum-580266/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/4/0/8/shutterstock_795245041-d55e629f5acadf13.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Kleiner, niedlicher Roboter"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Besjunior / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T11:48:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">11:48
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Madeleine-Domogalla-4578408"
class="creator__link"
>Madeleine Domogalla</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Google hat das Agent Development Kit (ADK) für Java in Version 1.0.0 veröffentlicht und macht sein Framework für KI-Agenten damit erstmals auch für die weit verbreitete Java-Plattform verfügbar. Das Open-Source-Projekt, das ursprünglich in Python startete, wächst damit zu einem mehrsprachigen Ökosystem heran – neben Java unterstützt es auch Go und TypeScript.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Das <a href="https://google.github.io/adk-docs/" rel="external noopener" target="_blank">ADK</a> richtet sich an Entwicklerinnen und Entwickler, die KI-Agenten bauen wollen, die nicht nur Texte generieren, sondern aktiv mit ihrer Umgebung interagieren. Solche Agenten kombinieren Large Language Models (LLMs) mit Tools, Zustandsverwaltung und externen Datenquellen.</p>
<h3 class="subheading" id="nav_mehr_tools_und__0">Mehr Tools und externe Datenquellen</h3>
<p>Zu den wichtigsten Neuerungen zählen zusätzliche Tools für den Zugriff auf externe Informationen. So bindet etwa das <code>GoogleMapsTool</code> Ortsdaten direkt ein, während das <code>UrlContextTool</code> Webseiteninhalte automatisch abruft und zusammenfasst. Mit Code-Executoren können Agenten zudem eigenen Code lokal (Docker) oder in der Cloud ausführen.</p>
<p>Neu ist auch eine zentrale App-Struktur mit Plug-in-System. Damit lassen sich Funktionen wie Logging, Kontextfilterung oder globale Verhaltensregeln einmal definieren und auf alle Agenten anwenden.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/5/4/0/8/adk_abb1-1ef1bab55a479aab.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/5/4/0/8/adk_abb1-1ef1bab55a479aab.png">
<a-img alt="Das Diagramm zeigt, an welchen Stellen Plugins und Callbacks in den Ablauf eines KI-Agenten eingreifen können." height="276" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/5/4/0/8/adk_abb1-1ef1bab55a479aab.png" style="
aspect-ratio: 791 / 276;" width="791">
<img alt="Das Diagramm zeigt, an welchen Stellen Plugins und Callbacks in den Ablauf eines KI-Agenten eingreifen können." height="276" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 791 / 276; object-fit: cover;" width="791">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Das Diagramm zeigt, an welchen Stellen Plug-ins und Callbacks in den Ablauf eines KI-Agenten eingreifen können.</div>
<p class="a-caption__source">
(Bild: <a href="https://developers.googleblog.com/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java/" rel="external noopener" target="_blank">Google for Developers Blog</a>)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_kontext__1">Kontext, Kontrolle und Zusammenarbeit</h3>
<p>Für längere Interaktionen führt ADK ein Context-Management ein, das ältere Gesprächsteile zusammenfasst, um Token-Limits und Kosten zu kontrollieren. Gleichzeitig unterstützt das Framework Human-in-the-Loop-Szenarien: Agenten können Aktionen pausieren und eine Freigabe einholen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Hinzu kommen Bausteine für Sitzungs- und Langzeitspeicher sowie Unterstützung für das Agent2Agent-Protokoll, über das Agenten framework-übergreifend miteinander kommunizieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Nähere Informationen bietet der <a href="https://developers.googleblog.com/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java/" rel="external noopener" target="_blank">Beitrag auf dem Blog Google for Developers</a> sowie die <a href="https://google.github.io/adk-docs" rel="external noopener" target="_blank">Dokumentation zum Tool</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5053741" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11227526"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Java-modernisiert-Einfacherer-Einstieg-und-Programmstart-11227526.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/3/7/4/1/java25_learn_aufmacher-270ae5ac2ecf9464.png" alt=", Luca Butt / iX" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", Luca Butt / iX" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Java modernisiert: Einfacherer Einstieg und Programmstart</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Moderne-Java-Entwicklung-Noch-Fruehbuchertickets-fuer-betterCode-Spring-sichern-11226822.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/3/3/8/4/bc__Spring-2026-Ticker-Header-16-9-b1a6f91d022ef525.jpeg" alt="Blättersprösslinge im Frühling" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Blättersprösslinge im Frühling" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Moderne Java-Entwicklung: Online-Konferenz mit Deep-Dive-Vorträgen zu Spring</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Java-Unkonferenz-JSail-Mit-vollem-Segel-zu-aktuellen-Java-Themen-11220767.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5712" height="3209" src="https://www.heise.de/imgs/18/5/0/5/0/2/6/5/abendstimmung2__von_Christian_-25fb4b815fd0d8a5.jpeg" style="aspect-ratio:5712 / 3209"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5712" height="3209" style="aspect-ratio:5712 / 3209;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Java-Unkonferenz JSail: Mit vollem Segel zu aktuellen Java-Themen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Java-26-mit-JVM-Optimierungen-und-HTTP-3-und-endgueltig-ohne-Applet-API-11213403.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/4/6/5/8/2/Java-268929a38d109b02.jpeg" alt="Java-Kaffeebohnen" style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Java-Kaffeebohnen" style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Java 26 führt HTTP/3 ein und verzichtet endgültig auf die Applet-API</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Zwei-Tage-Livestream-von-der-JavaLand-Konferenz-im-Europa-Park-Rust-11199792.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1280" height="719" src="https://www.heise.de/imgs/18/5/0/3/9/6/3/4/Javaland_studio-68dc1f8ad65bc953.jpeg" alt="JavaLand Studio Duke" style="aspect-ratio:1280 / 719"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1280" height="719" alt="JavaLand Studio Duke" style="aspect-ratio:1280 / 719;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Zwei Tage Livestream von der JavaLand-Konferenz im Europa-Park Rust</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
2026-03-31T09:48:00.000Z
urn:bid:5055275
2026-03-31T08:48:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<div class="a-article-header__label">
WTF
</div>
<p class="a-article-header__lead" dir="ltr">
GitHub Copilot hat bei Pull Requests ungefragt mit Hinweisen auf kommerzielle Produkte "geholfen". Inzwischen hat GitHub das Verhalten deaktiviert.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Advertisement-or-tip-GitHub-Copilot-added-product-tips-to-pull-requests-11241254.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FWerbung-oder-Hinweis-GitHub-Copilot-erweiterte-Pull-Requests-um-Produkttipps-11240850.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FWerbung-oder-Hinweis-GitHub-Copilot-erweiterte-Pull-Requests-um-Produkttipps-11240850.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Werbung-oder-Hinweis-GitHub-Copilot-erweiterte-Pull-Requests-um-Produkttipps-11240850.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/GitHub-blendet-Werbung-in-Pull-Requests-ein-Entwickler-laufen-Sturm/forum-580261/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Sales,Gimmick"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Everett Collection / Shutterstock)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T10:48:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">10:48
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Rainald-Menge-Sonnentag-4582362"
class="creator__link"
>Rainald Menge-Sonnentag</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Advertisement-or-tip-GitHub-Copilot-added-product-tips-to-pull-requests-11241254.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>GitHub Copilot hat in Pull Requests ungefragt Produkthinweise eingebaut, die deutlich nach Werbung aussehen. Die vermeintlich freundlichen Tipps finden sich nicht nur in den Pull Requests, die Copilot erstellt hat, sondern auch in solchen, die der KI-Helfer nur bearbeitet hat. Nach Verwunderung und Protesten hat GitHub das Verhalten nun deaktiviert.</p>
<h3 class="subheading" id="nav_fehlerkorrektur__0">Fehlerkorrektur mit Werbebonus</h3>
<p>Der Entwickler Zach Manson hat am 30. März <a href="https://notes.zachmanson.com/copilot-edited-an-ad-into-my-pr/" rel="external noopener" target="_blank">einen Screenshot eines Pull Request veröffentlicht</a>, bei dem Copilot Tippfehler korrigieren sollte und der nach der Korrektur einen zusätzlichen Hinweis enthielt: „Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast“. Das Wort Raycast hat Copilot freundlicherweise direkt mit einem Link zum Produktivitätstool versehen.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/5/2/7/5/copilot-ad-08eb1e6d9dd8a7f2.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/5/2/7/5/copilot-ad-08eb1e6d9dd8a7f2.png">
<a-img alt="Screenshot von Copilot PR mit Produkthinweis" height="631" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/5/2/7/5/copilot-ad-08eb1e6d9dd8a7f2.png" style="
aspect-ratio: 975 / 631;" width="975">
<img alt="Screenshot von Copilot PR mit Produkthinweis" height="631" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 975 / 631; object-fit: cover;" width="975">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Der Entwickler Zach Manson hat einen Screenshot des erweiterten Pull Requests gepostet.</div>
<p class="a-caption__source">
(Bild: <a href="https://notes.zachmanson.com/copilot-edited-an-ad-into-my-pr/" rel="external noopener" target="_blank">Zach Manson</a>)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Der Pull Request von Zach Manson war kein Einzelfall: Eine <a href="https://github.com/search?q=%22Quickly+spin+up+Copilot+coding+agent+tasks+from+anywhere+on+your+macOS+or+Windows+machine+with+Raycast%22&type=pullrequests" rel="external noopener" target="_blank">Suche auf GitHub</a> zeigt denselben Hinweis in gut 11.000 Pull Requests.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_über_1_5__1">Über 1,5 Millionen Pull Requests und auch GitLab betroffen</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Offenbar hat Raycast die Werbung nicht einmal selbst beauftragt. Ein <a href="https://www.neowin.net/news/microsoft-copilot-is-now-injecting-ads-into-pull-requests-on-github-gitlab/" rel="external noopener" target="_blank">Artikel auf Neowin</a> zeigt, dass sich im Markdown zum Pull Request der versteckte HTML-Kommentar „START COPILOT CODING AGENT TIPS“ findet.</p>
<p>Neowin hat ähnliche „Hinweise“ auf weitere Produkte in insgesamt 1,5 Millionen Pull Requests gefunden und den Raycast-Tipp nicht nur auf GitHub, sondern auch in <a href="https://gitlab.tudelft.nl/thomasvermeule/GeneralAviationAircraftFamilyBenchmark/-/merge_requests/7" rel="external noopener" target="_blank">mit Copilot bearbeiteten Merge Requests auf GitLab</a> entdeckt. „Nützliche Hinweise“ gab es auch zu Integrationen für Slack und Microsoft Teams sowie zum Starten von Copilot-Aufgaben direkt aus Editoren wie VS Code, Visual Studio, JetBrains-IDEs und Eclipse.</p>
<h3 class="subheading" id="nav_keine__2">Keine ungefragten Hinweise mehr</h3>
<p>Inzwischen ist GitHub zurückgerudert. <a href="https://news.ycombinator.com/item?id=47573233" rel="external noopener" target="_blank">Auf Hacker News hat Tim Rogers aus dem Copilot-Coding-Agent-Team geschrieben</a>, dass die Pull Requests nun keine Hinweise mehr enthalten. „Wir haben in den vom Copilot-Coding-Agent erstellten PRs Produkttipps eingefügt. Das Ziel war es, Entwicklern dabei zu helfen, neue Möglichkeiten für den Einsatz des Agenten in ihrem Arbeitsablauf zu entdecken. Doch angesichts des Feedbacks hier und nach reiflicher Überlegung war die Entscheidung falsch. Wir werden so etwas nicht wieder tun.“</p>
<p>Auf X hat Martin Woodward von GitHubs Developer-Relations-Team geschrieben, dass die Tipps ursprünglich für vollständig von Copilot erstellte Pull-Requests gedacht und da noch ganz in Ordnung waren, aber es wurde eklig, als Copilot sich in jeden PR einmischte, bei dem er mitmischte.</p>
<p><embetty-tweet status="2038612131084464521"></embetty-tweet></p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11240850"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11240850: GitHub blendet Werbung in Pull Requests ein – Entwickler laufen Sturm"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<div class="a-article-header__label">
WTF
</div>
<p class="a-article-header__lead" dir="ltr">
GitHub Copilot hat bei Pull Requests ungefragt mit Hinweisen auf kommerzielle Produkte "geholfen". Inzwischen hat GitHub das Verhalten deaktiviert.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Advertisement-or-tip-GitHub-Copilot-added-product-tips-to-pull-requests-11241254.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FWerbung-oder-Hinweis-GitHub-Copilot-erweiterte-Pull-Requests-um-Produkttipps-11240850.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FWerbung-oder-Hinweis-GitHub-Copilot-erweiterte-Pull-Requests-um-Produkttipps-11240850.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Werbung-oder-Hinweis-GitHub-Copilot-erweiterte-Pull-Requests-um-Produkttipps-11240850.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/GitHub-blendet-Werbung-in-Pull-Requests-ein-Entwickler-laufen-Sturm/forum-580261/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/2/7/5/wtf_shutterstock_94265785-8dbd67a6b0b2c758.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Sales,Gimmick"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Everett Collection / Shutterstock)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T10:48:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">10:48
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Rainald-Menge-Sonnentag-4582362"
class="creator__link"
>Rainald Menge-Sonnentag</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Advertisement-or-tip-GitHub-Copilot-added-product-tips-to-pull-requests-11241254.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>GitHub Copilot hat in Pull Requests ungefragt Produkthinweise eingebaut, die deutlich nach Werbung aussehen. Die vermeintlich freundlichen Tipps finden sich nicht nur in den Pull Requests, die Copilot erstellt hat, sondern auch in solchen, die der KI-Helfer nur bearbeitet hat. Nach Verwunderung und Protesten hat GitHub das Verhalten nun deaktiviert.</p>
<h3 class="subheading" id="nav_fehlerkorrektur__0">Fehlerkorrektur mit Werbebonus</h3>
<p>Der Entwickler Zach Manson hat am 30. März <a href="https://notes.zachmanson.com/copilot-edited-an-ad-into-my-pr/" rel="external noopener" target="_blank">einen Screenshot eines Pull Request veröffentlicht</a>, bei dem Copilot Tippfehler korrigieren sollte und der nach der Korrektur einen zusätzlichen Hinweis enthielt: „Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast“. Das Wort Raycast hat Copilot freundlicherweise direkt mit einem Link zum Produktivitätstool versehen.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/5/2/7/5/copilot-ad-08eb1e6d9dd8a7f2.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/5/2/7/5/copilot-ad-08eb1e6d9dd8a7f2.png">
<a-img alt="Screenshot von Copilot PR mit Produkthinweis" height="631" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/5/2/7/5/copilot-ad-08eb1e6d9dd8a7f2.png" style="
aspect-ratio: 975 / 631;" width="975">
<img alt="Screenshot von Copilot PR mit Produkthinweis" height="631" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 975 / 631; object-fit: cover;" width="975">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Der Entwickler Zach Manson hat einen Screenshot des erweiterten Pull Requests gepostet.</div>
<p class="a-caption__source">
(Bild: <a href="https://notes.zachmanson.com/copilot-edited-an-ad-into-my-pr/" rel="external noopener" target="_blank">Zach Manson</a>)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Der Pull Request von Zach Manson war kein Einzelfall: Eine <a href="https://github.com/search?q=%22Quickly+spin+up+Copilot+coding+agent+tasks+from+anywhere+on+your+macOS+or+Windows+machine+with+Raycast%22&type=pullrequests" rel="external noopener" target="_blank">Suche auf GitHub</a> zeigt denselben Hinweis in gut 11.000 Pull Requests.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_über_1_5__1">Über 1,5 Millionen Pull Requests und auch GitLab betroffen</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Offenbar hat Raycast die Werbung nicht einmal selbst beauftragt. Ein <a href="https://www.neowin.net/news/microsoft-copilot-is-now-injecting-ads-into-pull-requests-on-github-gitlab/" rel="external noopener" target="_blank">Artikel auf Neowin</a> zeigt, dass sich im Markdown zum Pull Request der versteckte HTML-Kommentar „START COPILOT CODING AGENT TIPS“ findet.</p>
<p>Neowin hat ähnliche „Hinweise“ auf weitere Produkte in insgesamt 1,5 Millionen Pull Requests gefunden und den Raycast-Tipp nicht nur auf GitHub, sondern auch in <a href="https://gitlab.tudelft.nl/thomasvermeule/GeneralAviationAircraftFamilyBenchmark/-/merge_requests/7" rel="external noopener" target="_blank">mit Copilot bearbeiteten Merge Requests auf GitLab</a> entdeckt. „Nützliche Hinweise“ gab es auch zu Integrationen für Slack und Microsoft Teams sowie zum Starten von Copilot-Aufgaben direkt aus Editoren wie VS Code, Visual Studio, JetBrains-IDEs und Eclipse.</p>
<h3 class="subheading" id="nav_keine__2">Keine ungefragten Hinweise mehr</h3>
<p>Inzwischen ist GitHub zurückgerudert. <a href="https://news.ycombinator.com/item?id=47573233" rel="external noopener" target="_blank">Auf Hacker News hat Tim Rogers aus dem Copilot-Coding-Agent-Team geschrieben</a>, dass die Pull Requests nun keine Hinweise mehr enthalten. „Wir haben in den vom Copilot-Coding-Agent erstellten PRs Produkttipps eingefügt. Das Ziel war es, Entwicklern dabei zu helfen, neue Möglichkeiten für den Einsatz des Agenten in ihrem Arbeitsablauf zu entdecken. Doch angesichts des Feedbacks hier und nach reiflicher Überlegung war die Entscheidung falsch. Wir werden so etwas nicht wieder tun.“</p>
<p>Auf X hat Martin Woodward von GitHubs Developer-Relations-Team geschrieben, dass die Tipps ursprünglich für vollständig von Copilot erstellte Pull-Requests gedacht und da noch ganz in Ordnung waren, aber es wurde eklig, als Copilot sich in jeden PR einmischte, bei dem er mitmischte.</p>
<p><embetty-tweet status="2038612131084464521"></embetty-tweet></p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11240850"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11240850: GitHub blendet Werbung in Pull Requests ein – Entwickler laufen Sturm"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
2026-03-31T08:48:00.000Z
urn:bid:5055002
2026-03-31T06:25:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Richard Seidl spricht mit André Köhler über die TACON, eine Konferenz mit klarem Fokus auf Testautomatisierung.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung-11230001.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung-11230001.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Software-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung-11230001.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Software-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung/forum-580247/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Software Testing: TACON, eine Praxis-Konferenz rund um Testautomatisierung"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Richard Seidl)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T08:25:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">08:25
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
1 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Richard Seidl</li>
<li class="creator__name">André Köhler</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>In dieser Episode sprechen Richard Seidl und André Köhler über die TACON, eine Konferenz mit klarem Fokus auf Testautomatisierung. Die beiden beleuchten, warum sie entstanden ist, was sie unterscheidet und wohin sie sich entwickelt. Praxisberichte aus Unternehmen, offene Einblicke in Stolpersteine und ein lernfreundliches Format prägen das Programm. Die familiäre Größe mit rund 130 Teilnehmenden und der feste Standort Leipzig schaffen Nähe, kurze Wege und abends tiefe Gespräche. Neue Elemente wie eine Gaming Area bringen Leichtigkeit.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<p><a href="http://www.linkedin.com/in/andrekoehler1" rel="external noopener" target="_blank">André Köhler</a> ist Gründer und Geschäftsführer von summit. Das Team von summit richtet zahlreiche Fachkonferenzen, Kongresse und Community Days rund um IT-Managementthemen aus. Dazu gehört auch die TACON (Test Automation Conference), die einmal jährlich stattfindet und interessierte Personen aus dieser Domäne zusammenbringt. Köhler ist darüber hinaus Professor für IT-Management an der IU Internationale Hochschule, wo er zu IT-Servicemanagement und IT-Projektmanagement lehrt und forscht.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5044016" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11208370"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/betterCode-Testing-2026-Programm-und-Online-Workshops-stehen-fest-11208370.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/4/4/0/1/6/bc__Testing-2026-Ticker-Header-16-9-113a2b66d0af0657.jpeg" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">betterCode() Testing 2026: Programm und Online-Workshops stehen fest</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Richard Seidl spricht mit André Köhler über die TACON, eine Konferenz mit klarem Fokus auf Testautomatisierung.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung-11230001.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung-11230001.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Software-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung-11230001.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Software-Testing-TACON-Eine-Praxis-Konferenz-rund-um-Testautomatisierung/forum-580247/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/5/0/0/2/tacon-konferenz-2560x1440-0e7a65f52cb0d891.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Software Testing: TACON, eine Praxis-Konferenz rund um Testautomatisierung"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Richard Seidl)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-31T08:25:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">08:25
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
1 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Richard Seidl</li>
<li class="creator__name">André Köhler</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>In dieser Episode sprechen Richard Seidl und André Köhler über die TACON, eine Konferenz mit klarem Fokus auf Testautomatisierung. Die beiden beleuchten, warum sie entstanden ist, was sie unterscheidet und wohin sie sich entwickelt. Praxisberichte aus Unternehmen, offene Einblicke in Stolpersteine und ein lernfreundliches Format prägen das Programm. Die familiäre Größe mit rund 130 Teilnehmenden und der feste Standort Leipzig schaffen Nähe, kurze Wege und abends tiefe Gespräche. Neue Elemente wie eine Gaming Area bringen Leichtigkeit.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<p><a href="http://www.linkedin.com/in/andrekoehler1" rel="external noopener" target="_blank">André Köhler</a> ist Gründer und Geschäftsführer von summit. Das Team von summit richtet zahlreiche Fachkonferenzen, Kongresse und Community Days rund um IT-Managementthemen aus. Dazu gehört auch die TACON (Test Automation Conference), die einmal jährlich stattfindet und interessierte Personen aus dieser Domäne zusammenbringt. Köhler ist darüber hinaus Professor für IT-Management an der IU Internationale Hochschule, wo er zu IT-Servicemanagement und IT-Projektmanagement lehrt und forscht.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5044016" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11208370"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/betterCode-Testing-2026-Programm-und-Online-Workshops-stehen-fest-11208370.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/4/4/0/1/6/bc__Testing-2026-Ticker-Header-16-9-113a2b66d0af0657.jpeg" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">betterCode() Testing 2026: Programm und Online-Workshops stehen fest</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
2026-03-31T06:25:00.000Z
urn:bid:5054980
2026-03-30T12:50:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Automatische Updates, Silent Install, App-Repo-Verknüpfung und Signaturprüfung: GitHub Store wird mit Version 1.7.0 zum Power-User-Werkzeug.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/GitHub-Store-1-7-0-Updates-without-click-security-without-root-11240372.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FGitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root-11229957.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FGitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root-11229957.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/GitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root-11229957.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/GitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root/forum-580216/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Github-Logo an Gebäudewand"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Sundry Photography / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-30T14:50:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>30.03.2026,
</span>
<span class="a-datetime__time ">14:50
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/GitHub-Store-1-7-0-Updates-without-click-security-without-root-11240372.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>GitHub Store baut in Version 1.7.0 seine Open-Source-Software deutlich in Richtung Automatisierung und Power-User-Funktionen aus. Im Mittelpunkt stehen automatische Hintergrund-Updates mit optionaler Silent-Installation unter Android, eine neue Funktion zum Verknüpfen installierter Apps mit ihren GitHub-Repositories (genannt „Link Apps“) sowie eine überarbeitete Einstellungsoberfläche. Hinzu kommen Sicherheitsfunktionen wie eine APK-Signaturprüfung und Unterstützung für GitHub Artifact Attestations.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der GitHub Store nutzt GitHub-Repositories als Quelle für Anwendungen. Nutzer installieren Apps direkt aus den Release-Artefakten, verfolgen Updates und beziehen Open-Source-Software ohne klassischen App-Store. Das Projekt versteht sich als Alternative zu Plattformen wie F-Droid, allerdings mit GitHub als zentralem Distributionskanal. Das Projekt ist trotz des Namens kein offizielles Microsoft-Produkt.</p>
<h3 class="subheading" id="nav_updates_im__0">Updates im Hintergrund – ohne Antippen</h3>
<p>Zu den wichtigsten Neuerungen gehört die Kombination aus automatischen Update-Prüfungen und Silent-Installation. Nutzer legen fest, in welchem Intervall – zwischen drei und 24 Stunden – der Client nach neuen Versionen sucht. In Verbindung mit Shizuku installiert er Updates unter Android ohne weitere Interaktion. Shizuku ermöglicht den Zugriff auf privilegierte System-APIs, ohne dass Root-Rechte nötig sind. So bleiben auch häufig aktualisierte Tools oder Nightly-Builds automatisch auf dem neuesten Stand, ohne dass APK-Dateien manuell installiert werden müssen.</p>
<p>Die neue Funktion „Link Apps“ verknüpft lokal installierte Anwendungen mit ihren GitHub-Repositories. Nutzer wählen eine installierte App aus, hinterlegen die Repository-URL und ordnen das passende Release-Asset zu. Der Client prüft Paketname und Signaturschlüssel, um die korrekte Zuordnung sicherzustellen. Das löst ein häufiges Problem bei GitHub-basierten Installationen: Releases lassen sich nicht immer eindeutig einer installierten App zuordnen. Nach der Verknüpfung übernimmt der Store das Update-Tracking automatisch. Verknüpfungen lassen sich außerdem exportieren und wieder importieren – praktisch beim Gerätewechsel.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Zum Verbessern der Sicherheit prüft Version 1.7.0 vor jeder Installation die APK-Signatur. Der Client gleicht Fingerprints ab, um Manipulationen oder inkonsistente Releases zu erkennen. Zusätzlich unterstützt er GitHub Artifact Attestations. Hierbei handelt es sich um signierte Metadaten, mit denen sich Herkunft und Integrität eines Build-Artefakts nachvollziehen lassen, etwa im Sinne von SLSA. Stimmen Signaturschlüssel nicht überein, zeigt der Client eine Warnung an.</p>
<h3 class="subheading" id="nav_einstellungen__1">Einstellungen zentral gebündelt</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die Einstellungen hat das Projekt in einem neuen „Tweaks Screen“ zusammengefasst. Kategorien wie Netzwerk, Updates, Installation oder Darstellung sind dort zentral konfigurierbar. Der Profilbereich beschränkt sich nun auf Account- und Sammlungsfunktionen.</p>
<p>Außerdem bringt das Release eine Reihe von Komfort- und Discovery-Verbesserungen. Der Client speichert Suchverläufe lokal und löst Suchanfragen nur noch bei expliziter Bestätigung aus – das spart unnötige API-Aufrufe. Eine Zuletzt-Angesehen-Übersicht (Recently Viewed) zeigt zuletzt geöffnete Repositories an. Außerdem unterstützt der Home-Bildschirm nun themenbasiertes Filtern von Projekten anhand von GitHub Topics – Caching sorgt dabei für schnelle Ergebnisse. Bereits betrachtete Repositories lassen sich als „gesehen“ markieren und aus dem Feed ausblenden.</p>
<p>Neben den neuen Funktionen behebt Version 1.7.0 zahlreiche Fehler, unter anderem bei Netzwerk- und Proxy-Verbindungen auf dem Desktop sowie beim Umgang mit Downloads und Paketinstallationen. Für Linux-Desktop-Nutzer führt das Release außerdem Flatpak-Unterstützung ein. Die <a href="http://www.heise.de/news/GitHub-Store-1-6-0-Plattformuebergreifender-App-Store-fuer-Open-Source-11196528.html">Vorgängerversion 1.6.0</a> hatte den Linux-Support deutlich ausgebaut. Auch die Build-Infrastruktur wurde überarbeitet: Das Projekt integriert ktlint und führt Gradle-Builds nun parallel aus. Alle Änderungen im Detail listen die <a href="https://github.com/OpenHub-Store/GitHub-Store/releases/tag/1.7.0" rel="external noopener" target="_blank">Release Notes auf GitHub</a> auf.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11229957"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11229957: GitHub Store 1.7.0: Updates ohne Klick, Sicherheit ohne Root"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Automatische Updates, Silent Install, App-Repo-Verknüpfung und Signaturprüfung: GitHub Store wird mit Version 1.7.0 zum Power-User-Werkzeug.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/GitHub-Store-1-7-0-Updates-without-click-security-without-root-11240372.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FGitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root-11229957.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FGitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root-11229957.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/GitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root-11229957.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/GitHub-Store-1-7-0-Updates-ohne-Klick-Sicherheit-ohne-Root/forum-580216/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/9/8/0/shutterstock_1569354004-7ed74448d7cc309a.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Github-Logo an Gebäudewand"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Sundry Photography / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-30T14:50:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>30.03.2026,
</span>
<span class="a-datetime__time ">14:50
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/GitHub-Store-1-7-0-Updates-without-click-security-without-root-11240372.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>GitHub Store baut in Version 1.7.0 seine Open-Source-Software deutlich in Richtung Automatisierung und Power-User-Funktionen aus. Im Mittelpunkt stehen automatische Hintergrund-Updates mit optionaler Silent-Installation unter Android, eine neue Funktion zum Verknüpfen installierter Apps mit ihren GitHub-Repositories (genannt „Link Apps“) sowie eine überarbeitete Einstellungsoberfläche. Hinzu kommen Sicherheitsfunktionen wie eine APK-Signaturprüfung und Unterstützung für GitHub Artifact Attestations.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der GitHub Store nutzt GitHub-Repositories als Quelle für Anwendungen. Nutzer installieren Apps direkt aus den Release-Artefakten, verfolgen Updates und beziehen Open-Source-Software ohne klassischen App-Store. Das Projekt versteht sich als Alternative zu Plattformen wie F-Droid, allerdings mit GitHub als zentralem Distributionskanal. Das Projekt ist trotz des Namens kein offizielles Microsoft-Produkt.</p>
<h3 class="subheading" id="nav_updates_im__0">Updates im Hintergrund – ohne Antippen</h3>
<p>Zu den wichtigsten Neuerungen gehört die Kombination aus automatischen Update-Prüfungen und Silent-Installation. Nutzer legen fest, in welchem Intervall – zwischen drei und 24 Stunden – der Client nach neuen Versionen sucht. In Verbindung mit Shizuku installiert er Updates unter Android ohne weitere Interaktion. Shizuku ermöglicht den Zugriff auf privilegierte System-APIs, ohne dass Root-Rechte nötig sind. So bleiben auch häufig aktualisierte Tools oder Nightly-Builds automatisch auf dem neuesten Stand, ohne dass APK-Dateien manuell installiert werden müssen.</p>
<p>Die neue Funktion „Link Apps“ verknüpft lokal installierte Anwendungen mit ihren GitHub-Repositories. Nutzer wählen eine installierte App aus, hinterlegen die Repository-URL und ordnen das passende Release-Asset zu. Der Client prüft Paketname und Signaturschlüssel, um die korrekte Zuordnung sicherzustellen. Das löst ein häufiges Problem bei GitHub-basierten Installationen: Releases lassen sich nicht immer eindeutig einer installierten App zuordnen. Nach der Verknüpfung übernimmt der Store das Update-Tracking automatisch. Verknüpfungen lassen sich außerdem exportieren und wieder importieren – praktisch beim Gerätewechsel.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Zum Verbessern der Sicherheit prüft Version 1.7.0 vor jeder Installation die APK-Signatur. Der Client gleicht Fingerprints ab, um Manipulationen oder inkonsistente Releases zu erkennen. Zusätzlich unterstützt er GitHub Artifact Attestations. Hierbei handelt es sich um signierte Metadaten, mit denen sich Herkunft und Integrität eines Build-Artefakts nachvollziehen lassen, etwa im Sinne von SLSA. Stimmen Signaturschlüssel nicht überein, zeigt der Client eine Warnung an.</p>
<h3 class="subheading" id="nav_einstellungen__1">Einstellungen zentral gebündelt</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die Einstellungen hat das Projekt in einem neuen „Tweaks Screen“ zusammengefasst. Kategorien wie Netzwerk, Updates, Installation oder Darstellung sind dort zentral konfigurierbar. Der Profilbereich beschränkt sich nun auf Account- und Sammlungsfunktionen.</p>
<p>Außerdem bringt das Release eine Reihe von Komfort- und Discovery-Verbesserungen. Der Client speichert Suchverläufe lokal und löst Suchanfragen nur noch bei expliziter Bestätigung aus – das spart unnötige API-Aufrufe. Eine Zuletzt-Angesehen-Übersicht (Recently Viewed) zeigt zuletzt geöffnete Repositories an. Außerdem unterstützt der Home-Bildschirm nun themenbasiertes Filtern von Projekten anhand von GitHub Topics – Caching sorgt dabei für schnelle Ergebnisse. Bereits betrachtete Repositories lassen sich als „gesehen“ markieren und aus dem Feed ausblenden.</p>
<p>Neben den neuen Funktionen behebt Version 1.7.0 zahlreiche Fehler, unter anderem bei Netzwerk- und Proxy-Verbindungen auf dem Desktop sowie beim Umgang mit Downloads und Paketinstallationen. Für Linux-Desktop-Nutzer führt das Release außerdem Flatpak-Unterstützung ein. Die <a href="http://www.heise.de/news/GitHub-Store-1-6-0-Plattformuebergreifender-App-Store-fuer-Open-Source-11196528.html">Vorgängerversion 1.6.0</a> hatte den Linux-Support deutlich ausgebaut. Auch die Build-Infrastruktur wurde überarbeitet: Das Projekt integriert ktlint und führt Gradle-Builds nun parallel aus. Alle Änderungen im Detail listen die <a href="https://github.com/OpenHub-Store/GitHub-Store/releases/tag/1.7.0" rel="external noopener" target="_blank">Release Notes auf GitHub</a> auf.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11229957"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11229957: GitHub Store 1.7.0: Updates ohne Klick, Sicherheit ohne Root"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
2026-03-30T12:50:00.000Z
urn:bid:5054703
2026-03-30T09:33:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
XPipe 22.0 bietet flexiblere Authentifizierung, eine erweiterte Integration von Passwordmanagern und Verbesserungen bei Containern.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/XPipe-22-0-More-flexible-authentication-and-password-managers-with-SSH-agents-11229594.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FXPipe-22-0-Flexiblere-Authentifizierung-und-Passwordmanager-mit-SSH-Agenten-11229414.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FXPipe-22-0-Flexiblere-Authentifizierung-und-Passwordmanager-mit-SSH-Agenten-11229414.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/XPipe-22-0-Flexiblere-Authentifizierung-und-Passwordmanager-mit-SSH-Agenten-11229414.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/XPipe-22-0-Passwortmanager-werden-zum-SSH-Schluesselbund/forum-580196/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Eine Benutzeroberfläche zur Verwaltung von Serververbindungen, Skripten und Identitäten."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: XPipe)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-30T11:33:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>30.03.2026,
</span>
<span class="a-datetime__time ">11:33
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/XPipe-22-0-More-flexible-authentication-and-password-managers-with-SSH-agents-11229594.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>XPipe liegt in Version 22.0 vor. Das Update bringt vor allem eine flexiblere Authentifizierung, eine ausgebaute Integration von Passwordmanagern und Verbesserungen bei Containern. Im Zentrum stehen Multi-Identitäten und die direkte Nutzung von SSH-Agenten aus gängigen Passwort-Tools.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Das Open-Core-Projekt richtet sich an Administratoren, DevOps-Teams und alle Nutzer, die viele Remote-Verbindungen und Shells einsetzen. Es dient als zentrale Oberfläche zum Starten und Verwalten von SSH-, Container-, VM- und weiteren Infrastruktur-Verbindungen.</p>
<p>Nutzer können jetzt mehrere Identitäten pro Zielsystem hinterlegen und zwischen ihnen wechseln. In Team-Vaults wählt XPipe automatisch eine verfügbare lokale Identität, wenn referenzierte Identitäten für den aktuellen Anwender nicht verfügbar sind. Statt mehrere Verbindungen für denselben Host anzulegen, können unterschiedliche Nutzer oder Rollen innerhalb einer Verbindung koexistieren.</p>
<h3 class="subheading" id="nav_passwordmanager__0">Passwordmanager mit SSH-Agent-Support</h3>
<p>XPipe unterstützt nun die SSH-Agenten von 1Password, Bitwarden, KeePassXC, Keeper und Proton Pass direkt. Laufende Agenten erkennt das Tool automatisch – eine manuelle Socket-Konfiguration entfällt. Zugangsdaten und SSH-Keys bezieht es gemeinsam aus dem Passwordmanager, was lokale Key-Dateien überflüssig machen kann. Schlüssel lassen sich im Agent-Feld auch über ihren Namen referenzieren, sofern der eingesetzte Passwortmanager das unterstützt. Darüber hinaus unterstützt XPipe jetzt mehrere 1Password-Konten gleichzeitig, zusätzliche Paketierungsformen von Bitwarden, KeePassXC und Keeper sowie nun auch Proton Pass; außerdem kann XPipe Secrets aus HashiCorp Vault abrufen.</p>
<p>Für Incus und LXD erkennt XPipe nun Container über alle Projekte, also getrennte Verwaltungsbereiche ähnlich Namensräumen, hinweg. Wenn ein Container eine IP-Adresse meldet, kann XPipe diese zum direkten Öffnen von Diensten nutzen, etwa für RDP- oder VNC-Verbindungen.</p>
<p>Für Podman verbessert Version 22.0 den Umgang mit Quadlets, also systemd-basierten Containerdefinitionen. XPipe erkennt zugehörige Unit-Files und erlaubt deren Bearbeitung. Ein Neustart greift korrekt auf den systemd-Service durch, statt nur den Container isoliert neu zu starten.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_erweiterte__1">Erweiterte Suche und Schnellzugriff</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die Suchleiste nimmt jetzt direkte Befehle entgegen. Wer etwa <code>ssh user@host</code> eingibt, startet sofort die passende Verbindung oder landet in einem Quick-Connect-Dialog. Die Filterung soll zudem spürbar schneller bei großen Verbindungslisten reagieren.</p>
<p>Kategorien lassen sich jetzt mit eigenen Icons versehen. Theme-Wechsel laufen flüssiger, und der neue Shortcut Strg+T öffnet das <a href="http://www.heise.de/news/XPipe-21-0-Terminal-Docking-fuer-Windows-und-Cisco-Switch-Integration-11170332.html">Terminal-Dock, das in der Vorgängerversion eingeführt wurde</a>. Hinzu kommen zahlreiche Bugfixes, unter anderem bei SSH-Aliasen, gemischten Shell-Umgebungen und auf Windows-Systemen. Alle Informationen zu XPipe 22.0 finden sich in den <a href="https://github.com/xpipe-io/xpipe/releases/tag/22.0" rel="external noopener" target="_blank">Release Notes</a>.</p>
<p><em>Siehe auch:</em></p>
<ul class="rte__list rte__list--unordered"><li><a href="http://www.heise.de/download/product/xpipe?wt_mc=intern.red.download.tickermeldung.ho.link.link" rel="external noopener" target="_blank">XPipe</a> bei heise download</li></ul>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11229414"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11229414: XPipe 22.0: Passwortmanager werden zum SSH-Schlüsselbund"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
XPipe 22.0 bietet flexiblere Authentifizierung, eine erweiterte Integration von Passwordmanagern und Verbesserungen bei Containern.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/XPipe-22-0-More-flexible-authentication-and-password-managers-with-SSH-agents-11229594.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FXPipe-22-0-Flexiblere-Authentifizierung-und-Passwordmanager-mit-SSH-Agenten-11229414.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FXPipe-22-0-Flexiblere-Authentifizierung-und-Passwordmanager-mit-SSH-Agenten-11229414.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/XPipe-22-0-Flexiblere-Authentifizierung-und-Passwordmanager-mit-SSH-Agenten-11229414.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/XPipe-22-0-Passwortmanager-werden-zum-SSH-Schluesselbund/forum-580196/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/7/0/3/xpipe-97e8deb019722fd5.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Eine Benutzeroberfläche zur Verwaltung von Serververbindungen, Skripten und Identitäten."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: XPipe)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-03-30T11:33:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>30.03.2026,
</span>
<span class="a-datetime__time ">11:33
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/XPipe-22-0-More-flexible-authentication-and-password-managers-with-SSH-agents-11229594.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>XPipe liegt in Version 22.0 vor. Das Update bringt vor allem eine flexiblere Authentifizierung, eine ausgebaute Integration von Passwordmanagern und Verbesserungen bei Containern. Im Zentrum stehen Multi-Identitäten und die direkte Nutzung von SSH-Agenten aus gängigen Passwort-Tools.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Das Open-Core-Projekt richtet sich an Administratoren, DevOps-Teams und alle Nutzer, die viele Remote-Verbindungen und Shells einsetzen. Es dient als zentrale Oberfläche zum Starten und Verwalten von SSH-, Container-, VM- und weiteren Infrastruktur-Verbindungen.</p>
<p>Nutzer können jetzt mehrere Identitäten pro Zielsystem hinterlegen und zwischen ihnen wechseln. In Team-Vaults wählt XPipe automatisch eine verfügbare lokale Identität, wenn referenzierte Identitäten für den aktuellen Anwender nicht verfügbar sind. Statt mehrere Verbindungen für denselben Host anzulegen, können unterschiedliche Nutzer oder Rollen innerhalb einer Verbindung koexistieren.</p>
<h3 class="subheading" id="nav_passwordmanager__0">Passwordmanager mit SSH-Agent-Support</h3>
<p>XPipe unterstützt nun die SSH-Agenten von 1Password, Bitwarden, KeePassXC, Keeper und Proton Pass direkt. Laufende Agenten erkennt das Tool automatisch – eine manuelle Socket-Konfiguration entfällt. Zugangsdaten und SSH-Keys bezieht es gemeinsam aus dem Passwordmanager, was lokale Key-Dateien überflüssig machen kann. Schlüssel lassen sich im Agent-Feld auch über ihren Namen referenzieren, sofern der eingesetzte Passwortmanager das unterstützt. Darüber hinaus unterstützt XPipe jetzt mehrere 1Password-Konten gleichzeitig, zusätzliche Paketierungsformen von Bitwarden, KeePassXC und Keeper sowie nun auch Proton Pass; außerdem kann XPipe Secrets aus HashiCorp Vault abrufen.</p>
<p>Für Incus und LXD erkennt XPipe nun Container über alle Projekte, also getrennte Verwaltungsbereiche ähnlich Namensräumen, hinweg. Wenn ein Container eine IP-Adresse meldet, kann XPipe diese zum direkten Öffnen von Diensten nutzen, etwa für RDP- oder VNC-Verbindungen.</p>
<p>Für Podman verbessert Version 22.0 den Umgang mit Quadlets, also systemd-basierten Containerdefinitionen. XPipe erkennt zugehörige Unit-Files und erlaubt deren Bearbeitung. Ein Neustart greift korrekt auf den systemd-Service durch, statt nur den Container isoliert neu zu starten.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_erweiterte__1">Erweiterte Suche und Schnellzugriff</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die Suchleiste nimmt jetzt direkte Befehle entgegen. Wer etwa <code>ssh user@host</code> eingibt, startet sofort die passende Verbindung oder landet in einem Quick-Connect-Dialog. Die Filterung soll zudem spürbar schneller bei großen Verbindungslisten reagieren.</p>
<p>Kategorien lassen sich jetzt mit eigenen Icons versehen. Theme-Wechsel laufen flüssiger, und der neue Shortcut Strg+T öffnet das <a href="http://www.heise.de/news/XPipe-21-0-Terminal-Docking-fuer-Windows-und-Cisco-Switch-Integration-11170332.html">Terminal-Dock, das in der Vorgängerversion eingeführt wurde</a>. Hinzu kommen zahlreiche Bugfixes, unter anderem bei SSH-Aliasen, gemischten Shell-Umgebungen und auf Windows-Systemen. Alle Informationen zu XPipe 22.0 finden sich in den <a href="https://github.com/xpipe-io/xpipe/releases/tag/22.0" rel="external noopener" target="_blank">Release Notes</a>.</p>
<p><em>Siehe auch:</em></p>
<ul class="rte__list rte__list--unordered"><li><a href="http://www.heise.de/download/product/xpipe?wt_mc=intern.red.download.tickermeldung.ho.link.link" rel="external noopener" target="_blank">XPipe</a> bei heise download</li></ul>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11229414"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11229414: XPipe 22.0: Passwortmanager werden zum SSH-Schlüsselbund"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-sportuhr-im-test-garmin-vor-huawei-und-polar/hxd2jx4?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="4032" height="2266" src="https://www.heise.de/imgs/18/5/0/5/2/2/0/8/_-0539345f526aefd3.jpeg" style="aspect-ratio:4032 / 2266"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4032" height="2266" style="aspect-ratio:4032 / 2266;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Sportuhr im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-dashcam-fuers-auto-im-test-testsieger-garmin-vor-nextbase/7s7gh7t?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="2236" height="1257" src="https://www.heise.de/imgs/18/5/0/5/1/4/5/0/_-4ccf829ed6f4a521.jpeg" style="aspect-ratio:2236 / 1257"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2236" height="1257" style="aspect-ratio:2236 / 1257;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Dashcam fürs Auto im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-die-beste-soundbar-mit-subwoofer-im-test-jbl-vor-samsung-und-teufel/xkbd9gb?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4096" height="2302" src="https://www.heise.de/imgs/18/5/0/5/0/0/7/4/b8c8c355c09d916c.jpeg" style="aspect-ratio:4096 / 2302"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4096" height="2302" style="aspect-ratio:4096 / 2302;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Die beste Soundbar mit Subwoofer im Test</span></span></h3></header></div></a>
2026-03-30T09:33:00.000Z