Cloudflare has unveiled EmDash, a novel open-source content management system aimed at providing a contemporary alternative to WordPress, emphasizing enhanced plugin security and a serverless architecture.
According to Cloudflare, WordPress plugins are deemed inherently insecure due to their direct access to a website’s database and filesystem. The company highlights that a significant 96% of security vulnerabilities in WordPress sites stem from plugins. EmDash, as explained by Cloudflare, addresses this issue by running each plugin within its own isolated sandbox, referred to as a Dynamic Worker. Plugins are required to specify the precise permissions they necessitate, such as content reading or email sending, and are restricted from accessing other resources.
EmDash is developed entirely in TypeScript and is distributed under the permissive MIT license, enabling unrestricted usage, modification, and distribution. Cloudflare asserts that no WordPress code was utilized in its creation. The CMS is compatible with Cloudflare’s serverless platform, automatically scaling down to zero during periods of inactivity to lower expenses. Additionally, it can be deployed on any Node.js server.
The system is fueled by Astro, a web framework tailored for content-centric websites. Themes are constructed as Astro projects and are incapable of executing database operations, thereby fortifying security.
EmDash integrates native support for x402, an open standard for pay-per-use content payments. Website owners have the option to monetize specific content without the need for subscription setups or custom code.
Cloudflare indicates that the CMS is designed to be overseen by AI agents, featuring agent skills, a command-line interface, and an embedded Model Context Protocol server. Authentication is primarily facilitated through passkeys, eliminating the reliance on passwords.
Users have the capability to import their existing WordPress sites using a WXR file or a dedicated exporter plugin. EmDash is currently accessible as a v0.1.0 preview on GitHub. Developers can experiment with it locally via `npm create emdash@latest` or opt for a Cloudflare deployment. An online playground for testing is also provided.
