{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://git.add-ideas.de/GovOPlaN/govoplan/src/branch/main/docs/capability-fit-boundary-evidence.schema.json", "title": "GovOPlaN externally issued capability-fit boundary evidence", "type": "object", "additionalProperties": false, "required": [ "schema_version", "evidence_kind", "proof_id", "assessment_id", "assessment_release", "installed_evidence_sha256", "issued_at", "expires_at", "claims", "signatures" ], "properties": { "$schema": { "type": "string", "format": "uri-reference" }, "schema_version": { "const": "0.1.0" }, "evidence_kind": { "const": "govoplan.capability-fit-boundary-proof" }, "proof_id": { "$ref": "#/$defs/opaque_id" }, "assessment_id": { "$ref": "#/$defs/opaque_id" }, "assessment_release": { "$ref": "#/$defs/opaque_id" }, "installed_evidence_sha256": { "$ref": "#/$defs/sha256" }, "issued_at": { "type": "string", "format": "date-time" }, "expires_at": { "type": "string", "format": "date-time" }, "claims": { "type": "array", "minItems": 1, "maxItems": 3, "items": { "$ref": "#/$defs/claim" } }, "signatures": { "type": "array", "minItems": 1, "maxItems": 16, "items": { "$ref": "#/$defs/signature" } } }, "$defs": { "opaque_id": { "type": "string", "minLength": 1, "maxLength": 160, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$" }, "claim": { "type": "object", "additionalProperties": false, "required": ["scope", "result", "subject_id", "control_ids", "artifacts"], "properties": { "scope": { "enum": [ "target_environment", "external_providers", "production_approval" ] }, "result": { "enum": ["passed", "failed", "approved", "rejected"] }, "subject_id": { "$ref": "#/$defs/opaque_id" }, "control_ids": { "type": "array", "minItems": 1, "maxItems": 256, "uniqueItems": true, "items": { "$ref": "#/$defs/opaque_id" } }, "artifacts": { "type": "array", "minItems": 1, "maxItems": 256, "items": { "$ref": "#/$defs/evidence_artifact" } } } }, "evidence_artifact": { "type": "object", "additionalProperties": false, "required": ["artifact_id", "sha256"], "properties": { "artifact_id": { "$ref": "#/$defs/opaque_id" }, "sha256": { "$ref": "#/$defs/sha256" } } }, "signature": { "type": "object", "additionalProperties": false, "required": ["algorithm", "key_id", "value"], "properties": { "algorithm": { "const": "ed25519" }, "key_id": { "$ref": "#/$defs/opaque_id" }, "value": { "type": "string", "minLength": 1, "maxLength": 256, "contentEncoding": "base64" } } }, "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" } } }