Index: src/routes/admin-settings.js
===================================================================
--- src/routes/admin-settings.js	(revision cf4cf27676b423c74ea0710c29e96dfec23d8f5d)
+++ src/routes/admin-settings.js	(revision eacd3d6d5750c547e441e0f0eb1dc3bcff77c736)
@@ -167,8 +167,12 @@
 });
 
-// Fediverse (ActivityPub) on/off. Off = no federation + no fediverse reactions.
+// Site mode: Solo (ap off → no federation, no comments) or Circles (ap on).
+// Driven by a radio (mode=solo|cirkels); legacy ap_enabled checkbox still accepted.
 router.post('/ap', requireGod, (req, res) => {
-  setSetting('ap_enabled', req.body.ap_enabled ? '1' : '0');
-  res.redirect('/admin/settings?success=' + encodeURIComponent('Fediverse-instelling opgeslagen'));
+  let enabled;
+  if (typeof req.body.mode !== 'undefined') enabled = req.body.mode === 'solo' ? '0' : '1';
+  else enabled = req.body.ap_enabled ? '1' : '0';
+  setSetting('ap_enabled', enabled);
+  res.redirect('/admin/settings?success=' + encodeURIComponent('Modus opgeslagen'));
 });
 
