■ Features
The whole proof, page by page.
128 capabilities across 18 areas. 116 of them are in version 1.0; the rest are marked with the roadmap phase that brings them.
In 1.0Phase 3 On the roadmap
§ 01
Content modelling
Model content once as reusable pieces, and change the model whenever the business changes.
- Content and element types
- Document types for pages, element types for blocks, compositions to share field groups, singletons for one-off pages, and allowed-children rules for the tree.
- Block List and Block Grid
- Assemble pages from element types with separate content and settings, nested layouts in a grid, and presets editors start from.
- A full set of field types
- Rich text, pickers for content, media, members, and taxonomy terms, repeatable groups, links, embeds, locations, date ranges, tables, tags, and saved-query pickers.
- Model changes at any size
- Values are JSONB inside a relational shell, so changing a type on a 250,000-page site saves immediately: no server lock, no migration, no reindex.
- Filterable fields, indexed
- Fields marked filterable or sortable are materialized to indexed columns on save, so list queries stay fast without deep JSON scans.
- Taxonomies and saved queries
- Hierarchical vocabularies for tagging and navigation, and named queries editors can place in content and the Delivery API serves by alias.
- Navigation menus
- Menus built from the tree or by hand, per site and language, delivered as a single typed response.
- Identity that travels
- Every item has a global identifier that survives import and export, an optional unique alias for stable lookups, and optional short codes.
- Blueprints and bulk editing
- Start items from blueprints, and edit, move, tag, or find and replace across many items at once with a preview of every change.
§ 02
The editing experience
A backoffice designed like a press proof: calm, fast, keyboard-first, and accessible.
- The sheet and the track
- Each page is a sheet under a Draft → Review → Live track with one main button, a line of checks that opens a drawer, and comments in the margin.
- TipTap rich text
- Structured rich text stored as a document and delivered as both JSON and rendered HTML, with blocks, links, and media inside it.
- Autosave and presence
- Nothing is lost between saves, and editors see who else has an item open before they collide.
- Comments, mentions, and tasks
- Threads on content, media, translations, and approvals, with mentions that notify and tasks that can be assigned and closed.
- Jump anywhere
- The jump field (/ or Ctrl K) finds any page, place, or setting, and the Index (G) lays out every room of the backoffice.
- Six rooms
- Today, Content, Library, Audience, Build, and Settings group the work by what people do, with Today as the dashboard's face.
- Tree, list, and board views
- Browse a tree built for 250,000 items by loading each level on demand, filter it as a list, or move work across a board.
- Shareable previews and PDF
- Password-protected preview links that expire, preview as a segment or member, and a PDF export of any item for sign-off.
- Accessible and multilingual
- WCAG 2.2 AA with keyboard-only operation, right-to-left layouts, a night theme, and dates shown in each user's own timezone.
§ 03
Publishing governance
Every change is attributable, reviewable, schedulable, and reversible.
- Approval workflows
- Multi-stage approvals per content type or section, with users and groups at each stage, and rejection with reasons.
- Scheduled publishing
- Publish and unpublish items or whole sections at a time in any timezone, correct across daylight-saving changes, and fired exactly once.
- Releases
- Bundle many items into a release, preview the site as it will be, approve it, publish it atomically, and roll it back as one.
- Versions and rollback
- Immutable versions of every item, with rollback to any earlier version and retention policies that decide how many to keep.
- Audit history
- Who changed what and when, for content, media, settings, keys, and plugins, recorded on every mutation.
- Locks with expiry
- Editors can lock items they are working on; locks expire, and administrators can release them with a record of who did.
- Recycle Bin with retention
- Deleted items and media wait in a Recycle Bin, restorable with their place in the tree, until a retention policy empties it.
- Automation rules
- When something happens, if conditions hold, then act: triggers from content, members, schedules, and cron, with a test mode, run log, and versions.
- Review dates and stale content
- Give content a review date and a report of what is due or stale, so nothing out of date stays live unnoticed.
- Notifications everywhere
- In-app, email, and digests, plus Slack, Teams, and webhook channels, with subscriptions per node and templates you can override.
§ 04
Media
Cloudinary-style media handling built into the platform, served from your CDN.
- URL-based transformations
- Width, height, crop, focal point, format, and quality set from the URL, with automatic AVIF or WebP and signed URLs for anything unusual.
- Named presets and responsive sets
- Define renditions per site once, and deliver srcset-ready responsive images with the focal point and crops editors chose.
- Video and audio
- Transcoding to adaptive streams, poster frames, caption tracks per language, and renditions generated in the background.
- Direct-to-storage uploads
- Large files go straight to storage in resumable parts, with metadata extraction and malware scanning before anything is published.
- Storage you choose
- A local volume, S3-compatible, Azure Blob, or Google Cloud Storage per instance, with site and folder overrides and migration without changing a URL.
- In-browser image editing
- Straighten, rotate, flip, crop, and set the focal point in the backoffice, saved as a new version of the asset.
- Rights management
- Licence, credit line, releases, allowed uses, regions, sites, and expiry on every asset, checked when a page using it is published.
- Bulk import and bucket sync
- Import zip archives with a report, or keep a bucket or mounted folder in sync with the library by hand or on a schedule.
- Usage and bandwidth
- See where every asset is used before you replace or delete it, and bandwidth and cache hit rates per site.
- AI-assisted mediaPhase 3
- Automatic tags, alt text, subject detection for crops, background removal, and transcription.
§ 05
Delivery and performance
A versioned, cache-first Delivery API that stays fast on the busiest day.
- The Delivery API
- Content, media, search, menus, taxonomies, dictionary, redirects, sitemaps, feeds, forms, and widget configuration, in one consistent envelope.
- Three cache layers
- Edge cache keyed on the publish version, a tag-evicted output cache on every node, and Redis for coordination: each with one job and one way to invalidate.
- Publish in under a second
- Measured at 555 ms at the 95th percentile from publish to visible at the origin, against a 5-second target.
- Degrades safely
- If Redis goes away, nodes serve from local caches; if search goes away, PostgreSQL answers; if the origin goes away, the CDN serves stale.
- Preview and staging hostnames
- Preview tokens scoped to a subtree, draft mode for your frontend, and staging hostnames that show approved drafts.
- Keys with scopes and limits
- Public site keys bound to domain lists for the browser, and server keys with capability scopes and tiered rate limits for builds.
- Signed webhooks
- Per-site webhooks signed with rotating secrets, retried from a durable queue, logged, and redeliverable.
- Usage reporting
- Requests per key, hour, and outcome, plus the paths that returned not found, so you can fix links before visitors notice.
§ 06
Sites, domains, and URLs
Many sites and languages from one tree, with URLs that never break.
- Hostnames per start node
- Any number of hostnames per site with language prefixes, primary and alias roles, and a platform hostname for every site.
- Visibility by hostname
- Show or hide a branch on specific hostnames, and limit which sites each editor can work on in the backoffice.
- Geofencing
- Restrict content by country from the CDN's country header. No IP database, and location is never resolved beyond country.
- Redirects and URL patterns
- Moves and renames record redirects automatically; manage the rest by hand, with patterns that shape URLs per content type.
- Short links and QR codes
- Short codes that follow an item wherever it moves, with QR codes, expiry, and click counts by day, referrer, and country.
- Sitemaps and robots
- Sharded page, image, and video sitemaps maintained on publish and tested to 200,000 entries, with robots.txt per site.
- Feeds
- RSS, Atom, and JSON Feed for any section or saved query, with the right alternate links in every page's head.
§ 07
Translation and localization
Every language a first-class citizen, including right-to-left and CJK scripts.
- Translation families
- Translations are children of their master item, so structure and shared blocks stay in step while each language has its own state.
- Status and outdated flags
- When the master changes, its translations are flagged outdated field by field, and a translation can publish with its master.
- Proofing and review
- Translations go through their own review units, with comments in the margin and approval before they go live.
- XLIFF round trip
- Export to your translation agency as XLIFF and import the result, with memory from earlier translations applied.
- Language fallback
- Up to 50 languages per site with fallback chains, per-language hostnames or prefixes, and a translated dictionary.
- AI translationPhase 3
- Machine translation with a glossary and translation memory that editors proof before publishing.
§ 08
SEO, search, and site health
Findable pages, fast search, and a site that tells you when something breaks.
- The SEO tab
- Title, description, canonical, robots, Open Graph, and social cards on every item, filled automatically from the content by rules you set.
- Structured data
- Schema.org templates per content type, delivered as JSON-LD with breadcrumbs and language alternates.
- Checks that can block a publish
- SEO and accessibility checks on every item, shown on the track, with the option to stop a page going live until they pass.
- Site monitoring
- A scheduled crawl for broken links and missing metadata, uptime checks, and Core Web Vitals from real visitors with alerts.
- Search you can tune
- PostgreSQL full-text search out of the box or OpenSearch and Elasticsearch at scale, with synonyms, stopwords, weights, pins, and a report.
- AI recommendationsPhase 3
- Suggested titles and descriptions, and semantic, hybrid, and image similarity search.
§ 09
Personalization
Tailored pages without giving up the cache, and never without a default.
- Segments
- Audiences built from roles, profile fields, interests, country, language, device, referrer, campaign, time, and consent, combined with all, any, and not.
- Block and field variants
- Alternative content per segment on a block or a short field, kept in one item instead of duplicated pages.
- Recommendation slots
- Content-based, interest-based, trending, collaborative, and editorially pinned recommendations, blended by weight, with a fallback.
- Promotions and restricted content
- Promotion slots and items limited to a segment, alongside public access, hostname visibility, and geofencing.
- Cache-safe by design
- Decisions come from a separate uncached endpoint and are applied client-side by the loader, so content responses are identical for every visitor.
- Anonymous first, consent-gated
- Anonymous interest profiles live in the browser, behaviour-based personalization needs consent, and signed-in profiles merge on sign-in.
- Preview as and reporting
- Preview any page as a segment, a member, a country, or a future date, and report on which variants were shown.
- ExperimentsPhase 3
- A/B and multivariate tests, auto-optimization, AI-generated variants, and segment suggestions.
§ 10
Analytics
A first-party analytics store, the providers you already use, and your data warehouse.
- First-party collector
- Page views, clicks, downloads, scroll depth, and searches collected by the loader, consent-aware, into a store you run.
- Provider plugins
- Matomo, Google Analytics 4, and Microsoft Clarity bundled as plugins, configured per site without touching the frontend.
- Content and editorial analytics
- Performance per item and content type next to the content itself, and reports on the editorial process: throughput, time to publish, and approval turnaround.
- Alerts
- Thresholds on traffic and Core Web Vitals that notify the right people through the channel they chose.
- Data warehouse export
- Daily Parquet exports of analytics and, when you allow it, form data, for your warehouse or lake.
§ 11
Frontend users and forms
Accounts, sign-in, and forms for your visitors, without another identity product.
- User pools
- Pools per site, instance, or organization, so a visitor registers once and signs in everywhere in the pool with single sign-on across domains.
- Registration and sign-in
- Hosted registration, email verification, password reset, magic links, invitations, social and enterprise identity providers, and approval queues.
- Profiles and self-service
- Profile fields you define, an account widget for visitors, sign-in history, and explicit preferences that feed personalization.
- Roles, groups, and public access
- Frontend roles and groups with expiry dates, and member-only content that the Delivery API never leaks to anonymous callers.
- Export and erasure
- Data export and erasure on request, with a 30-day undo window and coverage checked for every table that holds a member's data.
- Form builder
- Versioned forms with sections, steps, conditional logic, validation, and file uploads, and a submissions view with assignment and states.
- Encrypted submissions
- Answers are encrypted with AES-256-GCM under a per-instance key and deleted on a retention schedule.
- Spam protection and actions
- Honeypots, timing, rate limits, and optional proof of work, plus notifications and webhook actions per form.
§ 12
Consent management
Privacy handled by the platform, not bolted on with another vendor's script.
- Jurisdiction-aware banner
- Prior consent where the GDPR applies, an opt-out notice where US state law applies, and the stricter model when the location is unknown.
- Script gating
- Classify scripts into categories and hold every tag back until its category is allowed, whether it is in your HTML or injected later.
- Global Privacy Control
- The browser's GPC signal is honoured as a refusal without prompting.
- Cookie scanning
- A headless browser crawls your site, finds cookies and scripts, and assesses compliance, with a cookie declaration widget kept up to date.
- Consent in the content
- Blocks that load third-party content carry their consent category, so your frontend can gate rendering.
- Reporting without personal data
- Acceptance rates by category and region with no IP address, user agent, or identifier stored against any decision.
§ 13
Widgets
Functionality you maintain once and inject into every site with one script tag.
- One loader
- A single script tag with the site's public key registers the site's widgets as custom elements and loads each lazily.
- Pinned, immutable versions
- Each widget version is immutable on the CDN, pinned per site, and upgraded or rolled back with an audit record.
- Built-in widgets
- Consent banner, cookie declaration, account, and personalization come with the platform and share the loader.
- Widget BuilderPhase 4
- Author widgets in the backoffice with a code editor, live preview, server-side builds, tests, and a low-code mode.
- Component CatalogPhase 4
- A Storybook-style catalog inside the app that tracks component versions and variations per site.
- Visual editingPhase 4
- Edit on the live site through content source attributes and a backoffice overlay.
§ 14
Developer experience
Typed from the API down, scriptable from the pipeline up.
- Consumer SDK
- @modularcms/delivery, generated from the same OpenAPI document as the API, for any JavaScript runtime.
- Next.js adapter
- @modularcms/next: draft mode, revalidation, images, rich text, blocks, SEO metadata, menus, sitemaps, feeds, member sign-in, and personalization.
- The modularcms CLI
- Structure, packages, staging promotion, snapshots, migrations, keys, webhooks, jobs, and type generation, as a Node package, a single binary, or an image.
- Structure as code
- Keep content types and settings in files, plan and apply changes, and detect drift between the files and an instance.
- API explorer
- The Management and Delivery references inside the backoffice, with Try it and curl, fetch, and SDK snippets using your own keys.
- Reference site and demo content
- A Next.js consumer site and installable demo sites to start from and test against.
§ 15
Integrations and extensibility
Plug the platform into what you already run, and extend it without forking.
- Git sync
- Mirror content and structure to Git, two-way for structure, with plain Git or GitHub, release branches, and pull requests merged on publish.
- External data
- Reference records from commerce and other systems with an External Reference field that shows their current state in the picker.
- Scheduled ingestion
- Pull records from feeds and connectors into content on a schedule, with cursors, reports, and a named actor in the audit trail.
- Marketing platforms
- Brevo and Mailchimp plugins turn content into campaign drafts and sync member contacts and engagement.
- Plugin packages
- Install signed plugins per instance from publishers on a platform allow list, loaded in-process with rolling restarts.
- Backoffice extensions
- Plugins add screens, field types, and endpoints to the backoffice as custom elements, loaded with subresource integrity.
- The ModularCMS StorePhase 5
- Publish, discover, license, and sell packages in a public marketplace.
§ 16
Operations and data
The tools to run many sites calmly: back up, stage, promote, restore.
- Snapshots and restore
- Encrypted snapshots of an instance with its media, restorable to the same instance, a staging instance, or a new one.
- Two kinds of staging
- A separate instance for structural changes you promote with a plan, and staging hostnames for approved drafts.
- Packages
- Export and import content or structure as packages with a plan before apply and rollback after.
- Umbraco migration
- Import an Umbraco 13 to 17 site, Umbraco Cloud included, with a reviewable mapping, a rehearsal, and a report.
- Maintenance mode and publish freeze
- Pause editing or publishing per instance during upgrades, migrations, and restores.
- Background jobs you can see
- Every long task is a job with progress, cancellation, and fairness across instances, visible in an operations strip.
- Upgrades
- Semantic versions, rolling zero-downtime upgrades, a snapshot before every upgrade, and an opt-in update check.
§ 17
Security and tenancy
Isolation enforced by the database, and a supply chain you can audit.
- Row-level security
- Every tenant table leads with the instance identifier and is enforced by PostgreSQL row-level security, tested on every repository and endpoint.
- Keycloak sign-in
- OpenID Connect for backoffice users with MFA, and roles, grants, and per-node permissions held by the CMS.
- Granular access
- Grants limited to sites and languages, node permissions, and Management API keys whose rights never exceed their owner's.
- Hardened by default
- A strict hash-based Content Security Policy, security headers everywhere, rate limits on expensive operations, and controlled egress.
- Verified supply chain
- SBOMs for every image, Trivy scans with zero critical or high findings, and ZAP scans of the backoffice and both APIs.
- Observability
- OpenTelemetry traces, metrics, and structured logs with instance and request identifiers, and no personal data.
§ 18
AI content workflows
Coming in Phase 3: AI with your own keys, a budget, and an audit trail.
- Bring your own keysPhase 3
- Organization keys or platform-managed keys with metered billing, budgets, and cost reporting, through a provider abstraction.
- Prompt managementPhase 3
- Versioned prompts and prompt sets, shared across instances and packaged for reuse.
- Editor assistancePhase 3
- Drafting, rewriting, summarizing, and SEO suggestions inside the editor, with every call metered.
- Agentic workflowsPhase 3
- Multi-step content processes that draft, check, translate, and route to review.
■ Ready for press
See your content set in modules.
We’ll walk through the backoffice with your own site in mind, or import a copy of your Umbraco site and show you the result.