Index: src/routes/federation.js
===================================================================
--- src/routes/federation.js	(revision 0091cb77d389e73218336782b310d2f000e2579a)
+++ src/routes/federation.js	(revision efdde3749346a7194ffcf47b31d0bd64de1e2d84)
@@ -9,4 +9,5 @@
 import express from 'express';
 import { buildActor, buildOutbox, signBody } from '../services/CircleFederation.js';
+import { getTenancy } from '../services/SettingsService.js';
 
 const router = express.Router();
@@ -18,4 +19,6 @@
 
 router.get('/.klonkt/actor.json', (req, res) => {
+  // Cirkels = solo-naar-solo; hubs publiceren geen federatie-actor.
+  if (getTenancy() === 'hub') return res.status(404).type('text/plain').send('Niet beschikbaar in hub-modus');
   const body = JSON.stringify(buildActor(baseUrl(req)), null, 2);
   res.type('application/activity+json; charset=utf-8');
@@ -25,4 +28,5 @@
 
 router.get('/.klonkt/outbox.json', (req, res) => {
+  if (getTenancy() === 'hub') return res.status(404).type('text/plain').send('Niet beschikbaar in hub-modus');
   const body = JSON.stringify(buildOutbox(baseUrl(req)), null, 2);
   res.type('application/activity+json; charset=utf-8');
