Index: src/services/guardianship/handshake.js
===================================================================
--- src/services/guardianship/handshake.js	(revision 30d0e2cad3257e201abc243a96cf44c6e23237ed)
+++ src/services/guardianship/handshake.js	(revision fa33214eb34752fafee25fc95942f470701006f8)
@@ -16,5 +16,5 @@
  * arrive once via wireHandshake(deps); nothing here imports ActivityPubService.
  */
-import { isGuardianRelationship, GUARDIAN_RELATIONSHIP_COMPACT } from './context.js';
+import { isGuardianRelationship, GUARDIAN_RELATIONSHIP_COMPACT, carriesGuardians } from './context.js';
 import * as offers from './offers.js';
 import * as relations from './relations.js';
@@ -139,10 +139,5 @@
   const doc = await deps.fetchActor(candidateUri).catch(() => null);
   if (!doc) return 'unverified';
-  const g = doc['shaer:guardians'];
-  const has = Array.isArray(g) ? g.length > 0
-    : typeof g === 'string' ? g.length > 0
-      : (g && typeof g === 'object') ? (Array.isArray(g.items) ? g.items.length > 0 : true)
-        : false;
-  return has ? 'malformed' : 'ok';
+  return carriesGuardians(doc) ? 'malformed' : 'ok';
 }
 
