How Fire2 Licensing Works
Fire2 uses signed requests, device activations, and tier-aware entitlements to keep your studio and label seats auditable.
License types
- Trials: 30-day full-featured access; device activation required.
- Perpetual: One-time purchase with an updates window (12/24/36 months by tier); valid beyond the window on last eligible version.
- Subscription: Continuous updates and features while active.
Tiers and SKUs
External names map 1:1 to existing SKUs for billing and telemetry:
- Solo → fire2-perp-basic / fire2-sub-basic (up to 2 devices)
- Studio → fire2-perp-pro / fire2-sub-pro (up to 2 devices)
- Label → fire2-perp-full / fire2-sub-full (up to 5 devices)
Client workflow (API)
- Start trial: POST
/main/api/v1/trial/startwith email, edition, modules, device_id, platform, hostname, app_version. - Activate: POST
/main/api/v1/licenses/activatewith license_key + device details to bind a seat. - Verify: POST
/main/api/v1/licenses/verifyperiodically (e.g., on launch) to refresh claims and telemetry. - Deactivate: POST
/main/api/v1/licenses/deactivateto free a seat. - Public key: GET
/main/api/v1/licenses/public-keyfor JWT verification (EdDSA).
Signed requests
Production and staging require HMAC headers:
X-F2-Request-Timestamp: <epoch seconds>
X-F2-Request-Signature: base64(HMAC-SHA256(timestamp + \"\\n\" + raw_body))
X-F2-Client: Fire2/<version>
Use the shared secret LICENSE_REQUEST_HMAC_SECRET. Requests outside the allowed clock skew are rejected.
Device activations
- Seats: Solo/Studio up to 2 devices; Label up to 5.
- Admins can deactivate stale devices; activations refresh on verify calls.
- Offline use is supported after activation; check in periodically to refresh claims.
Invoices and tax
Billing is in EUR via Stripe. Under §19 UStG (Kleinunternehmer), invoices show no VAT (“Kein Ausweis der Umsatzsteuer”).