# License key
To use HyperFormula, you need to specify which license type you use, by entering a license key in your configuration options.
# GPLv3 license
If you use HyperFormula under GNU General Public License v3.0 (opens new window) (GPLv3), in your configuration options, assign the mandatory licenseKey property to a string, gpl-v3:
const options = {
licenseKey: 'gpl-v3',
//... other options
}
# Proprietary license
To use HyperFormula under a proprietary license, follow these steps:
- Contact our Sales Team to purchase a proprietary license.
- Our Sales Team sends you your proprietary license key.
- In your configuration options, assign the mandatory
licenseKeyproperty to your proprietary license key:
const options = {
// replace xxxx-xxxx-xxxx-xxxx-xxxx with your proprietary license key:
licenseKey: 'xxxx-xxxx-xxxx-xxxx-xxxx',
//... other options
}
# Proprietary license key validation
TIP
HyperFormula doesn't use an internet connection to validate your proprietary license key.
Which versions of HyperFormula a key covers, and for how long, follows from the terms of your contract. Your key carries those terms, and HyperFormula applies them locally, without any connection to a server.
# Feature packages and add-ons
A proprietary license key may grant the whole library, or only part of it.
If your key grants only part of the library, then:
- A function your key doesn't include evaluates to a
#LIC!error, in the same way as any other error value. Everything else in the sheet keeps calculating. - An API method your key doesn't include throws a
LicenseCapabilityMissingErrorwhen you call it. Getters never throw;copy()andcut()do, because they belong to the clipboard feature. getAvailableFunctions()andgetFunctionDetails()describe only the functions your key includes, so a function picker built from them never offers a function that then fails.
# License key notifications
If your license key is missing, invalid, or expired, you see a corresponding notification in the console.
In that case every licence-gated function call evaluates to a #LIC! error — but no API method
starts throwing, and getAvailableFunctions() still describes the full set of functions. A key
problem never narrows what the library reports it can do.
# License key support
If you have any issues with your license key, contact our team.