Barndoor · Schema

PolicyRule

Represents a single policy rule with compatible conditions.

AI AgentsAI GovernanceAgentic AIMCPModel Context ProtocolPolicy EnforcementOAuthIdentitySecurityAuditControl Plane

Properties

Name Type Description
name object Optional display name for the rule
authorized object Determines if the actions are allowed (True) or denied (False)
actions array Actions this rule applies to
roles_groups array Roles or groups this rule applies to
condition object Optional condition that must be met for the rule to apply
View JSON Schema on GitHub

JSON Schema

barndoor-policy-rule-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "PolicyRule",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name",
      "description": "Optional display name for the rule",
      "default": ""
    },
    "authorized": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Authorized",
      "description": "Determines if the actions are allowed (True) or denied (False)",
      "default": false
    },
    "actions": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Actions",
      "description": "Actions this rule applies to"
    },
    "roles_groups": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Roles Groups",
      "description": "Roles or groups this rule applies to"
    },
    "condition": {
      "anyOf": [
        {
          "properties": {
            "match": {
              "oneOf": [
                {
                  "properties": {
                    "expr": {
                      "type": "string",
                      "title": "Expr"
                    }
                  },
                  "type": "object",
                  "required": [
                    "expr"
                  ],
                  "title": "Expression"
                },
                {
                  "properties": {
                    "all": {
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "required": [
                    "all"
                  ],
                  "title": "OperatorAll"
                },
                {
                  "properties": {
                    "any": {
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "required": [
                    "any"
                  ],
                  "title": "OperatorAny"
                },
                {
                  "properties": {
                    "none": {
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "required": [
                    "none"
                  ],
                  "title": "OperatorNone"
                }
              ],
              "title": "Match"
            }
          },
          "type": "object",
          "required": [
            "match"
          ],
          "title": "PolicyRuleCondition"
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional condition that must be met for the rule to apply"
    }
  },
  "type": "object",
  "description": "Represents a single policy rule with compatible conditions."
}