← Files VeraARCHIVED FILE
modules/comunicazione-professionale/schemas/history_privacy_assessment.schema.json
3.27 KB · Oct 4, 2026 · 12:28 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"run_id",
"input_digest",
"pseudonymization_record_digest",
"purpose",
"assessment_protocol",
"document_assessments",
"verdict",
"residual_risk",
"required_changes"
],
"properties": {
"schema_version": {"const": 1},
"run_id": {"type": "string", "minLength": 1},
"input_digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
"pseudonymization_record_digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
"purpose": {"const": "independent_residual_identification_review_before_downstream_use"},
"assessment_protocol": {
"type": "object",
"additionalProperties": false,
"required": [
"method",
"assessor_session_id",
"assessment_template_version",
"template_sha256",
"raw_history_seen",
"identity_mapping_seen",
"pseudonymization_transcript_seen",
"completed_at"
],
"properties": {
"method": {"const": "isolated_derivative_only_privacy_review"},
"assessor_session_id": {"type": "string", "minLength": 8, "maxLength": 500},
"assessment_template_version": {"const": "professional-communication-history-privacy-assessment-v1"},
"template_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
"raw_history_seen": {"const": false},
"identity_mapping_seen": {"const": false},
"pseudonymization_transcript_seen": {"const": false},
"completed_at": {"type": "string", "format": "date-time"}
}
},
"document_assessments": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["history_id", "sha256", "verdict", "findings", "structure_preserved"],
"properties": {
"history_id": {"type": "string", "minLength": 1},
"sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
"verdict": {"enum": ["ready", "revise"]},
"findings": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["paragraph_index", "category", "required_generalization"],
"properties": {
"paragraph_index": {"type": "integer", "minimum": 1},
"category": {
"enum": [
"person",
"organization",
"address",
"location",
"identifying_role",
"identifying_fact_combination",
"other_identity"
]
},
"required_generalization": {"type": "string", "minLength": 1, "maxLength": 1000}
}
}
},
"structure_preserved": {"type": "boolean"}
}
}
},
"verdict": {"enum": ["ready", "revise"]},
"residual_risk": {"type": "string", "minLength": 1, "maxLength": 2000},
"required_changes": {
"type": "array",
"maxItems": 100,
"items": {"type": "string", "minLength": 1, "maxLength": 1000}
}
}
}
SHA-256: d2326990b65e8105d2bffaa7f38e0f5b841134fc5818325edce8841fdb908584