Index: src/routes/guardian2.js
===================================================================
--- src/routes/guardian2.js	(revision 2b4252c2c84fdd36dbdc75db1a4931f813b18a90)
+++ src/routes/guardian2.js	(revision 787e0d9e7941c4f9bbfcc32c7fab0921358e31c0)
@@ -148,8 +148,9 @@
   if (!site) return res.status(404).json({ error: 'no_site' });
   const items = [];
+  const host = (() => { try { return new URL(process.env.PUBLIC_BASE_URL || '').host; } catch { return ''; } })();
   // Local wards (guardian co-located): read the pending follows directly.
   for (const wardSlug of wardSlugsOf(site)) {
     for (const f of Guardianship.follows.listForWard(wardSlug)) {
-      items.push({ id: f.id, ward: wardSlug, follower: f.follower_handle || f.follower_name || f.follower_uri, followerIcon: f.follower_icon, remote: false, created: f.created_at });
+      items.push({ id: f.id, ward: `@${wardSlug}@${host}`, follower: f.follower_handle || f.follower_name || f.follower_uri, followerIcon: f.follower_icon, remote: false, created: f.created_at });
     }
   }
