Index: src/services/ActivityPubService.js
===================================================================
--- src/services/ActivityPubService.js	(revision ffa53cc6a9b4e745a21bddde2ecd0e463566def8)
+++ src/services/ActivityPubService.js	(revision c73ac647e83e17754d2b5700371479eea7d031fa)
@@ -250,9 +250,15 @@
 // View-ready threaded view of a post's fediverse activity (inbound replies +
 // our outbound replies, nested), plus like/boost counts.
-export function getInteractions(postId, base) {
+export function getInteractions(postId, base, site) {
   const s = iStmts();
   const rows = s.list.all(postId);
   const baseClean = (base || process.env.PUBLIC_BASE_URL || '').replace(/\/+$/, '');
   const postNoteId = baseClean ? `${baseClean}/ap/notes/${postId}` : null;
+  // Our own (outbound) replies show the SITE identity for everyone (not "You").
+  let host = ''; try { host = new URL(baseClean).host; } catch { /* ignore */ }
+  const siteName = (site && (site.title || site.slug)) || '';
+  const siteHandle = (site && site.slug && host) ? `@${site.slug}@${host}` : '';
+  const siteUrl = baseClean ? `${baseClean}/` : '';
+  const siteIcon = (site && site.profile_photo) || null;
 
   const nodes = [];
@@ -269,5 +275,7 @@
     nodes.push({
       noteId: baseClean ? `${baseClean}/ap/notes/${o.id}` : o.id, parent: o.in_reply_to || null,
-      mine: true, outboxId: o.id, content: o.content, created_at: o.created_at, children: [],
+      mine: true, outboxId: o.id, content: o.content, created_at: o.created_at,
+      actor_name: siteName, actor_handle: siteHandle, actor_url: siteUrl, actor_icon: siteIcon,
+      children: [],
     });
   }
