Index: src/routes/admin-settings.js
===================================================================
--- src/routes/admin-settings.js	(revision d5495493691e5642bb7df668ba1fd87506fdd369)
+++ src/routes/admin-settings.js	(revision 029f047c2a08e4991412f75369d040bee40c9c49)
@@ -22,5 +22,5 @@
 import { requireGod } from '../middleware/auth.js';
 import { getTenancy, setTenancy, getSetting, setSetting } from '../services/SettingsService.js';
-import { entitlementStatus } from '../services/PatreonService.js';
+import { entitlementStatus, premiumUnlocked } from '../services/PatreonService.js';
 
 const router = express.Router();
@@ -90,4 +90,10 @@
 
     if (typeof req.body.tenancy !== 'undefined') {
+      // Hub-modus is een premium-feature: alleen naar hub schakelen als premium
+      // ontgrendeld is (premium-laag uit = vrij; aan = Patreon vereist). Al-hub
+      // blijven mag altijd, zodat een instance nooit vastloopt.
+      if (req.body.tenancy === 'hub' && !premiumUnlocked() && getTenancy() !== 'hub') {
+        return res.redirect('/admin/settings?error=' + encodeURIComponent('Hub-modus is een premium-functie — koppel Patreon in Beheer → Instellingen.'));
+      }
       setTenancy(req.body.tenancy); // valideert naar solo | hub | circle
     }
Index: src/views/pages/admin-settings.ejs
===================================================================
--- src/views/pages/admin-settings.ejs	(revision d5495493691e5642bb7df668ba1fd87506fdd369)
+++ src/views/pages/admin-settings.ejs	(revision 029f047c2a08e4991412f75369d040bee40c9c49)
@@ -21,9 +21,11 @@
         </span>
       </label>
+      <% var _hubLocked = (typeof premiumUnlocked !== 'undefined') && !premiumUnlocked && tenancy !== 'hub'; %>
       <label class="set-opt">
-        <input type="radio" name="tenancy" value="hub" <%= tenancy === 'hub' ? 'checked' : '' %>>
+        <input type="radio" name="tenancy" value="hub" <%= tenancy === 'hub' ? 'checked' : '' %> <%= _hubLocked ? 'disabled' : '' %>>
         <span>
           <strong>Hub</strong> — bedrijfssite met <code>/user/</code>.
-          <small>Jij (admin) wijst gebruikers een eigen Klonkt Hub toe. Gesloten cirkel: geen open registratie.</small>
+          <% if (_hubLocked) { %><span style="display:inline-block;font-size:.7rem;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.05rem .45rem;margin-left:.3rem;vertical-align:1px;">🔒 premium</span><% } %>
+          <small>Jij (admin) wijst gebruikers een eigen Klonkt Hub toe. Gesloten cirkel: geen open registratie.<% if (_hubLocked) { %> <em>Vereist premium — koppel Patreon in deze pagina.</em><% } %></small>
         </span>
       </label>
