Kernset Kernset

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.
blocks/Hero.ts tsx
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.

Chatbot

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.

Premium analytics

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.

AI writing assistant

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
One session from blank to working client workspace. No server provisioning, no plugin checklist, no staging environment.
Shareable draft links - no login required

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.

Contact form leads land in the workspace

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.

Automatic structured data for AI search

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.

Contact

Email or use the form. Tell us how many client websites you maintain today and where the friction is.