On-Premises & Self-Hosted
You handed your entire product to the customer. On purpose.
SaaS keeps the interesting code on your servers. On-premises delivery does the opposite: the bundle, the Node services, the licence check and the deployment scripts all end up on hardware owned by someone else, behind a firewall you will never see, administered by people who have root and, occasionally, a renewal they would rather not pay.
Reality Check
tar -xzf acme-appliance-4.2.tgz
One archive, unpacked by the customer, on a machine where they are the administrator and you are a guest with no session.
Per-customer buildA leaked archive names the account it came from.
Offline expiryDate locking needs no network to end a term.
Signed attestationThey can prove the install is the build you sent.