Index: src/services/PatreonService.js
===================================================================
--- src/services/PatreonService.js	(revision 0c8768a3980fe661b04476a7c15380bab8486f94)
+++ src/services/PatreonService.js	(revision cb4eda53c6bcb2060f9adb4512884698f1ed0013)
@@ -12,6 +12,9 @@
 // (deliberately accepted: $16 < effort to crack).
 //
-// Premium is OFF by default (KLONKT_PREMIUM_ENABLED != 'on'): no premium UI
-// is shown and nothing is gated. Self-hosters enable it once Patreon is set up.
+// Premium gating is ON by default: the extras (newsletter, statistics, …)
+// require a linked Patreon supporter ($16 lifetime). Set KLONKT_PREMIUM_ENABLED=off
+// to make every feature free (e.g. an internal/demo instance, or a self-hoster who
+// just wants the whole app). On self-host the flag is patchable — the gate is a soft
+// nudge toward supporting the project, not hard DRM.
 
 import crypto from 'node:crypto';
@@ -22,5 +25,6 @@
 
 export function premiumEnabled() {
-  return String(process.env.KLONKT_PREMIUM_ENABLED || '').toLowerCase() === 'on';
+  // Default ON; only an explicit 'off' disables the premium layer.
+  return String(process.env.KLONKT_PREMIUM_ENABLED || 'on').toLowerCase() !== 'off';
 }
 export function licenseBase() { return LICENSE_URL; }
