πŸ”‘ Site License & Subscription

βš™οΈ Settings Dashboard
Checking license…

πŸ’Ž 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

  1. Every page loads assets/js/license.js, which reads the state from the HMG license registry (if configured) β†’ the site_license table β†’ the build config.
  2. 30 days before expiry: a gentle gold banner reminds everyone to renew.
  3. During grace: a red banner with a renewal link stays on top of every page.
  4. After expiry + grace (or suspension): a full renewal screen covers the portal. It re-appears even if removed, and cannot be dismissed.
  5. License rows written here carry a SHA-256 signature; a hand-edited database row fails verification and raises a tamper notice.
  6. 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.