Index: src/services/ActivityPubService.js
===================================================================
--- src/services/ActivityPubService.js	(revision cd6a00811272b5a8300b3d02134959289583a49f)
+++ src/services/ActivityPubService.js	(revision 80c36a11780668405aae6004e333b68963a6b9db)
@@ -240,6 +240,8 @@
     url: human,
     published: new Date(post.published_at || post.created_at || Date.now()).toISOString(),
-    to: [PUBLIC],
-    cc: [`${aId}/followers`],
+    // fan_only = "fans only" → followers-only visibility (delivered to your followers
+    // but not addressed to Public, so Mastodon shows it only to them and can't boost it).
+    to: post.fan_only ? [`${aId}/followers`] : [PUBLIC],
+    cc: post.fan_only ? [] : [`${aId}/followers`],
     tag: Array.isArray(post.tags) ? post.tags.map((t) => ({ type: 'Hashtag', name: '#' + String(t).replace(/\s+/g, '') })) : [],
     replies: `${id}/replies`,
