Cloudflare hat die Veröffentlichung von EmDash 1.0 angekündigt, der stabilen Version des auf Astro basierenden Open-Source-Content-Management-Systems. Das System richtet sich an produktive Websites, Plattformen zur Website-Erstellung und zum Hosting sowie an Entwicklungs- und Redaktionsteams, die eine herkömmliche Verwaltungsoberfläche mit Werkzeugen verbinden möchten, die Software-Agenten über API, CLI und den integrierten MCP-Server nutzen können.
Cloudflare zufolge wurde die Version nach fünf Monaten der Erprobung realer Anwendungsfälle veröffentlicht. Im Mittelpunkt standen dabei Datensicherheit, die Migration von Datenbanken, redaktionelle Workflows, Lokalisierung, die Sicherheit von Erweiterungen, Leistung sowie die Zuverlässigkeit von Verwaltungsoberflächen, Programmierschnittstellen und Medienverwaltung. Als Beispiele für die Nutzung nannte das Unternehmen Avulux, das seine maßgeschneiderte Website zu EmDash migrierte, während Cloudflare sein Blog im August auf das System umstellte, um den Betrieb unter einem Datenverkehr von bis zu mehreren Millionen Besuchen pro Woche und Spitzen von 5.000 Anfragen pro Sekunde aus legitimen Zugriffen sowie vereinzelten DDoS-Angriffen zu testen.
Erweiterungen mit festgelegten Berechtigungen
Das Modell von EmDash unterscheidet sich von herkömmlichen Erweiterungen, die innerhalb desselben Prozesses ausgeführt werden und theoretisch weitreichenden Zugriff auf Datenbank, Dateien und Netzwerk besitzen. Jede Erweiterung in EmDash läuft in einer isolierten Umgebung mit eigenem Speicherbereich und hat standardmäßig keinen Zugriff auf Inhalte, Medien, Benutzer, Geheimnisse, das Dateisystem oder das Netzwerk.
Die Plattform zeigt die von einer Erweiterung angeforderten Berechtigungen vor ihrer Ausführung an. Eine Erweiterung erhält zusätzliche Fähigkeiten erst, nachdem sie diese angegeben hat und ein Website-Administrator zugestimmt hat. So kann einer Erweiterung beispielsweise die Berechtigung zum Lesen von Medien zur Bildoptimierung erteilt werden, ohne ihr Zugriff auf Benutzerinhalte zu gewähren. Ebenso kann ihr erlaubt werden, bestimmte Ereignisse zu lesen und Benachrichtigungen zu versenden, ohne Zugriff auf private Netzwerke oder den Speicher anderer Erweiterungen zu erhalten. Diese Grenzen werden durch die Laufzeitumgebung durchgesetzt und nicht allein durch die Verpflichtung des Entwicklers der Erweiterung.
Bei Cloudflare laufen die Erweiterungen als Dynamic Workers über den Worker Loader, während die Bereitstellung auf Node.js die Umgebung workerd als separaten Prozess verwendet. Beide Plattformen nutzen dieselben Metadaten und fähigkeitsbeschränkte Programmierschnittstellen, unterscheiden sich jedoch bei Konfiguration und Laufzeitumgebung.
Dezentrales Register für Erweiterungen
Mit Version 1.0 hat Cloudflare ein Erweiterungsregister eingeführt, das die Erweiterung selbst von dem Katalog trennt, der ihre Entdeckung und Installation ermöglicht. Der Entwickler verwaltet das Erweiterungspaket, dessen Versionsverlauf und seine Identität, während EmDash einen Standardkatalog bereitstellt, den andere Dienste indexieren oder durch alternative Kataloge mit unterschiedlichen Richtlinien ersetzen können.
Das Register basiert auf dem AT Protocol, das auch bei Bluesky verwendet wird. Paket- und Versionsdatensätze werden im Konto des Herausgebers veröffentlicht und von diesem signiert. EmDash prüft den Versionsdatensatz, den Paketnamen, die Versionsnummer, die Liste der angeforderten Berechtigungen und bei Bedarf die Build-Quelle. Anschließend wird sichergestellt, dass das heruntergeladene Paket mit dem signierten Datensatz übereinstimmt. Der Standardkatalog moderiert außerdem Namen, Beschreibungen, Links und Bilder, ohne die Version umzuschreiben oder zu besitzen.
Das Register unterstützt derzeit kostenlose Erweiterungen, während Cloudflare plant, künftig kostenpflichtige Erweiterungen zu ermöglichen. Das Unternehmen hat die Registerdienste, darunter den Aggregator und den Klassifizierungsdienst, der Workers AI verwendet, als Open-Source-Komponenten veröffentlicht.
Was ändert sich praktisch?
EmDash verbindet ein auf Astro basierendes Content-Management-System, eine native Integration mit Agentenwerkzeugen und ein stärker eingeschränktes Sicherheitsmodell für Erweiterungen. Das könnte für Entwicklungsteams interessant sein, die die Risiken bei der Installation externen Codes verringern möchten, sowie für Plattformen, die mehrere Websites verwalten und jeder Erweiterung so wenige Berechtigungen wie möglich gewähren müssen. Die Version macht eine Prüfung der Erweiterungen jedoch nicht überflüssig: Die Isolation begrenzt den Zugriffsbereich, während die Fähigkeit der Erweiterung, die ihr übertragene Aufgabe auszuführen, und die Folgen ihrer Einbindung weiterhin in der Verantwortung des Websitebetreibers liegen.
Cloudflare zufolge haben mehr als 175 Personen über mehr als 1.800 Änderungen zu dem Projekt beigetragen, und die Community hat EmDash in 25 Sprachen übersetzt. Das Unternehmen hat außerdem eine erste Open-Source-Version von EmDash Build veröffentlicht, einem Tool zur KI-gestützten Erstellung von Websites. Jedes Projekt erhält darin einen Cloudflare-Sandbox-Container und verwendet den MCP-Agenten zum Erstellen des Inhaltsmodells und der Seiten. Währenddessen zeichnen Artifacts die Änderungen als Git-Commits auf, bevor die Website auf Workers for Platforms bereitgestellt wird.
Eine Website kann lokal mit dem Befehl npm create emdash@latest erstellt werden. Offen bleiben Fragen zur Reife des Systems außerhalb der Cloudflare-Umgebung, zur Ausweitung des Erweiterungsökosystems und dazu, wie das dezentrale Zahlungsmodell bei seiner Einführung umgesetzt wird.