π Site License & Subscription
π One-time payment (Lifetime)
The client pays once and owns the site forever β no recurring fees. The portal runs 100% on the client's own free Supabase + free hosting. HMG is only paid again if the client asks for services (maintenance, troubleshooting, training, new features).
π Subscription
For clients who cannot pay at once: a monthly / termly / annual plan. When the paid term ends, a grace period begins; if it lapses without renewal, every page of the portal shows a renewal screen until HMG extends the subscription. All data stays intact β nothing is deleted; access simply resumes on renewal.
β How enforcement works
- Every page loads
assets/js/license.js, which reads the state from the HMG license registry (if configured) β thesite_licensetable β the build config. - 30 days before expiry: a gentle gold banner reminds everyone to renew.
- During grace: a red banner with a renewal link stays on top of every page.
- After expiry + grace (or suspension): a full renewal screen covers the portal. It re-appears even if removed, and cannot be dismissed.
- License rows written here carry a SHA-256 signature; a hand-edited database row fails verification and raises a tamper notice.
- With the optional HMG registry (a JSON on HMG-controlled hosting), the authoritative status lives outside the client's control β local edits cannot suspend or extend the term.
Honest note: any software hosted by the client can ultimately be modified by its owner; these layers make bypassing the subscription impractical for non-experts, keep the authoritative status with HMG, and keep everything transparent for both sides.