SCEL License Manager

v1.4 · Ed25519

Signing Key

Your Ed25519 key pair. The private key signs Release Files; the public key allows anyone to verify them. Generate once, then back up the private key offline.

No key loaded.

Import an existing key pair

Issue a New SCEL License

Fill in the Approved Project details and the Designated Folder paths. The tool will produce a signed Release File, a registry entry, and a verification bundle.

License identification
Licensee
Optional licensee details (recommended for German entities)
Designated Folders

Verify a Release File

Paste a verification bundle, or paste the Release File, signature, and public key separately. The tool will run the full SCEL Section 7 verification.

Option A — Verify a bundle (single file)
Option B — Verify separate files
Option C — Cross-check against registry entry (optional)

After running Option A or B, the registry value is matched against the Release File.

How to use this tool

1. First-time setup

Go to the Keys tab and click Generate New Key Pair. Immediately export and back up the private key — store it offline (encrypted USB, hardware token, paper backup in a safe).

Publish the public key at a stable URL under your control (e.g. https://suitefish.example/scel/pubkey). Once published, never change the URL.

2. Issuing a license

Open the Issue License tab. Fill in the License ID (use the generator), Approval Codename, Approved Project name, Licensee details, and the list of Designated Folders.

Click Sign Release File. The tool produces a Release File, a detached signature, a self-contained verification bundle, and a registry entry to append to your public registry.json.

Deliver the verification bundle to the licensee. Update your registry. Re-sign and republish the registry file.

3. Verifying a license

Open the Verify License tab. Paste the bundle (or the parts) plus your public key. The tool runs:

  • Required-fields presence check
  • Ed25519 signature verification
  • SHA-256 folder list hash recomputation and comparison
  • License ID format check
  • Optionally: cross-check against registry entry

4. Revocation

Revocation is done by updating the entry in registry.json (set status to "revoked"), re-signing the registry with this tool, and republishing it. The verifier will then see the revoked status.

Security guarantees

All cryptography is done locally in your browser via the built-in WebCrypto API. No external libraries, no network requests, no servers. Your private key is held only in this tab's memory and is erased when you close it.

The signing algorithm is Ed25519. The hash algorithm is SHA-256. Both meet the requirements stated in Section 7 of SCEL v1.4.

File formats

release_<ID>.json — the Release File. Canonical JSON. The content covered by the signature is the canonical serialization with sorted keys.

release_<ID>.sig — the detached Ed25519 signature, base64-encoded.

release_<ID>.scel-bundle.json — combined bundle with release file, signature, public key fingerprint, and format identifier.

suitefish_scel.pub / suitefish_scel.key — exported public / private key files.

Reference

This tool implements the authentication mechanism described in scel_signing_system.md and required by Section 7 of scel_1.4.md.