Index: src/routes/posts.js
===================================================================
--- src/routes/posts.js	(revision 5a93ac05e84fc2017fb741af8a7071f46419619d)
+++ src/routes/posts.js	(revision eb852c5856f54a4e8690534406540d8a33e0bfcc)
@@ -369,4 +369,11 @@
   if (!PermissionsService.canDeletePost(req.session.user, post, site)) {
     return res.status(403).send('No permission');
+  }
+
+  // ActivityPub: tell followers the post is gone (Delete + Tombstone), but only
+  // if it was actually federated (published + not fan-only). Fire before the row
+  // is removed — we still have post.id (= the Note id).
+  if (post.status === 'published' && !post.fan_only) {
+    ActivityPubService.deliverDelete(site, post).catch(() => { /* best-effort */ });
   }
 
