MOD Licensing.
Copy protection and licence issuance for software sold on MOD-powered devices. Licences are issued by MOD’s cloud, bound to a single unit, and read by any LV2 host that implements the open protocol, including your own. The host never touches cryptography.
Running in production today on MOD devices and on third-party hardware.
Three parts, and only one of them is ours to keep.
01 — OpenThe protocol is open.The MOD License LV2 extension defines how a host passes licence data to a plugin and how the plugin reports its status back. It is published and ISC-licensed.A host returns the contents of a licence file and frees it afterwards. It performs no validation of any kind: all verification happens inside the plugin.Read the specification → 02 — ProprietaryThe implementation is ours.Verification runs inside the plugin, in a static library MOD compiles for each hardware target.A device’s hardware identity is read at compile time, so a new platform needs a build from us.
03 — IssuedLicences are issued, not shipped.When a customer buys, MOD’s cloud issues a licence naming the licensee, the plugin and that specific unit, signed with a key that never leaves our infrastructure.Change any of those details and the licence stops matching. Copy it to another device and the plugin goes back to trial.
Every protected plugin has two modes.
LicensedOn the unit it is licensed to, the plugin runs fully, with no limits.
TrialWithout a licence, it still runs, but its sound drops out from time to time. Enough to try it on your own device, in your own rig, before deciding.
No account, no sign-up, no expiry on the trial. Trial is not a feature you add: it is the default state of every protected plugin, implemented inside the plugin itself.
If you already have an LV2 host, you keep it.
Implementing the extension means providing one struct with two function pointers, and optionally asking a plugin for its licence status. No key handling, no signature checking, no certificate management: the host reads a file and passes the bytes along.
/* the entire host-side contract */
typedef struct _MOD_License_Feature {
MOD_License_Handle handle;
/* return the licence file's contents, or NULL */
char* (*license)(MOD_License_Handle, const char* license_uri);
/* free what license() returned */
void (*free)(MOD_License_Handle, char* license);
} MOD_License_Feature;
Rather not write it? mod-host implements the protocol already and is open source, so it also serves as a reference implementation.
Two ways in.
For plugin developersBuilding a commercial plugin for a MOD-powered marketplace? You need the redistribution package for your target platform: the static library, the header and a working example plugin. Integration is a handful of calls in your plugin code.Write to sales@mod.audio, or contact your platform operator.Building a free plugin? None of this applies to you.Developer resources →Selling on MOD → For hardware platformsIf you are building a device and intend to sell software on it, MOD Licensing is the layer that makes that revenue defensible:• Licence issuance for your platform. We compile for your hardware target and issue licences from the cloud your devices already talk to.• A store third parties can sell into. Vendors build against documented, existing tooling instead of something you have to invent and maintain.To start, we need to know your hardware target.Talk to us →