Index: package.json
===================================================================
--- package.json	(revision 845381233274021c4c9a2aefe125c331d2262518)
+++ package.json	(revision 7007d4c869cb7090a120836d4b342656df3f775c)
@@ -1,4 +1,4 @@
 {
-  "name": "prutfolio",
+  "name": "klonkt",
   "version": "1.0.0-alpha.1",
   "description": "Klonkt — zelf-gehost multi-site muziek- & blogplatform met community, realtime en (later) E2EE DMs. Node + SQLite + htmx.",
Index: src/server.js
===================================================================
--- src/server.js	(revision 845381233274021c4c9a2aefe125c331d2262518)
+++ src/server.js	(revision 7007d4c869cb7090a120836d4b342656df3f775c)
@@ -260,11 +260,14 @@
   const startUrl = (base || '') + '/?source=pwa';
 
-  // A stable identity per site so installs don't collide (Chromium uses `id`)
-  const idBase = site?.slug ? `prutfolio-${site.slug}` : 'prutfolio';
+  // A stable identity per site so installs don't collide (Chromium uses `id`).
+  // NB: een id-wissel orphant bestaande PWA-installs (er is geen migratie die een
+  // install over een id-verandering heen tilt) — wie een site al als PWA had,
+  // moet 'm één keer opnieuw installeren. Data blijft server-side, dus niets kwijt.
+  const idBase = site?.slug ? `klonkt-${site.slug}` : 'klonkt';
 
   res.set('Cache-Control', 'no-cache');
   res.json({
     id: idBase,
-    name: site?.title || 'Klonkt Hub Beta',
+    name: site?.title || 'Klonkt',
     short_name: (site?.title || 'Klonkt').slice(0, 12),
     description: site?.description || site?.tagline || '',
