← Files VeraARCHIVED FILE
modules/patent-box-review/schemas/ruleset.schema.json
4.91 KB · Oct 4, 2026 · 12:28 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:vera:patent-box:ruleset",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"ruleset_id",
"version",
"demo",
"status",
"reviewer",
"reviewed_on",
"valid_from",
"valid_until",
"sources_checked_on",
"max_source_age_days",
"tax_period_start_min",
"tax_period_start_max",
"enhancement_rate",
"premial_periods",
"premial_entry_anchor_date",
"ip_types",
"premial_event_kinds",
"sources",
"rule_ids"
],
"properties": {
"schema_version": {
"const": "1.0"
},
"ruleset_id": {
"type": "string",
"pattern": "[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"demo": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"DRAFT",
"REVIEWED"
]
},
"reviewer": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 10000
},
{
"type": "null"
}
]
},
"reviewed_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"valid_from": {
"type": "string",
"format": "date"
},
"valid_until": {
"type": "string",
"format": "date"
},
"sources_checked_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"max_source_age_days": {
"type": "integer",
"minimum": 0,
"maximum": 365
},
"tax_period_start_min": {
"type": "string",
"format": "date"
},
"tax_period_start_max": {
"type": "string",
"format": "date"
},
"enhancement_rate": {
"type": "string",
"pattern": "[0-9]\\.[0-9]{2}"
},
"premial_periods": {
"type": "integer",
"minimum": 1,
"maximum": 8
},
"premial_entry_anchor_date": {
"type": "string",
"format": "date"
},
"ip_types": {
"type": "array",
"items": {
"type": "string",
"enum": [
"SOFTWARE",
"PATENT",
"DESIGN"
]
},
"minItems": 1,
"uniqueItems": true
},
"premial_event_kinds": {
"type": "object",
"additionalProperties": false,
"required": [
"SOFTWARE",
"PATENT",
"DESIGN"
],
"properties": {
"SOFTWARE": {
"type": "array",
"items": {
"type": "string",
"enum": [
"SIAE_REGISTRATION",
"EQUIVALENT_PUBLIC_REGISTRATION"
]
},
"minItems": 1,
"uniqueItems": true
},
"PATENT": {
"type": "array",
"items": {
"type": "string",
"enum": [
"PATENT_GRANT"
]
},
"minItems": 1,
"uniqueItems": true
},
"DESIGN": {
"type": "array",
"items": {
"type": "string",
"enum": [
"DESIGN_REGISTRATION"
]
},
"minItems": 1,
"uniqueItems": true
}
}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source_id",
"status",
"authority_type",
"snapshot_sha256",
"snapshot_evidence_id"
],
"properties": {
"source_id": {
"type": "string",
"pattern": "[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}"
},
"status": {
"type": "string",
"enum": [
"REVIEWED",
"PENDING"
]
},
"authority_type": {
"type": "string",
"enum": [
"LAW",
"IMPLEMENTING_ACT",
"GUIDANCE",
"RULING",
"JUDGMENT",
"SYNTHETIC"
]
},
"snapshot_sha256": {
"anyOf": [
{
"type": "string",
"pattern": "[a-f0-9]{64}"
},
{
"type": "null"
}
]
},
"snapshot_evidence_id": {
"type": "string",
"pattern": "[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}"
}
}
},
"minItems": 1,
"uniqueItems": false
},
"rule_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}"
},
"minItems": 1,
"uniqueItems": true
}
}
}
SHA-256: 0886ddafb74944831eb44f12b9cc78a118e26298505aaca0e69f5de85ba830a5