Documentation
Sigil documentation
Sigil is a license authority for WebAssembly. You register a module, issue license keys out of a seat pool, and compile Sigil's verifier into the module. The module then refuses its protected functions unless it holds a lease: a short-lived token, signed for one machine, that it verifies offline against keys fixed at build time.
Quickstart →From no license to a licensed install in the portal, in about fifteen minutes.
Download the SDK →Rust crates, a native example, a WASM example and the JavaScript host SDK.
Protect a WASM module →Gate the exports of a
wasm32-unknown-unknown module and drive it from an extension or Node.
Rust SDK reference →sigil-lease and sigil-client: every type, call and error.
The pieces
| Piece | Where it runs | What it does |
|---|---|---|
| Portal | sigil.enigmahq.sh/portal | Register applications, define policies, issue and revoke licenses, see installs and the audit trail. Sign-in is through conFIEL Auth. |
| Sigil API | sigil.enigmahq.sh | Turns a license key into a lease (POST /v1/client/activate), counts seats, publishes each application's public keyset. |
sigil-lease | Inside your module or program | The verifier. no_std, no unsafe. Checks a lease's signature, application, machine, platform, time window and entitlements. This is the enforcement. |
sigil-client | Native host (Rust) | Activates a key, caches and renews the lease, hands it to the gate. Convenience, not control. |
@sigil/sdk | JavaScript host (extension, Node) | The same for WASM hosts: activation, cache in chrome.storage or files, renewal, unlock(module). |
How a license reaches your code
- In the portal you register an application. Sigil generates an Ed25519 signing key for it.
- Your build downloads the application's public keyset and compiles it in. From then on the binary trusts those keys and no others.
- You create a policy (a tier: entitlements, platforms, machines per license, lease lifetime) and issue a license under it. The key,
SGL-XXXXX-…, is shown once. - Your customer enters the key. The host activates it, which takes a seat, and receives a lease bound to that machine.
- The verifier inside your code checks the lease before every protected call, with no network. The install appears in the portal and renews at half-life while online.
What Sigil is not. It is a commercial control on code you hand to customers, not DRM. Someone who patches your binary can remove the check. Everything short of that, such as calling exports directly, editing or moving leases, sharing keys without limit or running past revocation, is stopped. See Security.
Access
The portal is for your staff. They sign in with conFIEL Auth. On first sign-in, Sigil creates your account and sets its seat pool from your conFIEL entitlement. Your customers never see the portal: they only enter a license key in your product.
The client API that your product calls needs no account. The license key is the credential.