Index: src/routes/admin-settings.js
===================================================================
--- src/routes/admin-settings.js	(revision 283f618f8d224646dfaad3dc3b04b9ac7c092b92)
+++ src/routes/admin-settings.js	(revision c74565987caf12d910b2fb8dd439042dd0e2f94f)
@@ -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'));
 });
 
