Turn a contract into a cryptographic fact
If you sell software, your entitlements are probably a spreadsheet, a licence key generator someone wrote years ago, and an awkward conversation at renewal. BlackWall makes an entitlement a signed object: bound to named hosts, scoped to named features, and revocable the moment the commercial relationship changes.
What a licence actually asserts
A BlackWall licence is not an opaque key that unlocks everything. It is a statement of specific facts, signed so that changing any one of them breaks the signature.
- Who — a person or a business, by legal name, with your own customer reference.
- Where — one to 32 exact DNS hostnames or IP literals. Wildcards, ports and URLs are rejected outright.
- What — named feature identifiers, so tiers and add-ons are enforced, not just documented.
- How many — a maximum instance count for the deployment.
- When — issue, not-before and expiry timestamps in UTC.
- How often to check — a signed online-check interval the integration must honour.
Why Ed25519 and not a certificate
Wrapping a licence in a self-signed X.509 certificate looks reassuring but creates no trust on its own — the product would still have to pin the issuer or the public key, which is the actual security step.
BlackWall does that step directly. An Ed25519 signature is small and deterministic, and the fixed HTTPS issuer, key-derived identifier and pinned public-key fingerprint are the trust anchors. Less ceremony, the same guarantee, far less that can be misconfigured.
Revocation that actually revokes
An offline-only licence check cannot learn that a contract ended. BlackWall pairs the signature with an authoritative verifier so cancellation is immediate rather than eventual.
-
Issue
A super-administrator issues the licence against a project. The customer receives a signed
BWLIC1envelope as a.bwlicfile. -
Verify the signature offline
Your product checks the Ed25519 signature against the pinned public key. Any edited claim fails here, with no network call required.
-
Confirm online, on schedule
Within the signed check interval, your product asks the authoritative verifier. It checks the database record, revocation, project state, exact hostname, issuer and time window.
-
Fail closed
An unreachable verifier, a bad signature, an untrusted key, a hostname mismatch or an expired window all deny the licensed functionality. Ambiguity never grants access.
-
Renew before it bites
Reminders are queued to the designated administrator at 30, 14, 7, 2 and 1 days before expiry, with delivery history recorded against the licence.
What this replaces
The homegrown licensing system most software businesses are quietly maintaining.
| Question | Homegrown licence keys | BlackWall licensing |
|---|---|---|
| Can a customer edit their entitlement? | Often, if the format is guessable. | No — any edit invalidates the Ed25519 signature. |
| Can you cancel mid-term? | Rarely, until the next release ships. | Yes — the authoritative verifier rejects it immediately. |
| Is it bound to a deployment? | Usually not, so keys get shared. | Bound to exact hostnames; wildcards are refused. |
| Does anyone chase renewals? | A calendar reminder, if you are lucky. | Automatic reminders with recorded delivery history. |
| Is issuance auditable? | Whatever the script logged. | Issue, failure and revocation are all audited — without copying customer names or tokens into the log. |