licensegen
Deterministic License Generation for Multi‑Product Systems
licensegen is a deterministic license generation engine designed for environments where
licenses must be reproducible, auditable, and free of hidden state.
It replaces ad‑hoc license scripts and opaque key handling with a structured,
schema‑driven system that produces the same output every time — no drift, no ambiguity,
no surprises.
Overview
licensegen enforces license structure using explicit product, edition, and application
schemas, combined with deterministic ID and key workflows.
It is built around three principles:
- Determinism — same inputs → same license output
- Reproducibility — licenses can be regenerated from source definitions
- Audit Transparency — every license, key, and change is traceable
Key Features
- Deterministic license payload generation
- Explicit product / edition / application schemas
- Transactional ID and state workflows
- Reproducible keypair handling
- Audit‑transparent validation and verification
Schema‑Driven Architecture
- YAML‑based product, edition, and application definitions
- Versioned schemas for long‑term compatibility
- Validation of all inputs before license generation
- Explicit, documented fields — no implicit behavior
Deterministic Workflows
- Deterministic ID generation for products, editions, and licenses
- Reproducible keypair usage and signing operations
- Transactional updates to prevent partial or inconsistent state
- Clear separation between definition, build, and sign phases
Command‑Line Interface
- Generate and manage keypairs
- Validate schemas before use
- Create licenses from product/edition/application definitions
- Verify existing licenses against schemas and signatures
Architecture Overview
1. Definition Layer
Product, edition, and application schemas define what a license represents.
These are stored as versioned YAML files and validated before any license is created.
2. Payload Builder
The payload builder assembles license data from schemas and deterministic IDs, ensuring that every field is explicit and reproducible.
3. Signing Engine
The signing engine uses reproducible keypairs and deterministic signing operations to produce cryptographically verifiable licenses.
4. Validator
- Confirms schema compatibility
- Verifies signatures
- Checks deterministic ID lineage
- Ensures payload integrity
Current Status
- Version: 0.1.x (early development)
- Scope: Core architecture and schema model
- CLI: Initial commands defined, expansion in progress
- Use Case: Multi‑product, multi‑edition licensing
Roadmap
Near‑Term
- Finalize deterministic ID generator across all schema types
- Complete validator and writer modules
- Add schema templates for products, editions, and applications
- Expand CLI coverage for common workflows
Mid‑Term
- Integrate with deployment/update frameworks
- Add reporting for license usage and validation
- Document schema patterns and best practices
Long‑Term
- Multi‑tenant license management
- Hosted validation services
- Integration with broader deterministic tooling stacks
Why licensegen Exists
Traditional licensing systems are often opaque, ad‑hoc, and difficult to reproduce.
licensegen applies deterministic engineering principles:
- explicit schemas
- reproducible workflows
- audit‑transparent validation
- deterministic IDs and keys
- clean separation of concerns