Definition
An entitlement is a structured description of what a customer has paid for and is currently allowed to access. It is the bridge between a billing system (Stripe, etc.) and your application. A typical entitlement object includes the plan tier, a list of active add-ons, seat limits, usage caps, and expiration metadata. When a user hits a gated feature, your code checks the cached entitlement rather than calling the billing system every request.
Doing entitlements right is harder than it looks. You must tolerate intermittent network, handle upgrades and downgrades within the cache window, revoke correctly when a subscription fails, and protect against replay of old entitlements. Most SaaS businesses evolve from per-request billing API calls to a proper entitlement service by their second paid tier.
How SheetLinkWP relates to Entitlement
The SheetLink Forms plugin caches the entitlement response from the SheetLinkWP licensing API for 12 hours. The cached object contains your plan (FREE, PRO, AGENCY, or AGENCY_PLUS), the list of unlocked add-on slugs, your seat allotment, and the next refresh time. Each premium feature's PHP class checks the cached entitlement via the can($feature) helper before rendering UI or firing hooks. If your license is revoked, the plugin automatically downgrades to free functionality within 12 hours of the change.