Index: src/routes/admin-users.js
===================================================================
--- src/routes/admin-users.js	(revision 0c2228a9c4489c1c67d7c50a257243dee4569320)
+++ src/routes/admin-users.js	(revision 5e95aac1fead3706da60b96ef28bc533d65a013e)
@@ -20,5 +20,8 @@
 const router = express.Router();
 
-const VALID_ROLES = new Set(['member', 'admin', 'god']);
+// 'kijker' = alleen-lezen demonstratie/audit-account: mag alles bekijken (incl.
+// Beheer), maar de globale guard blokkeert elke wijziging. Vervangt de oude
+// losse 'kijk-modus'-vlag (readonly), die nu door deze rol wordt afgedekt.
+const VALID_ROLES = new Set(['kijker', 'member', 'admin', 'god']);
 
 function godCount() {
@@ -66,21 +69,9 @@
   }
 
-  db.prepare('UPDATE users SET role = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?')
+  // readonly=0: de alleen-lezen-status zit nu volledig in de 'kijker'-rol, dus
+  // bij elke rolwijziging ruimen we de legacy-vlag op (geen dubbele bron).
+  db.prepare('UPDATE users SET role = ?, readonly = 0, updated_at = CURRENT_TIMESTAMP WHERE id = ?')
     .run(newRole, userId);
   res.redirect('/admin/users?success=' + encodeURIComponent('Role updated'));
-});
-
-// ==================== READ-ONLY (kijk-account) ====================
-router.post('/:id/readonly', requireGod, (req, res) => {
-  const target = db.prepare('SELECT id FROM users WHERE id = ?').get(req.params.id);
-  if (!target) return res.redirect('/admin/users?error=User+not+found');
-  // Niet op jezelf — voorkomt dat een god zichzelf alleen-lezen maakt en vastloopt.
-  if (target.id === req.session.user.id) {
-    return res.redirect('/admin/users?error=' + encodeURIComponent('Kan jezelf niet op alleen-lezen zetten'));
-  }
-  const ro = req.body.readonly === '1' ? 1 : 0;
-  db.prepare('UPDATE users SET readonly = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?')
-    .run(ro, req.params.id);
-  res.redirect('/admin/users?success=' + encodeURIComponent(ro ? 'Kijk-modus aan' : 'Kijk-modus uit'));
 });
 
