EdgeCMS

What it does today.

Everything on this page exists in the open-source framework that EdgeCMS Cloud runs.

Model anything from a blog to a menu.

Typed collections
Fields, relations, localization rules and lifecycle per collection.
Singletons
Exactly one entry for site settings, navigation or a homepage.
Per-field localization
Translate fields independently, with a default locale per collection.
Locale provenance
Public reads report which locale resolved and whether it cascaded.
Locale-exact fields
Legal or price fields that never cascade; promote refuses gaps.
Relations
One-to-one, one-to-many and many-to-many, resolved with a bounded depth.
Lifecycle
Draft, scheduled, published and archived, with publish and unpublish times.
Version history
Diff any two versions and roll back.

The design-partner loop: edit, snapshot, promote, roll back.

Atomic Edge Promote
Immutable KV snapshots; promote and roll back the published pointer in one step.
Same-Worker draft and published
Draft and published reads on one Worker — no second origin.
Visual edit
Click-to-edit overlays that PATCH the draft entry; keyboard and live region on the host.
Locale-exact readiness
Preview readiness before promote; refuse when a required locale is missing.
Partner demo loop
Scripted visual edit → locale check → promote → access denial for partner dry-runs.
Release-scoped semantic index
Optional promote-time index behind a feature flag.

One write path for people, sync and agents.

Typed commands
Create, update, delete, bulk update, link, schedule, publish, transaction.
Dry run
Returns the diff before execution.
Optimistic versions
Stale edits are rejected instead of overwriting newer work.
Replay protection
A repeated command runs at most once.
Hash-chained audit log
Every executed command is recorded, secrets redacted; chain export and verify.
SIEM webhook sink
Opt-in webhook or batch export of audit events for partner SecOps.

Keep editing when the connection drops.

Local copy
Schemas, entries and a command queue in the browser.
Queued edits
Offline changes replay as commands on reconnect.
Cursor sync
Push and pull against the change log.
Field-level conflicts
Localized fields merge independently.

Useful AI that cannot go around your rules.

Commands, not database writes
AI output is a command envelope, checked like any other.
MCP server
Tenant-scoped discovery, read, search and command tools with the caller’s permissions.
Semantic search
Search and retrieval over your content with Cloudflare Vectorize.
Model routing
Qwen first, Gemini as fallback, through Cloudflare AI Gateway.
Preview receipts
Execution must match the reviewed preview.
AI-assisted import
WordPress import as a non-destructive preview.

Images ready for every screen.

Browser-side optimization
Resize and convert to WebP or AVIF before upload.
Four variants
Thumbnail, small, medium and large, plus the original.
Format negotiation
AVIF, then WebP, then original; cached as immutable.
Per-workspace limits
Upload size, dimensions and file types.

Public reads designed to be served from cache.

Public REST API
List, get, singletons and image variants. Published content only.
Typed client
@edgecms/client and fetch examples for any frontend.
Layered cache
CDN, KV and memory in front of D1, with tag invalidation.
On-time scheduling
Scheduled content goes live at its time, cache included.
Latency instrumentation
Preview, delivery and promote samples join on release, channel, locale and request.
Public access receipts
Opt-in delivery grants; denials return a structured receipt. Off by default.
GraphQL reads
Over published content, guarded against expensive queries.
Webhooks
Queued delivery with retries and replay.

Workspaces, roles, ABAC and plugins.

Workspaces
Every route, cache key and file is scoped to one workspace.
Sign-in
Email and password, Google or Microsoft.
Roles
Built-in roles checked on every route, command and AI action.
Default-deny ABAC
Attribute checks on admin mutate paths; denials audited as abac.denied.
Security defaults
CSRF protection, rate limits and security headers on the admin.
Admin accessibility
Keyboard and screen-reader path for admin and visual-edit chrome, with automated checks in CI.
Trusted plugins
Plugins load from a reviewed catalog with declared permissions.
EdgeCMS content manager listing collections and a singleton
Fig. 3Collections and singletons. Sample data.
EdgeCMS collection editor defining typed, localizable fields
Fig. 4Collection schema. Sample data.

See it with your own content.

Join the private beta, or clone the repository and run it locally in a few minutes.