Index: src/views/pages/admin-site-edit.ejs
===================================================================
--- src/views/pages/admin-site-edit.ejs	(revision d68ee3aebf96df5e90d156f7a3d01115680ff3c7)
+++ src/views/pages/admin-site-edit.ejs	(revision acbc9fc37db938981585559eac40eda58373493e)
@@ -144,4 +144,8 @@
       </label>
       <% } %>
+      <label class="cb">
+        <input type="checkbox" name="approve_followers" value="1" <%= site.approve_followers ? 'checked' : '' %>>
+        <span><%= t('asite.approve_followers') %></span>
+      </label>
     </fieldset>
 
Index: src/views/pages/connect.ejs
===================================================================
--- src/views/pages/connect.ejs	(revision d68ee3aebf96df5e90d156f7a3d01115680ff3c7)
+++ src/views/pages/connect.ejs	(revision acbc9fc37db938981585559eac40eda58373493e)
@@ -50,4 +50,26 @@
       stond hij bovendien zonder enige opmaak: labels als losse tekst naast hun
       invoerveld. Op die pagina erft hij de kaartopmaak. %>
+
+  <%# De eigenaarspoort (Robins wens, 18-8): volgverzoeken die wachten op
+      een beslissing van de eigenaar. Alleen buiten voogdij — een ward ziet
+      dit nooit, want daar beslissen de guardians. %>
+  <% var folreqs = (typeof followRequests !== 'undefined' && followRequests) || []; %>
+  <% if (folreqs.length) { %>
+    <h2 class="conn-h"><%= t('tl.folreq_title') %></h2>
+    <p class="conn-unreach-lead"><%= t('tl.folreq_sub') %></p>
+    <ul class="tl-foll-list">
+      <% folreqs.forEach(function (f) { var disp = f.follower_name || f.follower_handle || f.follower_uri; %>
+        <li class="tl-foll">
+          <span class="tl-foll-av"><% if (f.follower_icon) { %><img src="<%= avatar(f.follower_icon, 96) %>" alt=""><% } else { %><%= String(disp || '?').replace(/^@/, '').charAt(0).toUpperCase() %><% } %></span>
+          <span class="tl-foll-meta">
+            <a href="<%= f.follower_uri %>" target="_blank" rel="nofollow noopener"><%= disp %></a>
+            <% if (f.follower_handle && f.follower_name) { %><span class="conn-sub"><%= f.follower_handle %></span><% } %>
+          </span>
+          <form method="post" action="/follow-requests/approve"><input type="hidden" name="id" value="<%= f.id %>"><button type="submit" class="btn btn-primary"><%= t('tl.folreq_accept') %></button></form>
+          <form method="post" action="/follow-requests/deny"><input type="hidden" name="id" value="<%= f.id %>"><button type="submit" class="tl-unfollow"><%= t('tl.folreq_deny') %></button></form>
+        </li>
+      <% }); %>
+    </ul>
+  <% } %>
 
   <%
