License key
A license key unlocks full-length, watermark-free exports for your app. The SDK checks it on the device: there's no network call and nothing is reported back.
Get a key
- Sign in to the Nitrakit portal with your invite and create your team.
- Under Apps, add your app with its identifiers on each platform:
- iOS: the bundle ID, e.g.
com.acme.app. - Android: the
applicationId, and the SHA-256 fingerprints of the certificates that sign your release builds. With Play App Signing, use the app signing key from Play Console → Setup → App signing, and add the upload key if you test upload-signed builds. - Web: your origins, e.g.
https://app.acme.com, orhttps://*.acme.comfor all subdomains.
- iOS: the bundle ID, e.g.
- Under License keys, create a key. One key covers all your team's registered apps.
During the beta, trial keys last 15 days and are available to teams that joined through an invite.
Install it
Install the key once when your app starts, before showing the editor:
| Platform | Call |
|---|---|
| iOS | setLicense(key:) |
| Android | NitrakitLicense.set(context, key) |
| React Native | setLicense(key) |
| Web | setLicense(key), after await load() |
A key isn't a secret: it only works for the apps it names, so it can live in your code or app configuration.
What's checked
| Platform | Checked |
|---|---|
| iOS | The bundle ID. |
| Android | The applicationId, and that the app is signed with one of the listed certificates. |
| Web | The page's origin. |
Development. Debuggable Android builds skip the certificate check, so you don't need to
register debug keys (the package name must still match). On the web, localhost and
127.0.0.1 are always accepted. Both show a small "Development" badge on the preview.
States
Installing a key returns its status: the state, the team and key id, dates, the export
limits that apply, and problems explaining a key that doesn't apply (e.g. which bundle ID
the key expected).
| State | Meaning | Result |
|---|---|---|
| Valid | The key is valid for this app. | No limits. |
| Development | A valid key on a debuggable Android build or localhost. | No limits; "Development" badge. |
| Expired | A trial key past its date. | Unlicensed. |
| Wrong app | The key doesn't name this app. | Unlicensed. |
| Invalid | Not a Nitrakit key, or damaged. | Unlicensed. |
| Missing | No key installed. | Unlicensed. |
Unlicensed
Without a valid key, nothing breaks: editing and export keep working, so you can try the SDK before getting a key. But:
- exports stop after 30 seconds;
- exports carry a watermark;
- the preview shows an "Unlicensed" badge.
Updates
A full license has an "updates until" date rather than an expiry. It works with every SDK version released before that date, so apps you've shipped keep working after the license period ends; you need a renewed key only to move to newer SDK versions.