EmDash vs Ghost: The Non-Obvious Newsletter CMS Choice

Choosing between Ghost and EmDash for your newsletter? The decision hinges on maturity versus architectural isolation.

By Central
A detailed comparison of Ghost and EmDash, focusing on cost, plugin security, and monetization models.
Highlights
  • Ghost runs on persistent Node.js servers, while EmDash uses serverless V8 isolates that charge per request.
  • EmDash plugins require capability manifests, preventing unauthorized access to subscriber data.
  • EmDash's 402 payment protocol allows pay-per-article sales without requiring a subscription.

You already know Ghost is the gold standard for newsletters. Built on Node.js, subscription-native, Stripe integrated. EmDash, Cloudflare’s new CMS, enters that conversation with a radically different architectural bet. The question isn’t which has better newsletter features today—it’s which survives your growth trajectory intact.

Ghost wins on maturity. EmDash wins on isolation. The choice depends on what you’re protecting: your readers’ trust or your infrastructure bill.

The question isn't which has better newsletter features today—it's which survives your growth trajectory intact.

The Architecture That Changes the Cost Curve

Ghost runs on a traditional Node.js server. You provision it, you pay for it, it stays on whether you have 10 subscribers or 10,000. That’s fine until your newsletter goes viral and your server buckles. You scale vertically, pay more, hope the billing cycle catches up.

EmDash runs on Cloudflare’s V8 isolates. No permanent server. When a subscriber opens an email and clicks through, a tiny compute context spins up in milliseconds, serves the page, and disappears. You pay per invocation, not per month.

Attribute EmDash Ghost
Runtime model Serverless V8 isolates Persistent Node.js process
Plugin isolation Sandboxed per capability manifest In-process, full access to Node
Newsletter monetization 402 payment protocol (pay-per-article) Stripe subscription model
Scaling cost Pay per request (starts at $5/mo) Pay per server size (starts ~$12/mo)
Developer tooling MCP server, CLI, agent skills REST API, webhooks, Zapier

The practical difference: a Ghost site with 50,000 subscribers sending weekly emails costs you the same server bill whether they open the email or not. EmDash only charges when someone actually visits. If your open rate is 30%, you’re paying for 15,000 visits instead of 50,000 server-hours.

The Plugin Model Nobody Talks About

Ghost has a plugin API. It’s clean, but it gives every plugin access to your database and file system. Same vulnerability pattern WordPress has, just less exploited because Ghost has fewer plugins.

EmDash flips that. Every plugin declares its capabilities upfront in a manifest. A plugin that sends welcome emails can request read:subscriberscodecode and email:sendcodecode. It cannot touch your content, your media library, or make outbound HTTP calls unless you explicitly grant those.

For a newsletter operation, this matters more than it sounds. Your subscriber database is your asset. A compromised analytics plugin on Ghost can exfiltrate your entire mailing list. On EmDash, that plugin would need a specific capability declaration—and you’d see it before installation.

The tradeoff: Ghost’s ecosystem has proven newsletter plugins. EmDash has zero. You’re building from scratch or waiting for the community.

The Secret Weapon: 402 Payments

Ghost’s subscription model is mature. Stripe handles recurring billing, tiered plans, free trials. It works. You’ve used it.

EmDash introduces something else: the 402 payment protocol. This lets you charge per article, per access, or per API call. For newsletters, this means you can sell individual deep-dives without forcing a subscription commitment. A reader pays $0.50 for one analysis piece instead of $10/month for everything.

The 402 protocol is open standard. It’s not Cloudflare-specific. But EmDash implements it natively, meaning your content can monetize directly without a middleware subscription plugin. Ghost can’t do this out of the box—you’d need a custom Stripe integration or a third-party paywall.

When Ghost Still Wins

EmDash is version 0.1.0. Ghost has production deployments powering newsletters with millions of subscribers. If you need to launch a newsletter next week, Ghost is the only responsible choice.

EmDash’s dependency on Cloudflare’s paid infrastructure is real. The sandboxed plugin model only works on the Workers paid plan. Self-host on Node.js and you lose the isolation advantage. Ghost runs on any VPS, any cloud provider, any hardware you own.

The ecosystem gap is the hardest problem. Ghost has hundreds of integrations, themes, and a mature community forum. EmDash has a GitHub repo with three core contributors. For a business relying on newsletter revenue, that’s not a bet you make today.

The Edge Case Where EmDash Wins

You’re building a newsletter for a security-conscious audience. Subscriber privacy is your product differentiator. You cannot risk a plugin vulnerability leaking email addresses.

Ghost’s architecture gives plugins full Node.js access. One compromised integration and your subscriber list is gone. EmDash’s sandboxed capability model makes that type of breach architecturally impossible—unless you explicitly grant the capability. For a privacy-first publication, that isolation is worth the ecosystem tradeoff.

You’re also betting that EmDash’s ecosystem will grow. If Cloudflare invests in plugin development tools and the MCP server enables AI-assisted plugin generation, the zero-plugin problem may resolve faster than the market expects. Ghost’s advantage is proven; EmDash’s advantage is structural.

Questions answered
  • What is the main difference between Ghost and EmDash?Ghost uses a traditional Node.js server, while EmDash runs on Cloudflare's serverless V8 isolates, charging per request instead of per month.
  • How does EmDash handle plugin security?EmDash requires each plugin to declare capabilities in a manifest, limiting access to only what is explicitly granted.
  • Can EmDash support pay-per-article monetization?Yes, EmDash introduces the 402 payment protocol, allowing readers to pay for individual articles without a subscription.
Share This Article