Guide
Offline Access by Integration
Offline access is package-specific, never a universal licensing promise.
SoundSync
Current behavior
| Integration | Offline boundary |
|---|---|
| HISEScript | Configurable grace following prior valid access and an unexpired server grace state |
| Native HISE | Follow the generated native authority contract and verify the exported build |
| JUCE 0.7.0 | Online renewal at startup; no offline audio access |
| Custom HTTP | Your client implements only the documented and authorized cache/grace policy |
Do not turn denial into grace
Missing entitlement, revoked credentials, expired access, refund effects, and invalid ownership are not connectivity failures. Preserve the distinction in both the UI and the processing gate.
A warm activated device, fresh installation, corrupted cache, expired grace state, and clock changes are separate release tests. A screenshot of an offline message does not establish that every offline failure has been exercised.
Hard denials are not offline failures
Offline grace is not a catch-all error handler. SERIAL_NOT_FOUND or SERIAL_REVOKED are confirmed denials, not reasons to continue with cached ownership. Device deactivation, subscription_payment_required, and an expired entitlement also require their documented access decision.
Permit grace only in an integration that supports it, after prior valid access, during a genuine connectivity failure, and before the configured expiry. JUCE 0.7.0 does not provide offline audio access; this HISEScript grace rule must not unlock a JUCE startup.
