Index: src/services/PermissionsService.js
===================================================================
--- src/services/PermissionsService.js	(revision 9915786f0314ef6ea4c4521ec82f9bd93d3e795a)
+++ src/services/PermissionsService.js	(revision 6224462ba081c001ea5cbd496e2465f52fedf411)
@@ -44,4 +44,5 @@
     if (!user) return false;
     if (user.role === 'god') return true;
+    if (!site) return false; // geen site-context (bv. hub-landing) -> niets te posten
     if (user.id === site.owner_id) return true; // Site owner
     if (this.canAdminSite(user, site)) return true;
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision 9915786f0314ef6ea4c4521ec82f9bd93d3e795a)
+++ src/views/shell.ejs	(revision 6224462ba081c001ea5cbd496e2465f52fedf411)
@@ -294,6 +294,8 @@
 <%- include('partials/footer') %>
 
-<!-- Mobile bottom-tab navigation (auto-hidden ≥768px) — niet op landing/auth -->
-<% if (!bareChrome) { %>
+<!-- Mobile bottom-tab navigation (auto-hidden ≥768px). Toont overal — óók op de
+     hub-landing (zodat mobiel altijd Home/Zoek/Inloggen heeft) — behalve op de
+     auth-focusschermen. -->
+<% if (!(typeof bodyClass === 'string' && bodyClass.indexOf('on-auth') >= 0)) { %>
 <%- include('partials/bottom-tab') %>
 <% } %>
