Cloudflare’s EmDash 1.0 makes sandboxed plugins ask for access first

Cloudflare released EmDash 1.0, a free, open source content management system that locks each sandboxed plugin in its own isolated runtime. A plugin starts with access to its own private storage. It cannot reach the site’s content, media, users, secrets, environment, filesystem, or network until it declares what it needs and a site administrator approves the request.

The people this protects are site owners who run code they did not write. Cloudflare pitches EmDash as the “spiritual successor to WordPress,” where plugins run inside the same PHP process as the rest of the application, with direct access to its database, filesystem, and network. A WordPress contact form plugin can technically read unpublished posts or send data anywhere, and the owner has to trust that it won’t, through every future update.

EmDash plugin security

A comparison of the WordPress and EmDash runtime architecture (Source: Cloudflare)

What a plugin can ask for

Cloudflare compares installing a plugin to installing a phone app. EmDash lists what a plugin wants before it runs, and the runtime holds it to that list. Each ability stands alone. A search plugin can read published articles and contact its search service, but it cannot edit articles or reach other hosts. An image optimizer gets the media library and no user content.

If you’ve ever tapped through a permissions prompt on a phone, you know the weak spot. The runtime enforces whatever the administrator approved, including approvals granted without a glance.

Signed releases, no central off switch

EmDash’s plugin registry runs on AT Protocol, the decentralized network behind Bluesky. Publishers sign their package and release records and store them in their own Atmosphere accounts. EmDash checks each release against a signed commit from the publisher’s account, then confirms the checksum, package name, version, requested access, and any required build provenance.

A signature proves who published a release. A hijacked publisher account would produce valid signatures too. Cloudflare also built the registry without a central controller that can take over or remove plugins. Moderation on EmDash’s own catalog can hide a listing’s name, description, links, and images, but the release itself stays published.

EmDash is available on GitHub.

Download: The IT leader’s guide to AI code sprawl

Don't miss