Updated
Oct 11, 2021, 12:27:39 PM

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "items": {
        "$id": "#/items",
        "properties": {
            "controller": {
                "$id": "#/items/properties/controller",
                "properties": {
                    "contact": {
                        "$id": "#/items/properties/controller/properties/contact",
                        "default": "",
                        "pattern": "^(.*)$",
                        "title": "The Contact of the processing activity",
                        "type": "string"
                    },
                    "name": {
                        "$id": "#/items/properties/controller/properties/name",
                        "default": "",
                        "pattern": "^(.*)$",
                        "title": "Name",
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "contact"
                ],
                "title": "The Controller of the processing activity",
                "type": "object"
            },
            "international_transfers": {
                "$id": "#/properties/records/items/properties/international_transfers",
                "items": {
                    "$id": "#/properties/records/items/properties/international_transfers/items",
                    "properties": {
                        "country": {
                            "$id": "#/properties/records/items/properties/international_transfers/items/properties/country",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Country",
                            "type": "string"
                        },
                        "description": {
                            "$id": "#/properties/records/items/properties/international_transfers/items/properties/description",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Description",
                            "type": "string"
                        },
                        "documents": {
                            "$id": "#/properties/records/items/properties/international_transfers/items/properties/documents",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Documents",
                            "type": "string"
                        },
                        "organisation": {
                            "$id": "#/properties/records/items/properties/international_transfers/items/properties/organisation",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Organisation",
                            "type": "string"
                        }
                    },
                    "required": [
                        "organisation",
                        "description",
                        "country",
                        "documents"
                    ],
                    "title": "The Items Schema",
                    "type": "object"
                },
                "title": "International transfers",
                "type": "array"
            },
            "name": {
                "$id": "#/items/properties/name",
                "default": "",
                "pattern": "^(.*)$",
                "title": "Name",
                "type": "string"
            },
            "personal_data": {
                "$id": "#/items/properties/personal_data",
                "items": {
                    "$id": "#/items/properties/personal_data/items",
                    "properties": {
                        "data_categories": {
                            "$id": "#/items/properties/personal_data/items/properties/data_categories",
                            "items": {
                                "$id": "#/items/properties/personal_data/items/properties/data_categories/items",
                                "properties": {
                                    "name": {
                                        "$id": "#/items/properties/personal_data/items/properties/data_categories/items/properties/name",
                                        "default": "",
                                        "pattern": "^(.*)$",
                                        "title": "Name",
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "name"
                                ],
                                "title": "The Items",
                                "type": "object"
                            },
                            "title": "Categories of personal data",
                            "type": "array"
                        },
                        "data_subject": {
                            "$id": "#/items/properties/personal_data/items/properties/data_subject",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Categories of data subject",
                            "type": "string"
                        },
                        "description": {
                            "$id": "#/items/properties/personal_data/items/properties/description",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Description",
                            "type": "string"
                        },
                        "retention_period": {
                            "$id": "#/items/properties/personal_data/items/properties/retention_period",
                            "default": 0,
                            "title": "Duration of data retention",
                            "type": "integer"
                        },
                        "retention_period_description": {
                            "$id": "#/items/properties/personal_data/items/properties/retention_period_description",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Description of retention period",
                            "type": "string"
                        },
                        "retention_period_mode": {
                            "$id": "#/items/properties/personal_data/items/properties/retention_period_mode",
                            "default": "",
                            "examples": [
                                "day(s)"
                            ],
                            "pattern": "^(.*)$",
                            "title": "The Retention period mode",
                            "type": "string"
                        }
                    },
                    "required": [
                        "data_subject",
                        "data_categories",
                        "description",
                        "retention_period",
                        "retention_period_mode",
                        "retention_period_description"
                    ],
                    "title": "The Items",
                    "type": "object"
                },
                "title": "Categories of data subjects and personal data",
                "type": "array"
            },
            "processors": {
                "$id": "#/items/properties/processors",
                "items": {
                    "$id": "#/items/properties/processors/items",
                    "properties": {
                        "activities": {
                            "$id": "#/items/properties/processors/items/properties/activities",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Activities",
                            "type": "string"
                        },
                        "contact": {
                            "$id": "#/items/properties/processors/items/properties/contact",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Contact",
                            "type": "string"
                        },
                        "name": {
                            "$id": "#/items/properties/processors/items/properties/name",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Name",
                            "type": "string"
                        },
                        "representative": {
                            "$id": "#/items/properties/processors/items/properties/representative",
                            "properties": {
                                "contact": {
                                    "$id": "#/items/properties/processors/items/properties/representative/properties/contact",
                                    "default": "",
                                    "pattern": "^(.*)$",
                                    "title": "The Contact of the processing actibity",
                                    "type": "string"
                                },
                                "name": {
                                    "$id": "#/items/properties/processors/items/properties/representative/properties/name",
                                    "default": "",
                                    "pattern": "^(.*)$",
                                    "title": "Name",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "name",
                                "contact"
                            ],
                            "title": "The Representative",
                            "type": "object"
                        },
                        "security_measures": {
                            "$id": "#/items/properties/processors/items/properties/security_measures",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Security measures",
                            "type": "string"
                        }
                    },
                    "required": [
                        "name",
                        "contact",
                        "activities",
                        "security_measures",
                        "representative"
                    ],
                    "title": "The Items",
                    "type": "object"
                },
                "title": "Processors",
                "type": "array"
            },
            "purposes": {
                "$id": "#/items/properties/purposes",
                "default": "",
                "pattern": "^(.*)$",
                "title": "The purposes of the processing activity",
                "type": "string"
            },
            "recipients": {
                "$id": "#/items/properties/recipients",
                "items": {
                    "$id": "#/items/properties/recipients/items",
                    "properties": {
                        "description": {
                            "$id": "#/items/properties/recipients/items/properties/description",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Description",
                            "type": "string"
                        },
                        "name": {
                            "$id": "#/items/properties/recipients/items/properties/name",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Recipient",
                            "type": "string"
                        },
                        "type": {
                            "$id": "#/items/properties/recipients/items/properties/type",
                            "default": "",
                            "pattern": "^(.*)$",
                            "title": "Recipient type",
                            "type": "string"
                        }
                    },
                    "required": [
                        "name",
                        "type",
                        "description"
                    ],
                    "title": "The Items",
                    "type": "object"
                },
                "title": "Recipients",
                "type": "array"
            },
            "representative": {
                "$id": "#/items/properties/representative",
                "properties": {
                    "contact": {
                        "$id": "#/items/properties/representative/properties/contact",
                        "default": "",
                        "pattern": "^(.*)$",
                        "title": "The contact of the processing activity",
                        "type": "string"
                    },
                    "name": {
                        "$id": "#/items/properties/representative/properties/name",
                        "default": "",
                        "pattern": "^(.*)$",
                        "title": "Name",
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "contact"
                ],
                "title": "Representative",
                "type": "object"
            },
            "security_measures": {
                "$id": "#/items/properties/security_measures",
                "default": "",
                "pattern": "^(.*)$",
                "title": "Security measures",
                "type": "string"
            }
        },
        "required": [
            "name",
            "controller",
            "representative",
            "purposes",
            "security_measures",
            "personal_data",
            "recipients",
            "processors"
        ],
        "title": "Processing activity",
        "type": "object"
    },
    "title": "Processing activities",
    "type": "array"
}