{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "additionalProperties": false, "required": ["schema_version", "rules_version", "rules"], "properties": { "schema_version": {"const": 1}, "rules_version": {"type": "string", "minLength": 1, "maxLength": 128}, "rules": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": ["rule_id", "reason_code", "severity", "scope", "action", "pattern", "positive", "negative"], "properties": { "rule_id": {"type": "string", "pattern": "^[a-z][a-z0-9_.-]+$"}, "reason_code": {"enum": ["message_blocked", "monitor"]}, "severity": {"enum": ["low", "medium", "high", "critical"]}, "scope": {"enum": ["text", "url", "file_metadata"]}, "action": {"enum": ["deny", "monitor"]}, "pattern": {"type": "string", "minLength": 1, "maxLength": 1000}, "positive": {"type": "array", "minItems": 1, "items": {"type": "string"}}, "negative": {"type": "array", "minItems": 1, "items": {"type": "string"}} } } } } }