Product · Licensing platform
ULM — one licensing platform for your whole product portfolio.
A modern alternative to FlexLM and RLM: signed offline licenses that verify without a network, online activation and revocation over a REST API, floating and node-locked seats, usage metering, and on-prem enforcement — with the operational spine (HA, webhooks, key protection) to run it in production.
Live in production — ULM is the license authority for the Binary Hat product portfolio and meters live usage today.
Capabilities
The classic licensing strengths — on a modern stack.
Signed offline licenses + online activation
Ed25519-signed license files verify with no network — air-gapped rooms stay licensed — while online activation, revocation, and renewal run through a REST API. Five independent verifiers (Python, C/C++, shell, JS) agree byte-for-byte.
Floating and node-locked seats
Lease-based concurrent seats counted from live leases, never a stored number — a crashed client's seat returns itself. Host-locking binds a license to a machine. Token / package pools model weighted checkouts (à la FlexLM).
Metering, quotas, and true-up
Prepaid credit ledgers, per-window quotas, and overdraft buffers for usage-based products. True-up reporting computes peak concurrency by sweep-line (not sampling) and counts distinct denied users — numbers you can defend to a customer.
On-prem and air-gapped
An enforcement-only on-prem site server counts seats on a customer LAN without ever holding a signing key — the signature is the authority, not the database. Signed usage flows back to the cloud for portfolio-wide true-up.
Built for production operations
High availability with automatic Postgres failover (Patroni), HMAC-signed webhooks with at-least-once recovery, allocation policy (reserve / include / exclude), borrow-and-roam for laptops, version gating, and optional Azure Key Vault key protection.
Adopt by manifest
Each product declares its features, plans, and policy in one idempotent API call and gets back a public key to bootstrap offline verification. SDKs and a documented adoption guide mean a product wires itself in without bespoke server work.
Why ULM
What the incumbents make hard, ULM makes routine.
- Modern Ed25519 crypto and a REST API + SDKs, instead of a C API and text license files.
- One console for a whole portfolio of products, features, plans, and seats.
- Self-serve issuance, email-based recovery and machine transfer, HMAC-signed webhooks.
- Honest true-up that reports over-licensing as readily as under-licensing.
Proven, not theoretical
We run our own portfolio on it.
ULM isn't a slideware product. It issues and meters licenses for our own software in production — including Loupe, whose prepaid review credits it settles live. Concurrency races are serialised at the database, peak usage is computed exactly, and the on-prem path has been proven to reject a tampered database because the signature — not the row — is the authority.
If you ship software and pay the FlexLM tax to license it, we'd like to show you the alternative.
Licensing your own software the hard way?
Tell us what you ship, how you'd want to license it, and where FlexLM or RLM is costing you. We'll walk you through ULM and where it fits.