Index: src/server.js
===================================================================
--- src/server.js	(revision 5f43245414cdbce202ba65aeb7fcade224c11460)
+++ src/server.js	(revision 974de34b27772ae3074ef6663e8a4de706a21ba8)
@@ -17,4 +17,5 @@
 import db, { initializeDatabase } from './config/database.js';
 import { SqliteSessionStore } from './services/SqliteSessionStore.js';
+import { ensurePrimarySite } from './services/ensurePrimarySite.js';
 import PrutterService from './services/PrutterService.js';
 import { WebSocketServer } from 'ws';
@@ -131,4 +132,8 @@
 initializeDatabase();
 
+// Vangnet: garandeer dat er altijd een primaire site is (solo/hub/circle).
+// Idempotent — doet niets als er al een site is of nog geen beheerder.
+ensurePrimarySite();
+
 // Session middleware extracted into a variable so the WebSocket upgrade
 // handler can reuse it (it needs req.session to authenticate sockets).
