Just bought? Thank you.
Your license is on its way to the address you paid with: an email with your license key and the cadaclysm.lic file attached. It usually arrives within a minute; check the spam folder the first time. Nothing else to do on this page — the rest is reference.
Where it goes
The libraries look for cadaclysm.lic, in order: the CADACLYSM_LICENSE environment variable (the file's path, or its text), beside your executable, then the working directory. Or hand it over from code: license() in Python and Node.js, Scene.LicenseSet in C#, cadaclysm.LicenseSet in Go, Cad.licenseSet in Java, Cadaclysm.license(_:) in Swift, cadaclysm_license_set() in C. license_info() tells you what was found.
From a checkout of the SDK, the easiest way to fetch or refresh it, now or after any change:
python fetch.py --license YOUR-KEY
One file, no seat lock
One license per company. Its count is however many seats or servers you bought, and the same file goes on each of them, up to that count. The libraries do not count installations or phone home; the number is a term of the license agreement, like any other. A seat covers one developer: their own workstations, their internal tools, and the build and test automation of the applications they work on. An application you ship to end users with the libraries inside needs a product license per application (scope=product products=N). A server is any machine that opens or processes files unattended on behalf of other users or systems; it needs a server license, and its license_info() line says scope=server servers=N instead of seats=N. A website embedding the WebAssembly builds needs a web license per website (a domain and its subdomains): scope=web sites=N. A web license names its websites (domains=…), and the WebAssembly builds hold to them: on another host they run as if unlicensed, while localhost always passes — see the web docs. Colleagues can try the libraries without a license — they run in full and print a notice on every open and export — before you add a seat.
Seats, tier, renewal, cancellation
Everything about the subscription happens in the customer portal, signed in with the address you paid with: add seats or servers, move from Reader to Pro, update the card, cancel. Each change mails you a fresh file; re-run fetch.py --license if you want it on disk right away. Renewals happen by themselves — the file you have keeps covering every release up to the day its updates end, and the renewed one is mailed the same way.
Support comes with the license: by email, or in a private channel on our Discord — join it and write to info@blitter.studio from the address you paid with, and we open the channel for you. An enterprise agreement, access to the Rust sources, or anything the portal cannot do: the same address.
The license agreement
The libraries are licensed, not sold, under the cadaclysm End User License Agreement, the LICENSE file in every archive and package. The licensor is Blitter S.r.l. and Roberto De Ioris; the agreement is governed by Italian law. A license covers every release dated on or before the day its updates end, and a paid one keeps covering those releases after that day. Only newer releases need a renewal. The wrappers, headers and samples in the SDK are Apache-2.0.