Index: src/views/pages/guardian.ejs
===================================================================
--- src/views/pages/guardian.ejs	(revision b5924ebf31cdcc5aa15b62679804833e70054824)
+++ src/views/pages/guardian.ejs	(revision c6185fa8bf0039de95fa1be9afb9804d70c203af)
@@ -8,5 +8,5 @@
   <link rel="icon" href="/guardian/icon.svg" type="image/svg+xml">
   <meta name="theme-color" content="#ff6b35">
-  <link rel="stylesheet" href="/assets/css/guardian.css?v=<%= assetV.css %>">
+  <link rel="stylesheet" href="/guardian/app.css">
 </head>
 <body>
@@ -77,5 +77,5 @@
 
   <script type="application/json" id="guardian-state"><%- JSON.stringify(state) %></script>
-  <script src="/assets/js/guardian.js?v=<%= assetV.js %>" defer></script>
+  <script src="/guardian/app.js" defer></script>
 </body>
 </html>
Index: src/views/pages/messages.ejs
===================================================================
--- src/views/pages/messages.ejs	(revision b5924ebf31cdcc5aa15b62679804833e70054824)
+++ src/views/pages/messages.ejs	(revision c6185fa8bf0039de95fa1be9afb9804d70c203af)
@@ -24,4 +24,15 @@
   <% } %>
 
+  <%# FEP-633c §2: the ward always sees who guards it (committed relations). %>
+  <% if (typeof myGuardians !== 'undefined' && myGuardians.length) { %>
+    <div class="alert" style="display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-left:3px solid #35a2ff;">
+      <span style="font-size:1.4em;">&#128737;</span>
+      <div style="flex:1;min-width:200px;">
+        <strong><%= t('msg.guardians_label') %></strong><br>
+        <span><%= myGuardians.map(function(g){ return g.handle; }).join(', ') %></span>
+      </div>
+    </div>
+  <% } %>
+
   <div class="msg-filters" role="tablist" aria-label="<%= t('msg.title') %>">
     <button type="button" class="msg-chip is-on" data-show="all"><%= t('msg.filter_all') %></button>
