Index: src/services/guardianship/gated.js
===================================================================
--- src/services/guardianship/gated.js	(revision 6259305d61295ab18fffdd75204e61e27301ad75)
+++ src/services/guardianship/gated.js	(revision 89d3c06476e361dffafed7c6889ced7f38eebf52)
@@ -68,4 +68,5 @@
   'shaer:customEmoji': 'gate_custom_emoji',
   'shaer:accountMove': 'gate_account_move',
+  'shaer:following': 'gate_following',
 };
 /**
@@ -112,7 +113,20 @@
   { feature: 'shaer:customEmoji', kind: 'setting', reversible: true, bead: 'shaer-ytw' },
   { feature: 'shaer:accountMove', kind: 'setting', reversible: true, bead: 'shaer-tge' },
-  // Altijd aan voor een ward (5.3): niet te verzetten, wel te tonen. Een paneel
-  // dat alleen verstelbare dingen laat zien verzwijgt de helft van wat er geldt.
+  // Wie de ward mag VOLGEN, en wie de ward mag volgen: twee poorten, want twee
+  // vragen. Ze stonden hier als één rij, en dan telt het paneel de ene richting
+  // en zwijgt over de andere -- een guardian ziet "follows: 3 wachtend" en weet
+  // niet of er drie vreemden bij zijn kind willen of dat zijn kind drie keer
+  // heeft gevraagd of het iemand mag volgen. Dat zijn niet dezelfde zorg.
+  //
+  // Inkomend is vast: §5.3 EIST dat een Follow naar een ward langs de guardians
+  // gaat, dus die staat aan en blijft aanstaan. Tonen mag, verzetten niet.
   { feature: 'shaer:follows', kind: 'perRequest', reversible: true, fixed: true },
+  // Uitgaand is verstelbaar, en dat verschil is opzet. De FEP zegt over deze
+  // richting niets: §5.3 gaat alleen over een Follow die op een ward AF komt.
+  // Wat je verder gated is expliciet aan de implementatie gelaten, dus dit is
+  // onze keuze en niet die van de spec -- en dan hoort hij ook echt te kunnen
+  // worden losgelaten, want een kind dat ouder wordt hoort niet eeuwig te
+  // blijven vragen wie het mag volgen (shaer-p729, shaer-yeo5).
+  { feature: 'shaer:following', kind: 'perRequest', reversible: true, bead: 'shaer-p729' },
 
   // GEPLAND, en dat is bij deze twee geen achterstand maar een besluit.
Index: src/services/guardianship/queues.js
===================================================================
--- src/services/guardianship/queues.js	(revision 6259305d61295ab18fffdd75204e61e27301ad75)
+++ src/services/guardianship/queues.js	(revision 89d3c06476e361dffafed7c6889ced7f38eebf52)
@@ -158,5 +158,10 @@
 export function wardGates(mySlug, wardUri) {
   const statuses = wardGuardianStatuses(wardUri);
-  const wachtend = follows.listReviewsByDirection(mySlug, 'incoming')
+  // Per richting geteld, want het zijn twee zorgen. "follows: 3 wachtend" liet
+  // een guardian niet zien of er drie vreemden bij zijn kind willen of dat zijn
+  // kind drie keer heeft gevraagd of het iemand mag volgen (shaer-p729).
+  const wachtendIn = follows.listReviewsByDirection(mySlug, 'incoming')
+    .filter((r) => r.ward_uri === wardUri).length;
+  const wachtendUit = follows.listReviewsByDirection(mySlug, 'outgoing')
     .filter((r) => r.ward_uri === wardUri).length;
   return gated.gateRows({
@@ -172,5 +177,8 @@
       feature: p.feature, value: !!p.value, status: gated.sentStatus(p, Date.now()),
     })),
-    waiting: { 'shaer:follows': wachtend || undefined },
+    waiting: {
+      'shaer:follows': wachtendIn || undefined,
+      'shaer:following': wachtendUit || undefined,
+    },
     // De vraag van het kind zelf staat APART van wat er in een wachtrij staat
     // (shaer-8ru). Allebei "n waiting" noemen maakt van twee verschillende
