Index: deploy/DEPLOY.md
===================================================================
--- deploy/DEPLOY.md	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ deploy/DEPLOY.md	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -152,6 +152,5 @@
 
 Now visit `https://YOUR-DOMAIN/`. You should see your site over HTTPS, with
-HSTS active and Prutter WebSocket working (browser dev-tools → Network →
-filter "WS" → see the `wss://YOUR-DOMAIN/ws/prutter` connection).
+HSTS active.
 
 ---
Index: deploy/backup.sh
===================================================================
--- deploy/backup.sh	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ deploy/backup.sh	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
 #
-# PrutCMS v10 — nightly backup script.
+# Klonkt — nightly backup script.
 #
 # Snapshots:
@@ -13,11 +13,11 @@
 #
 # Recommended cron:
-#   0 3 * * * /home/robin/prutcms/deploy/backup.sh >> /home/robin/prutcms/logs/backup.log 2>&1
+#   0 3 * * * /home/robin/klonkt/deploy/backup.sh >> /home/robin/klonkt/logs/backup.log 2>&1
 
 set -euo pipefail
 
 # ── Config ────────────────────────────────────────────────────────
-APP_DIR="${APP_DIR:-/home/robin/prutcms}"
-BACKUP_DIR="${BACKUP_DIR:-/home/robin/backups/prutcms}"
+APP_DIR="${APP_DIR:-/home/robin/klonkt}"
+BACKUP_DIR="${BACKUP_DIR:-/home/robin/backups/klonkt}"
 KEEP_DAYS="${KEEP_DAYS:-14}"
 TS="$(date +%Y%m%d-%H%M%S)"
@@ -35,5 +35,5 @@
 
 # ── Tar the snapshot + storage subdirs ────────────────────────────
-ARCHIVE="$BACKUP_DIR/prutcms-$TS.tar.gz"
+ARCHIVE="$BACKUP_DIR/klonkt-$TS.tar.gz"
 tar -czf "$ARCHIVE" \
     -C "$BACKUP_DIR" "$(basename "$DB_SNAPSHOT")" \
@@ -47,5 +47,5 @@
 
 # ── Rotation ───────────────────────────────────────────────────────
-find "$BACKUP_DIR" -type f -name 'prutcms-*.tar.gz' -mtime "+$KEEP_DAYS" -delete
+find "$BACKUP_DIR" -type f -name 'klonkt-*.tar.gz' -mtime "+$KEEP_DAYS" -delete
 
 SIZE="$(du -h "$ARCHIVE" | cut -f1)"
Index: deploy/nginx.conf.example
===================================================================
--- deploy/nginx.conf.example	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ deploy/nginx.conf.example	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -1,11 +1,11 @@
 # ──────────────────────────────────────────────────────────────────
-# PrutCMS v10 — nginx reverse proxy
+# Klonkt — nginx reverse proxy
 #
-# Place this in /etc/nginx/sites-available/prutcms and symlink to
+# Place this in /etc/nginx/sites-available/klonkt and symlink to
 # /etc/nginx/sites-enabled/. Replace <YOUR-DOMAIN> with the real host.
 #
 # Key points:
 #   • SSL termination here; Node listens on 127.0.0.1:3000 only.
-#   • WebSocket upgrade headers wired through (Prutter live messaging).
+#   • WebSocket upgrade headers wired through (in case any route uses WS).
 #   • Static assets cached aggressively (Node gives them 1y maxAge anyway).
 #   • Audio streaming endpoint /audio/stream/* must NOT be cached by nginx —
@@ -14,5 +14,5 @@
 #
 # After installing:
-#   sudo ln -s /etc/nginx/sites-available/prutcms /etc/nginx/sites-enabled/
+#   sudo ln -s /etc/nginx/sites-available/klonkt /etc/nginx/sites-enabled/
 #   sudo nginx -t
 #   sudo systemctl reload nginx
@@ -96,5 +96,5 @@
     }
 
