Skip to content
ABRQ DATADocs Abrq DIP · latest
Product page Request a trial
On this page

Entitlements

The payload fields#

The signed license payload carries exactly these fields:

Field Meaning
license_id Vendor-issued identifier (e.g. abrq-license-XXXX), shown in the UI and API
customer Display name of the licensee
issued_at Issue timestamp; also seeds the monotonic clock anchor on first install
expires_at Expiry timestamp; enforcement is described in Expiry and clock integrity
features Whitelist of licensed feature names (see below)
fingerprints SHA-256 machine-id hashes for hardware binding; empty = unbound

(A deprecated singular fingerprint field is still accepted for older licenses; it behaves like a one-entry fingerprints list.)

That is the whole model. There are no other entitlement knobs.

The features whitelist#

features is a whitelist of named feature flags:

Feature What it gates
streams The HTTP-API streams surface — its API router and UI pages
email Email-attachment ingestion — inboxes and email feeds
advanced_connectors Reserved
  • An empty features list means all features are licensed. Most licenses ship this way; per-feature scoping is the exception.

  • streams and email are enforced at the API: calling a gated endpoint without the feature returns 403 with this detail text (feature name varies):

    {
      "detail": "This feature ('streams') is not enabled by your license. Contact the vendor to add it to your license file, then replace license/license.json and restart the backend."
    }
    
  • advanced_connectors is reserved: the flag exists in the payload vocabulary but does not currently gate connector functionality.

Note. The licensed feature set is cached for the lifetime of each backend process. After replacing the license file, restart the backend, worker, and beat for feature gating to pick up the change (the GET /api/v1/license endpoint itself re-reads the file on every call, so it reflects the new file immediately).

What is deliberately not in the license#

Abrq DIP licensing has no capacity entitlements. Explicitly:

  • No seat caps — user accounts are not counted or limited by the license.
  • No pipeline caps — the number of projects, tasks, CDC tables, streams, or jobs is not license-limited.
  • No usage metering — rows, runs, and data volume are never counted against the license.
  • No phone-home — verification is offline against the embedded vendor key; the only recurring check is a local hourly re-read of the file on disk. Nothing is transmitted to Abrq or anyone else.

Sizing is an infrastructure decision (worker replicas, database resources), not a licensing one.