Features
Everything your clients need. Nothing they can break.
Kernset is deliberately limited on the client side - and deliberately deep on yours. Your code controls the structure. Their admin shows only what you chose to expose.
Agency admin
Administration
All client websites in one admin
Each client website is a fully isolated workspace. Users, media, audit logs, and content are scoped at the database level - not just in the app. Switch workspaces in one click from the sidebar. Adding a new client takes minutes.
Roles that match agency reality
Six roles built in: editor, website admin, module manager, agency owner, agency admin, super-admin. Client staff get workspace-level access. Your team gets organisation-level access. No plugin, no custom role builder.
Append-only audit trail
Every login, edit, publish, and module change is recorded per workspace. Clients see only their own activity. The log cannot be edited or deleted - useful for GDPR accountability and client disputes.
Blocks and editing
Content
- 30+ blocks ready to use. Hero, gallery, FAQ, pricing table, contact info, opening hours, blog teaser, booking embed, newsletter signup, product list, testimonials, and more. Plus a custom-block factory for per-client one-offs. Every block is a typed schema - no free-form HTML the client can paste rogue code into.
- Flexible zones for open-ended pages. Designate a region where clients can add, remove, and reorder blocks - but only from an allowlist you defined. Good for FAQ pages, service lists, and knowledge bases where you want some client flexibility without giving up layout control.
- Drafts, versioning, rollback. Every page is versioned. Clients stage changes as drafts, compare with the live version, and roll back to any of the last 25 saved revisions. Mistakes are reversible.
- Multi-language built in. Per-locale drafts and publish are independent. Inline completeness badges show which fields still need a translation before going live.
export const HeroBlock = {
slug: 'hero',
fields: [
{
name: 'headline',
type: 'text',
localized: true, // EN + DE + ES
required: true,
},
{
name: 'image',
type: 'media',
required: true,
},
{
name: 'cta',
type: 'link',
},
],
} Deployment options
Publishing
Three hosting options for the client site
Plain shared hosting with no Node.js required (default - works on Hostinger, IONOS, cPanel). A cached edge platform like Vercel that refreshes within seconds of publish. Or your own Node server. Same CMS, same editor, three places the site can live.
Read-only content API
A public API returns the full page in one request, scoped by URL. Draft content is gated behind signed preview tokens. The live site fetches from the API; editors work in the admin. Two separate surfaces.
Live preview inside the editor
Changes appear in a side-by-side preview within seconds of saving. Preview URLs are signed and scoped to the editor's session. Draft content never leaks to the public.
Resellable modules
Resellable add-on modules
Each module is a separately toggleable code path. Flip it on per client workspace. Charge for it on the next invoice. Flip it off and the admin surface disappears completely.
Trained on documents you upload for that client. Answers visitor questions from the client's own knowledge base. Captured leads land in the workspace inbox. Turn it off and the chat interface disappears entirely.
Cookieless, GDPR-aligned dashboards inside the client's workspace. Real-time visitor traffic, exportable reports, no third-party tracking scripts. Turn it off and the dashboard is gone from the admin.
Inline translation, content suggestions, and SEO copy inside the page editor. Strict opt-in per workspace. Turn it off and every AI button vanishes from the admin. No client data leaves your EU server.
GDPR and security
Trust and compliance
- GDPR baseline out of the box
- Self-hosted fonts - no Google Fonts request on page load. EXIF data and GPS coordinates stripped from every uploaded image. Cookieless analytics path built in. Per-workspace audit logs for documentation of client data access.
- Secrets encrypted at rest
- Per-client publish credentials are encrypted in the database with a rotatable platform key. Secrets are never exposed in admin responses. Encrypted database backups run nightly with a separate key on its own rotation schedule.
- EU-hosted, EU jurisdiction
- The CMS runs in the EU by default. Your clients' content stays under EU data protection law. Operating company also in the EU. Data does not leave the EU unless you explicitly opt a client into a non-EU module.
- Append-only audit log
- Every login, edit, publish, and configuration change is recorded per workspace. Clients see only their own log. The log is append-only at the schema level - useful for GDPR documentation and demonstrating due diligence.
Save hours every week
Agency workflow
The features that cut hours from your week, not from your product.
- One login handles every client workspace
- Clients need you significantly less often
- Set up a new client workspace without a kickoff meeting
Generate a time-limited preview link for any draft page. Send it to the client. They see the page on their own domain before it goes live - no CMS account needed. Links expire automatically and can be revoked any time.
Connect Basin, Formspark, or any POST-accepting form provider with a one-time webhook. Submissions land in the client's lead inbox inside the admin. The client opens their workspace and sees who wrote in - no email forwarding, no third-party dashboard to check.
Because content lives in typed blocks, valid JSON-LD is generated on every publish. FAQs become FAQ schema. Contact info and opening hours become a LocalBusiness record. SearchGPT, Perplexity, and Google AI Overviews get machine-readable context without any extra plugin.
Client websites
What every client website gets
What every client website can do, included in the platform.
-
Blog with authors, categories, and tags
Versioned, multi-language blog posts with author profiles, categories, and tags built in. Drop a Blog Teaser block on any page to pull the latest posts automatically. No plugin. No separate database. Works across all three hosting modes.
-
Rich search snippets, auto-generated
Add opening hours, contact info, or a team block to any page. On every publish, Kernset merges them into valid schema.org output. Restaurants, clinics, hotels, and service businesses get correct rich snippets in Google and AI search results - no extra plugin, no developer effort.
-
SEO completeness checks at a glance
Every page shows which SEO fields are missing - meta title, description, OG image, alt text on images. Inline indicators flag incomplete fields before you publish. No separate SEO plugin needed.
Want a closer look?
Send a message to see the editor in action and discuss whether Kernset fits your client portfolio.