License

The License page shows the current license status for your Threat Reaction deployment and provides a path to request or upgrade a license. Licenses are required to use the API — an expired or missing license disables all write operations.

In the app: /license

License Status

The license status card shows whether the current license is: Valid (green), Expiring Soon (yellow — within 14 days), Expired (red), or Missing (no key configured). A red warning banner also appears in the app header when the license is invalid.

How Licenses Work

Licenses are RSA-2048 signed JWTs issued by the Threat Reaction customer panel. Each license encodes:

  • The AWS Account ID the license is bound to.
  • The expiry date.
  • The plan type (Trial or Paid).

The LicenseValidator Lambda verifies the JWT signature on every API call using the RSA public key bundled in the CloudFormation deployment. No outbound call to a license server is made — validation is fully offline.

Trial Licenses

Free trial licenses are available without a credit card. They are time-limited (typically 14 days) and bound to a single AWS Account ID. Request one from the customer panel at threatreaction.com/panel/request-license — the License page in the app provides a direct link pre-filled with your Account ID.

Paid Licenses

Paid licenses are purchased via the customer panel. After payment, the license key is available in the panel under your account's Licenses section. Copy the key and paste it into the License page in the Threat Reaction app. The key is validated immediately.

Entering a License Key

Paste the full license key string into the input field on the License page and click Save. The LicenseValidator Lambda verifies the signature and expiry date. If valid, the status card updates to green and the warning banner in the header disappears.

License Bound to Account ID

Each license is cryptographically bound to the AWS Account ID that was specified when it was issued. If you redeploy the stack to a different AWS account, the existing license will be rejected. Request a new license from the customer panel with the new Account ID.

Renewing a License

When a paid license is near expiry, log in to the customer panel and renew or purchase a new license. Paste the new key into the License page before the old one expires to avoid any interruption in service. Trial-to-paid upgrades follow the same flow.

⚠️ Warning

Keep your license key private. The key is tied to your Account ID — if shared, another party could use it against your account quota. If you believe a key has been compromised, contact support to revoke it and issue a replacement.

💡 Tip

Set a calendar reminder 7 days before your license expiry date. Expired licenses disable all PUT /findings API calls, which means threat policy updates (including new BLOCK rules) will fail silently until the license is renewed.

ℹ️ Note

License validation is performed locally using the RSA public key in public/public-key.pem within the deployment package. If you need to rotate the signing key pair, rebuild and redeploy the CloudFormation stack with the new public key.