61 lines
1.4 KiB
JSON
61 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://softbox.invalid/schemas/license.schema.json",
|
|
"title": "SoftBox License v1",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"schema_version",
|
|
"license_id",
|
|
"machine_hash",
|
|
"products",
|
|
"issued_at",
|
|
"perpetual",
|
|
"update_policy",
|
|
"rebind_policy",
|
|
"signature"
|
|
],
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": 1
|
|
},
|
|
"license_id": {
|
|
"type": "string",
|
|
"pattern": "^lic-[a-z0-9][a-z0-9-]{0,59}$"
|
|
},
|
|
"machine_hash": {
|
|
"type": "string",
|
|
"pattern": "^[0-9a-f]{64}$"
|
|
},
|
|
"products": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9-]+$"
|
|
}
|
|
},
|
|
"issued_at": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
|
|
"$comment": "Runtime validation is authoritative for calendar validity."
|
|
},
|
|
"perpetual": {
|
|
"type": "boolean"
|
|
},
|
|
"update_policy": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9._:-]{0,127}$"
|
|
},
|
|
"rebind_policy": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9._:-]{0,127}$"
|
|
},
|
|
"signature": {
|
|
"type": "string",
|
|
"pattern": "^[A-Za-z0-9+/]{86}==$"
|
|
}
|
|
}
|
|
}
|