Reference

Security

Sigil makes running your code without a valid license harder than writing your own binary patch. It does not make your code unreadable. Here is exactly where that line is.

What is enforced where

CheckWhereBypassable by
Seat pool, seats per license, license status, platform ∈ policySigil APInobody without your admins' sign-in
Signature, application, machine, platform, time window, license term, entitlement per callinside your module or programpatching your binary
now and platformsupplied by the hosta host that lies, within limits (below)
Renewal cadence, cache, UXSDK in the hostanyone; it's convenience

What it stops

AttackResult
Copy the module and call its exports directlySIGIL_NOT_LOADED: no lease, no protected call
Edit a lease (more entitlements, later expiry)SIGIL_BAD_SIGNATURE
Forge a lease with your own keySIGIL_UNKNOWN_KEY / SIGIL_BAD_SIGNATURE: the keyset is compiled in, and the host can't add keys
Copy a lease to another machineSIGIL_WRONG_MACHINE
Use a server license in an extension buildPLATFORM_NOT_ALLOWED at activation; SIGIL_WRONG_PLATFORM in the module
Share one key widelySEAT_LIMIT_REACHED after its machines are taken, all visible in the portal
Keep using a revoked licenseStops at the next renewal; at most lease + grace offline
Wind the clock back (Gate)SIGIL_CLOCK_ROLLBACK
A new call site forgets the checkThe check lives in the protected function, not at call sites

What it does not stop

Data Sigil holds

Portal sign-in

Staff sign in through conFIEL Auth. The session is an ID token in an HttpOnly, SameSite=Lax cookie, verified on every call. Requests that change anything must carry Sigil's own Origin, and the sign-in page only redirects to Sigil's own callback. While conFIEL Auth is a stand-in, its user directory and token key live with Sigil and are clearly marked as a mock.