Skip to content

Integration overview

Use the DYCRYPT SDK for your language. The Java, Node.js, and Python implementations agree on signatures, machine fingerprints, dates, status precedence, online responses, and typed claims.

  • the complete licence string delivered to the customer;
  • the product public key or certificate PEM;
  • the exact product key expected in the signed prd claim;
  • for Full Online and Hybrid, the issuer URL and organisation slug;
  • the product’s check interval and maximum offline window for your scheduler and user messaging.

The product Quick Start Guide generates values and examples for the actual product and licence type.

Licence type Startup Later checks
Full Offline verify() Re-run locally for long-lived processes. No network.
Full Online check() Call check() on the signed interval.
Hybrid check() when possible, or immediate verify() followed by a background check() Call check() on the signed interval and enforce the maximum offline window.

The SDK does not create your background scheduler. Your application owns when the call happens and how its result reaches the feature gate.

Status Valid Recommended application response
ACTIVE Yes Enable the licensed functionality.
GRACE Yes Continue, show an expiry warning, and preserve customer data.
PENDING No Show the signed start date.
EXPIRED No Move to an unlicensed or read-only state.
STALE No Ask the user to reconnect so the application can check in.
REVOKED No Stop licensed functionality and show the issuer’s reason when present.
INVALID No Reject tampered, wrong-product, wrong-machine, unsupported, or unreadable input.
UNKNOWN No Explain that the issuer does not recognize this signed licence.

Prefer soft-then-hard enforcement: warn before expiry and limits, block new usage before damaging existing work, and never delete customer data because a licence changed status.

Full Offline and offline-activated Hybrid require a fingerprint before issue. Full Online and online-activated Hybrid bind on their first successful check().

Expose a --fingerprint command even for a Hybrid application so an issuer can choose offline activation for a customer with restricted setup connectivity.

  • a valid licence for the expected product;
  • a valid licence for another product;
  • a modified or truncated licence;
  • pending, grace, and expired dates;
  • the intended and a different machine;
  • online activation and a second-machine attempt;
  • network loss inside and beyond the signed window;
  • STALE recovery after a successful reconnect;
  • revocation and an operator-released machine binding.

Claims are readable application data, not secrets. Trust them only after the signature has verified.