Files
han-app/codebase/services/message-safety/app/artifacts/rules/rules.schema.json
T

30 lines
1.2 KiB
JSON

{
"$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"}}
}
}
}
}
}