{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Record of processing activities (GDPR art. 30) - Belgium","description":"The written record a controller (art. 30, paragraph 1) or a processor (art. 30, paragraph 2) keeps of its processing activities. record_type chooses the profile; each element of controller_activities or processor_activities is one processing activity, printed as one row.","type":"object","required":["record_type","register","holder"],"additionalProperties":false,"properties":{"record_type":{"type":"string","enum":["controller","processor"],"description":"controller: record of the activities carried out under the holder's responsibility (art. 30, paragraph 1). processor: record of the categories of activities carried out on behalf of controllers (art. 30, paragraph 2)."},"register":{"type":"object","required":["updated_on"],"additionalProperties":false,"properties":{"reference":{"type":"string","description":"Internal reference or version of this record."},"updated_on":{"type":"string","format":"date","description":"Date of this version of the record."},"kept_by":{"type":"string","description":"Person or function who keeps the record up to date."}}},"holder":{"type":"object","description":"The controller (controller profile) or the processor (processor profile) that keeps this record.","required":["name","address","contact"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"enterprise_number":{"type":"string","pattern":"^[01][0-9]{3}\\.[0-9]{3}\\.[0-9]{3}$"},"address":{"type":"string"},"contact":{"type":"string","description":"Contact details (e-mail address, telephone or postal address) as they should be printed."}}},"representative":{"type":"object","description":"The holder's representative, where there is one.","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"contact":{"type":"string"}}},"dpo":{"type":"object","description":"The data protection officer, where one is designated.","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"contact":{"type":"string"}}},"joint_controllers":{"type":"array","description":"Joint controllers, where there are any (controller profile).","items":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"contact":{"type":"string"}}}},"controller_activities":{"type":"array","minItems":1,"description":"Controller profile: one element per processing activity.","items":{"type":"object","required":["name","purposes","data_subject_categories","data_categories","recipient_categories"],"additionalProperties":false,"properties":{"reference":{"type":"string"},"name":{"type":"string","minLength":1},"purposes":{"type":"array","minItems":1,"items":{"type":"string"}},"data_subject_categories":{"type":"array","minItems":1,"items":{"type":"string"}},"data_categories":{"type":"array","minItems":1,"items":{"type":"string"}},"recipient_categories":{"type":"array","items":{"type":"string"},"description":"An empty list states that the data are communicated to no recipient."},"transfers":{"$ref":"#/$defs/transfers"},"erasure_time_limits":{"type":"string"},"security_measures":{"type":"array","items":{"type":"string"}}}}},"processor_activities":{"type":"array","minItems":1,"description":"Processor profile: one element per category of processing carried out for one controller.","items":{"type":"object","required":["controller_name","controller_contact","processing_categories"],"additionalProperties":false,"properties":{"reference":{"type":"string"},"controller_name":{"type":"string","minLength":1},"controller_contact":{"type":"string"},"controller_representative":{"type":"string"},"processing_categories":{"type":"array","minItems":1,"items":{"type":"string"}},"transfers":{"$ref":"#/$defs/transfers"},"security_measures":{"type":"array","items":{"type":"string"}}}}}},"allOf":[{"if":{"properties":{"record_type":{"const":"controller"}},"required":["record_type"]},"then":{"required":["controller_activities"]}},{"if":{"properties":{"record_type":{"const":"processor"}},"required":["record_type"]},"then":{"required":["processor_activities"]}}],"$defs":{"transfers":{"type":"array","description":"Transfers to a third country or an international organisation. An empty list states that there is none.","items":{"type":"object","required":["destination"],"additionalProperties":false,"properties":{"destination":{"type":"string","minLength":1,"description":"The third country or international organisation."},"safeguard_documents":{"type":"string","description":"The documents attesting appropriate safeguards, where the transfer needs them."}}}}}}