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.
Copy these values from DYCRYPT
Section titled “Copy these values from DYCRYPT”- the complete licence string delivered to the customer;
- the product public key or certificate PEM;
- the exact product key expected in the signed
prdclaim; - 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.
Choose the entry point
Section titled “Choose the entry point”| 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.
Handle the returned status
Section titled “Handle the returned status”| 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.
Machine binding
Section titled “Machine binding”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.
Test before release
Section titled “Test before release”- 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;
STALErecovery 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.