112 lines
2.5 KiB
JSON
112 lines
2.5 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "urn:awoooi:security-mirror-event-v1",
|
|
"title": "AWOOOI Security Supply Chain Mirror Event (v1)",
|
|
"description": "AwoooP mirror-only 消費 Security Supply Chain contracts 時使用的統一事件 envelope。此契約不授權任何 runtime execution。",
|
|
"type": "object",
|
|
"required": [
|
|
"schema_version",
|
|
"event_id",
|
|
"emitted_at",
|
|
"source_contract",
|
|
"source_snapshot_path",
|
|
"mirror_mode",
|
|
"destinations",
|
|
"execution_authorized",
|
|
"action_buttons_allowed",
|
|
"redaction_status",
|
|
"risk",
|
|
"summary",
|
|
"payload_summary",
|
|
"evidence_refs",
|
|
"blocked_actions"
|
|
],
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "security_mirror_event_v1"
|
|
},
|
|
"event_id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"emitted_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"source_contract": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"source_snapshot_path": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"mirror_mode": {
|
|
"type": "string",
|
|
"enum": ["mirror_only", "read_only_policy", "suggest_only", "approval_only"]
|
|
},
|
|
"destinations": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"operator_console",
|
|
"runtime_state",
|
|
"channel_event",
|
|
"audit_evidence",
|
|
"approval_queue"
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"execution_authorized": {
|
|
"type": "boolean",
|
|
"const": false
|
|
},
|
|
"action_buttons_allowed": {
|
|
"type": "boolean",
|
|
"const": false
|
|
},
|
|
"redaction_status": {
|
|
"type": "string",
|
|
"enum": ["redacted", "metadata_only", "no_sensitive_payload_expected"]
|
|
},
|
|
"risk": {
|
|
"type": "string",
|
|
"enum": ["LOW", "MEDIUM", "HIGH", "CRITICAL"]
|
|
},
|
|
"summary": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"payload_summary": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": ["string", "number", "integer", "boolean"]
|
|
}
|
|
},
|
|
"evidence_refs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"blocked_actions": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"labels": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|