← Files VeraARCHIVED FILE

privacy/privacy-surface.schema.json

4.69 KB · Oct 2, 2026 · 00:29 UTC

↓ Download file

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://mparanza.com/schemas/vera-external-boundary-v3.json",
  "title": "Vera workstream runtime and external-boundary review",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "workstream",
    "display_name",
    "role",
    "governed_paths",
    "runtime_profiles",
    "model_context",
    "external_boundaries",
    "security_controls",
    "review"
  ],
  "properties": {
    "schema_version": {"const": 3},
    "workstream": {"type": "string", "minLength": 1},
    "display_name": {"type": "string", "minLength": 1},
    "role": {"enum": ["workflow", "internal_engine"]},
    "governed_paths": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {"type": "string", "minLength": 1}
    },
    "governed_shared_paths": {
      "type": "array",
      "uniqueItems": true,
      "items": {"type": "string", "minLength": 1}
    },
    "governed_repository_paths": {
      "type": "array",
      "uniqueItems": true,
      "items": {"type": "string", "minLength": 1}
    },
    "runtime_profiles": {
      "const": [
        "openai-codex",
        "anthropic-cowork"
      ]
    },
    "model_context": {
      "type": "object",
      "additionalProperties": false,
      "required": ["policy", "classes"],
      "properties": {
        "policy": {
          "const": "real_case_data_may_enter_selected_runtime_model_context"
        },
        "classes": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": ["id", "purpose", "content", "runtime_profiles"],
            "properties": {
              "id": {"type": "string", "minLength": 1},
              "purpose": {"type": "string", "minLength": 1},
              "content": {"type": "string", "minLength": 1},
              "runtime_profiles": {
                "type": "array",
                "minItems": 1,
                "uniqueItems": true,
                "items": {
                  "enum": [
                    "openai-codex",
                    "anthropic-cowork"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "external_boundaries": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "allOf": [
          {
            "if": {
              "properties": {"requires_confirmation": {"const": true}},
              "required": ["requires_confirmation"]
            },
            "then": {"properties": {"optional": {"const": true}}}
          }
        ],
        "required": [
          "id",
          "kind",
          "destination",
          "purpose",
          "content",
          "optional",
          "requires_confirmation",
          "controls",
          "runtime_profiles"
        ],
        "properties": {
          "id": {"type": "string", "minLength": 1},
          "kind": {
            "enum": [
              "public_research",
              "hosted_service",
              "external_connector",
              "send_or_publish"
            ]
          },
          "destination": {"type": "string", "minLength": 1},
          "purpose": {"type": "string", "minLength": 1},
          "content": {"type": "string", "minLength": 1},
          "optional": {"type": "boolean"},
          "requires_confirmation": {"type": "boolean"},
          "controls": {
            "type": "array",
            "minItems": 1,
            "items": {"type": "string", "minLength": 1}
          },
          "runtime_profiles": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "enum": [
                "openai-codex",
                "anthropic-cowork"
              ]
            }
          }
        }
      }
    },
    "security_controls": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id", "control"],
        "properties": {
          "id": {"type": "string", "minLength": 1},
          "control": {"type": "string", "minLength": 1}
        }
      }
    },
    "review": {
      "type": "object",
      "additionalProperties": false,
      "required": ["reviewed_at", "reviewed_by", "basis", "source_fingerprint"],
      "properties": {
        "reviewed_at": {"type": "string", "format": "date"},
        "reviewed_by": {"const": "privacy-surface-review"},
        "basis": {"const": "external_boundary_review_of_workflow_source"},
        "source_fingerprint": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        }
      }
    }
  }
}

SHA-256: a1432af3bc3e806f277f1486df140eebae7c82a6f60ebc23d9d5acb31bb94394