-    # ── WebSocket: Prutter live chat. Long-lived connection.
+    # ── WebSocket: long-lived connection (in case any route uses WS).
     location /ws/ {
         proxy_pass http://127.0.0.1:3000;
Index: deploy/post-receive
===================================================================
--- deploy/post-receive	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ deploy/post-receive	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -1,7 +1,7 @@
 #!/bin/bash
-# PrutFolio deploy-hook — werkt zoals logboek-hook.
-# Bare repo is single source of truth.
-# /srv/prutfolio is de working tree — gevuld via "git --work-tree=..."
-# (geen .git submap erin), zelfde patroon als logboek->celine.
+# Klonkt deploy hook — works like the logboek hook.
+# The bare repo is the single source of truth.
+# /srv/prutfolio is the working tree — populated via "git --work-tree=..."
+# (no .git subdir inside), same pattern as logboek->celine.
 set -e
 
@@ -14,7 +14,7 @@
     echo ">>> Deploying $newrev to $DEPLOY"
 
-    # 1. Heel zelden — als een eerdere bug git-internals los in $DEPLOY
-    #    heeft gedumpt (HEAD/objects/refs op root), eenmalig opruimen
-    #    zodat dit een echte working tree wordt.
+    # 1. Very rarely — if an earlier bug dumped git internals loose into
+    #    $DEPLOY (HEAD/objects/refs at the root), clean them up once so this
+    #    becomes a real working tree.
     if [ -f "$DEPLOY/HEAD" ] && [ -d "$DEPLOY/objects" ] && [ ! -d "$DEPLOY/.git" ]; then
         echo "    cleanup: stale bare-init artifacts in $DEPLOY"
@@ -24,8 +24,8 @@
     fi
 
-    # 2. Force-checkout van bare-repo state naar working tree.
+    # 2. Force-checkout the bare-repo state into the working tree.
     git --git-dir="$GIT_DIR" --work-tree="$DEPLOY" checkout -f main
 
-    # 3. npm install alleen als package-lock.json wijzigde.
+    # 3. npm install only when package-lock.json changed.
     if [ -n "$oldrev" ] && [ "$oldrev" != "0000000000000000000000000000000000000000" ]; then
         if git --git-dir="$GIT_DIR" diff --name-only "$oldrev" "$newrev" | grep -q "^package-lock.json$"; then
@@ -38,4 +38,4 @@
     pm2 reload klonkt 2>/dev/null || true
 
-    echo ">>> Done. App-files in $DEPLOY ongemoeid (.env, node_modules, storage)."
+    echo ">>> Done. App files in $DEPLOY left untouched (.env, node_modules, storage)."
 done
Index: ecosystem.config.cjs
===================================================================
--- ecosystem.config.cjs	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ ecosystem.config.cjs	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -4,9 +4,7 @@
  * Single fork (NOT cluster mode) because:
  *  - SqliteSessionStore is in-process: cluster workers wouldn't share sessions.
- *  - PrutterService.wsConnections is in-process: WS broadcast wouldn't reach
- *    sockets attached to other workers.
  *  - better-sqlite3 is synchronous and not designed for multi-process writes.
- * If you ever need horizontal scaling, swap the session/Prutter stores for a
- * shared backend (Redis) first, then enable cluster mode.
+ * If you ever need horizontal scaling, swap the session store for a shared
+ * backend (Redis) first, then enable cluster mode.
  *
  * Usage:
Index: src/assets/css/audio.css
===================================================================
--- src/assets/css/audio.css	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ src/assets/css/audio.css	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -1,3 +1,3 @@
-/* PrutCMS v10 — Audio CSS
+/* Klonkt — Audio CSS
    Two pieces:
      1. .post-audio-track — the play-button block inserted by [[track:id]] shortcode
Index: src/assets/css/style.css
===================================================================
--- src/assets/css/style.css	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ src/assets/css/style.css	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -54,5 +54,5 @@
 }
 
-/* PrutCMS publieke stijl — editorial-ish, geen emoji-UI */
+/* Klonkt publieke stijl — editorial-ish, geen emoji-UI */
 
 :root {
Index: src/db/migrations/001-init.sql
===================================================================
--- src/db/migrations/001-init.sql	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ src/db/migrations/001-init.sql	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -1,5 +1,5 @@
--- PrutFolio v1 — initial schema
--- Forked from PrutCMS v9 (PHP, file-based) → SQLite/Node
--- Complete schema with v9 features (Prutter, Forum, Audio, Themes) + v10 CRDT
+-- Klonkt — initial schema
+-- Forked from a v9 PHP, file-based CMS → SQLite/Node
+-- Complete schema with the v9 features (Forum, Audio, Themes) + v10 CRDT
 
 -- ==================== USERS ====================
Index: src/views/partials/bottom-tab.ejs
===================================================================
--- src/views/partials/bottom-tab.ejs	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ src/views/partials/bottom-tab.ejs	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -4,8 +4,7 @@
 // Tabs:
 //   logged-out:  Home · Zoek · Inloggen        (3 tabs)
-//   logged-in:   Home · Zoek · [Plus] · [Prutter] · Profiel
+//   logged-in:   Home · Zoek · [Plus] · Profiel
 //   The Plus tab is a FAB-style center action (accent bg, slightly raised).
 //   It only appears for users with create-post permission.
-//   Prutter only appears when the site has DMs enabled.
 
 const _siteUrlBase = (typeof siteUrlBase !== 'undefined' && siteUrlBase) ? siteUrlBase : '';
Index: src/views/partials/chrome.ejs
===================================================================
--- src/views/partials/chrome.ejs	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ src/views/partials/chrome.ejs	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -11,6 +11,6 @@
 //
 //   _isAuth     → focus-scherm (in/uitloggen): helemaal geen chrome.
-//   _headerless → hub-homepagina én de Prutter-chat: WÉL de mini topnav-balk,
-//                 GEEN profielkop (hub: hero = header; chat: full-height view).
+//   _headerless → hub-homepagina én full-height views: WÉL de mini topnav-balk,
+//                 GEEN profielkop (hub: hero = header).
 //   anders      → topnav + profielkop (+ view-switcher buiten admin).
 var _isAdmin   = typeof bodyClass === 'string' && bodyClass.indexOf('on-admin') >= 0;
Index: src/views/partials/topnav.ejs
===================================================================
--- src/views/partials/topnav.ejs	(revision abdcf3302cfa9320f287ba1d993dece88a8ef830)
+++ src/views/partials/topnav.ejs	(revision d2b7247f5942df285d4b4ff6d5104c5e8df5772e)
@@ -9,5 +9,5 @@
 // Desktop (≥768px):
 //   - Full v9 masthead: brand left, action row right
-//     (Archief / Search / Install / Theme / Prutter / User-menu).
+//     (Archief / Search / Install / Theme / User-menu).
 //   - bottom-tab is hidden via CSS, so all nav must live here.
 
