Index: src/routes/guardian.js
===================================================================
--- src/routes/guardian.js	(revision ea211b9cdb42e4c59da937c4c2ab5162251ce374)
+++ src/routes/guardian.js	(revision bfd9c7325cd36c5b855d62c6a23001f6733ef4f8)
@@ -185,5 +185,7 @@
   const site = siteForUser(req);
   if (!site) return res.status(404).json({ error: 'no_site' });
-  res.json(dashboardState(site, resolveLang(req)));
+  // Het paneel tikt elke 45 seconden, of er nu iets gebeurd is of niet. Met een
+  // ETag kost stilte een lege 304 in plaats van het hele paneel (Barts punt, 9-8).
+  return AP.sendMaybe304(req, res, dashboardState(site, resolveLang(req)), { contentType: 'application/json' });
 });
 
