← Files VeraARCHIVED FILE
privacy/service-boundary.schema.json
5.14 KB · Oct 4, 2026 · 12:28 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://mparanza.com/schemas/vera-service-boundary-v2.json",
"title": "Vera shared-service external-boundary review",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"service_id",
"display_name",
"governed_paths",
"runtime_profiles",
"external_boundaries",
"security_controls",
"review"
],
"properties": {
"schema_version": {"const": 2},
"service_id": {"type": "string", "minLength": 1},
"display_name": {"type": "string", "minLength": 1},
"governed_paths": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {"type": "string", "minLength": 1}
},
"governed_repository_paths": {
"type": "array",
"uniqueItems": true,
"items": {"type": "string", "minLength": 1}
},
"runtime_profiles": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"enum": [
"openai-codex",
"anthropic-cowork"
]
}
},
"external_boundaries": {
"type": "array",
"minItems": 0,
"items": {
"type": "object",
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": {"requires_confirmation": {"const": true}},
"required": ["requires_confirmation"]
},
"then": {"properties": {"optional": {"const": true}}}
},
{
"if": {
"properties": {"activation": {"const": "explicit_user_choice"}},
"required": ["activation"]
},
"then": {
"properties": {
"optional": {"const": true},
"requires_confirmation": {"const": true}
}
}
},
{
"if": {
"properties": {
"activation": {
"enum": [
"automatic_session_start",
"automatic_on_first_use",
"automatic_after_prior_submission",
"automatic_after_prior_connection",
"automatic_per_durable_run"
]
}
},
"required": ["activation"]
},
"then": {
"properties": {
"optional": {"const": false},
"requires_confirmation": {"const": false}
}
}
}
],
"required": [
"id",
"kind",
"destination",
"purpose",
"content",
"retention",
"activation",
"optional",
"requires_confirmation",
"controls",
"runtime_profiles"
],
"properties": {
"id": {"type": "string", "minLength": 1},
"kind": {"enum": ["hosted_service", "send_or_publish"]},
"destination": {"type": "string", "minLength": 1},
"purpose": {"type": "string", "minLength": 1},
"content": {"type": "string", "minLength": 1},
"retention": {"type": "string", "minLength": 1},
"activation": {
"enum": [
"automatic_session_start",
"automatic_on_first_use",
"automatic_after_prior_submission",
"automatic_after_prior_connection",
"automatic_per_durable_run",
"explicit_user_choice"
]
},
"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", "implemented_by", "on_violation"],
"properties": {
"id": {"type": "string", "minLength": 1},
"control": {"type": "string", "minLength": 1},
"implemented_by": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {"type": "string", "minLength": 1}
},
"on_violation": {"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_shared_service_source"},
"source_fingerprint": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
}
}
}
}
SHA-256: b7306b7e0ffcf10b54757c02ee35837f79d60d0e3134ba3ba4da08f2d01e6c78