Platform: SiteEngine

An information management platform and control plane.

The administrative layer for the full SiteEngine AI platform

27 years of production heritage, built in Go. Declarative modules, multi-tenant connectors with row-level isolation, a CRUD engine that eliminates admin boilerplate, and a compliance dashboard that treats EU AI Act and US AI framework obligations as first-class concerns. The database is the application - one backup restores everything.

Still running on the same architecture principles 27 years on.

What SiteEngine provides

  • Declarative config: define modules, fields, permissions in YAML
  • OAuth (Google, GitHub, Microsoft, LinkedIn) out of the box
  • Modules: users, roles, articles, media, pages, AI, products
  • Database-as-truth: one backup captures the entire system
  • Connector multi-tenancy since 2001, row-level isolation
  • Docker, Go binary, Homebrew and CLI installers

The control plane for the full SiteEngine AI platform

Configure AI experts, trigger document ingestion, monitor citations, and manage Efficiency Engine settings from one admin interface - across all pipeline components and all tenants. How the pipeline works →

Heritage

In continuous production since 1998

SiteEngine has been running without architectural replacement for 27 years - originally Classic ASP (1998), now built in Go. The architecture documented in the SiteEngine thesis is the same architecture that has served live workloads since the year Internet Explorer was still a competitive browser.

The database-as-truth principle has been the foundation since day one: the database is the application. Templates, configuration, content and permissions all live in PostgreSQL. One backup captures the entire system state. No filesystem dependencies. No configuration drift.

Case Study

Management Issues

The longest-running SiteEngine deployment demonstrates the platform's production stability and longevity.

7,200+

Articles published

142

Columnists

25+

Years running

management-issues.com - powered by SiteEngine since 2003.

Core architecture

The database is the application

Every aspect of SiteEngine Dashboard - content, configuration, templates, permissions, module state - lives in PostgreSQL. No filesystem dependencies. No configuration drift.

Complete portability

Restore a single backup and the entire site runs. Templates, assets, config - everything is in the database.

Atomic deployments

Database transactions ensure consistency. No partial deploys, no orphaned files, no configuration drift between environments.

Simple disaster recovery

One backup, one restore. No file syncs, no artifact registries, no multi-step recovery procedures.

Modules

Pick modules like building blocks

Enable or disable with a single CLI command. Always-on modules handle core infrastructure; optional modules add capabilities when you need them.

Default

Articles & Pages

Structured editing, version history, reusable blocks and template assignment. Editorial workflows with draft and released states.

Default

Media & Storage

File uploads with image optimisation. Local, MinIO, or Cloudflare R2 backends. Dual-storage pattern for redundancy.

Always-on

Users & Roles

User management, role-based access control, permission matrices and profile management. OAuth integration built in.

Optional

AI Module

Wire SiteEngine AI into the information management platform. Manage experts, trigger ingestion, test conversations and monitor citations from the admin panel.

Optional

Products & Commerce

Product catalogue, inventory and pricing. Enable only when needed - stays off by default to keep the system lean.

Always-on

Connectors

Multi-tenancy with hierarchical connectors. Row-level data isolation, cross-connector permissions and audit logging.

Productivity

Dramatically less admin boilerplate

The CRUD engine generates complete admin interfaces from declarative configuration. In internal testing, a 25-field entity that takes ~16 hours to build manually requires ~1 hour with CRUD config. List views, edit forms, search, pagination, validation and access control - all from field definitions.

Auto-generated interfaces

List views, edit forms, detail pages and search from field definitions. Inline editing from list views.

Rich field types

Text, richtext, number, date, boolean, media, relation, JSON, computed. Validation rules: required, min/max, pattern, unique.

Version history

Automatic change tracking with diff views. Bulk operations for multi-select actions.

What the CRUD engine eliminates

Route handler code
Database query code
Form rendering code
Validation logic
Pagination & search
Access control checks

All generated from declarative field definitions. You write config. The engine writes the rest.

Connector hierarchy

C1

Corporate (parent)

Full access across all children

C2

Brand A

Row-level isolation within brand scope

C3

Brand B

Cannot see Brand A data

Connector boundaries are enforced at the query layer. Audit logs track all cross-connector operations.

Security

Multi-tenancy since 2001

Connectors are the core isolation unit - each represents a tenant, brand, or site. All tenants share the same application instance and database, with strict row-level data isolation enforced at the query layer.

Hierarchical parent/child connectors (corporate → brand → regional)
Row-level isolation at the query layer, not just application layer
Cross-connector access requires explicit parent-level permissions
OAuth providers: Google, GitHub, Microsoft, LinkedIn
Unique feature

Three-level variable processing

A SiteEngine differentiator since the early 2000s. Every template variable passes through three phases - giving you powerful content transformation without custom code.

1

PreProcess

Transform data before rendering - date formatting, URL encoding, string manipulation.

2

Normal

Standard variable substitution with the processed value into the template output.

3

PostProcess

Transform rendered output - truncation, HTML stripping, conditional wrapping.

Quick start

From zero to dashboard in minutes

curl -fsSL https://get.siteengine.dev | bash
siteengine init --docker
siteengine serve

# Enable AI module
siteengine module enable ai
siteengine config ai

Supports Go install, Homebrew, Docker images and systemd for production.

Storage

Four storage backends

Local

Server filesystem. Best for development and single-server deployments.

MinIO

S3-compatible, self-hosted. For on-premises and air-gapped environments.

Cloudflare R2

S3-compatible with zero egress fees. Production-optimised delivery.

Dual Storage

Primary + replica pattern. Writes to both, reads prefer primary with auto-fallback. Zero-downtime migrations.

AI integration

Information management and AI, in one control plane

The AI module connects SiteEngine to the full pipeline - Baibelfish ingestion, DeepThought staging, query classification, prompt assembly, conversation context, and the Efficiency Engine - through a single admin interface.

Expert management

Create, configure and monitor AI experts from the dashboard. Set voice profiles and emotional masking.

Ingestion triggers

Upload documents and trigger Baibelfish ingestion directly from the platform. Monitor progress in real time.

Token dashboards

Per-expert and per-query token usage. Citation quality monitoring and confidence distributions.

Compliance-as-Architecture

Built for regulated environments

25+ years of running regulated information systems. The compliance dashboard treats EU AI Act and US AI framework obligations as first-class concerns, governed through the same control plane as the platform itself. Deploy on-premises, in your VPC, or air-gapped. RBAC and connector-based isolation enforce data governance at the query layer.

On-premises / VPC / air-gapped

Full deployment flexibility with Ollama or local LLMs for zero external calls.

GDPR via connectors & RBAC

Purpose limitation via row-level security. Cascading soft-delete. Full audit logging.

EU AI Act & US AI framework

Technical documentation, risk management logs, provenance trails, NIST AI RMF alignment - captured in the compliance dashboard, not a separate spreadsheet.

Human-in-loop refinement

Flag, review and resolve ambiguous entities, citations and extractions directly from the governance framework.

Connector-based governance

Row-level isolation enforced at the query layer
Hierarchical connectors (corporate → brand → regional)
Cross-connector access requires explicit parent permissions
Full audit logging across all connector operations
OAuth providers: Google, GitHub, Microsoft, LinkedIn
Platform + Pipeline

The full platform, governed from one place.

Information management, document ingestion, AI pipeline, Efficiency Engine and compliance monitoring - administered together, with 27 years of production reliability underneath. Still running on the same architecture principles 27 years on.