Root schema of a Transparency Information Language

Type: object

This schema defines the Transparency Information Language


Example:

{
    "meta": {
        "_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
        "name": "Green Company",
        "created": "2020-04-03T15:53:05.929588",
        "modified": "2020-04-03T15: 53: 05.929588",
        "version": 2,
        "language": "de",
        "status": "active",
        "url": "https://green-bikes.de/privacy",
        "_hash": "d732a793562a3e5dc57645a8"
    },
    "controller": {
        "name": "Green Company AG",
        "division": "Product line e-mobility",
        "address": "Wolfsburger Ring 2, 38440 Berlin",
        "country": "DE",
        "representative": {
            "name": "Jane Super",
            "email": "contact@greencompany.de",
            "phone": "0049 151 1234 5678"
        }
    },
    "dataProtectionOfficer": {
        "name": "Jane Super",
        "address": "Wolfsburger Ring 2, 38440 Berlin",
        "country": "DE",
        "email": "contact@greencompany.de",
        "phone": "0049 151 1234 5678"
    },
    "dataDisclosed": [
        {
            "_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
            "category": "E-mail address",
            "purposes": [
                {
                    "purpose": "Marketing",
                    "description": "Newsletter will be sent out once a month."
                }
            ],
            "legalBases": [
                {
                    "reference": "GDPR-99-1-a",
                    "description": "The data are processed on the basis of Art. 99 GDPR which states..."
                },
                {
                    "reference": "BDSG-42-5",
                    "description": "BDSG-42-5 refers to the processing of personal data within..."
                }
            ],
            "legitimateInterests": [
                {
                    "exists": true,
                    "reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
                }
            ],
            "recipients": [
                {
                    "name": "Yellow Company AG",
                    "division": "Product line e-mobility",
                    "address": "Triana 123, 9999 Seville",
                    "country": "ES",
                    "representative": {
                        "name": "Jane Super",
                        "email": "contact@yellowcompany.de",
                        "phone": "0049 151 1234 9876"
                    },
                    "category": "Marketing content provider"
                },
                {
                    "category": "Responsible Statistical Institutes"
                }
            ],
            "storage": [
                {
                    "temporal": [
                        {
                            "description": "Creating backups.",
                            "ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
                        },
                        {
                            "description": "Finishing ordering process.",
                            "ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
                        }
                    ],
                    "purposeConditional": [
                        "Data is stored until the end of the ordering process."
                    ],
                    "legalBasisConditional": [
                        "SGB-100-42"
                    ],
                    "aggregationFunction": "max"
                }
            ],
            "nonDisclosure": {
                "legalRequirement": false,
                "contractualRegulation": false,
                "obligationToProvide": false,
                "consequences": "If the data is not disclosed, the shipment cannot be delivered."
            }
        }
    ],
    "thirdCountryTransfers": [
        {
            "country": "ES",
            "adequacyDecision": {
                "available": true,
                "description": "An adequacy decision was made on the 23rd April 2020 by..."
            },
            "appropriateGuarantees": {
                "available": true,
                "description": "Here the appropriate guarantee was formulated by..."
            },
            "presenceOfEnforceableRightsAndEffectiveRemedies": {
                "available": true,
                "description": "These rights are given because of..."
            },
            "standardDataProtectionClause": {
                "available": true,
                "description": "The standard data protection clause which applies here can be found here: ..."
            }
        }
    ],
    "accessAndDataPortability": {
        "available": true,
        "description": "Data access is possible through...",
        "url": "https://green-bikes.de/access",
        "email": "access@greencompany.de",
        "identificationEvidences": [
            "ID card copy",
            "Email verification"
        ],
        "administrativeFee": {
            "amount": 0,
            "currency": "EUR"
        },
        "dataFormat": "json"
    },
    "sources": [
        {
            "_id": "f1423cc00509931",
            "dataCategory": "Creditworthiness",
            "sources": [
                {
                    "description": "This information could be retrieved from...",
                    "url": "https://blueCompany.org",
                    "publiclyAvailable": false
                }
            ]
        }
    ],
    "rightToInformation": {
        "available": true,
        "description": "For the right to information please use this contact form and...",
        "url": "https://greencompany.org/rightToInformation",
        "email": "contact@greencompany.de",
        "identificationEvidences": [
            "ID card copy",
            "Email verification"
        ]
    },
    "rightToRectificationOrDeletion": {
        "available": true,
        "description": "For the right to rectification please use this contact form and...",
        "url": "https://greencompany.org/rights",
        "email": "contact@greencompany.de",
        "identificationEvidences": [
            "ID card copy",
            "Email verification"
        ]
    },
    "rightToDataPortability": {
        "available": false,
        "description": "Data portability is only possible when...",
        "url": "https://greencompany.org/rights",
        "email": "contact@greencompany.de",
        "identificationEvidences": [
            "ID card copy"
        ]
    },
    "rightToWithdrawConsent": {
        "available": true,
        "description": "For the right to withdraw consent please use this contact form and...",
        "url": "https://greencompany.org/rights",
        "email": "contact@greencompany.de",
        "identificationEvidences": [
            "Email verification"
        ]
    },
    "rightToComplain": {
        "available": true,
        "description": "For the right to complain please use this contact form and...",
        "url": "https://greencompany.org/rights",
        "email": "contact@greencompany.de",
        "identificationEvidences": [
            "ID card copy",
            "Email verification"
        ],
        "supervisoryAuthority": {
            "name": "Commissioner for Data Protection",
            "address": "Friedrichstrasse 219, 10969 Berlin",
            "country": "DE",
            "email": "mailbox@privacy-berlin.de",
            "phone": "0049 444 222 111"
        }
    },
    "automatedDecisionMaking": {
        "inUse": true,
        "logicInvolved": "The personal data are processed as follows...",
        "scopeAndIntendedEffects": "From processing follows..."
    },
    "changesOfPurpose": [
        {
            "description": "Due to techncial requirements...",
            "affectedDataCategories": [
                "Email adress",
                "Credit score"
            ],
            "plannedDateOfChange": "2020-08-20",
            "urlOfNewVersion": "https://greencomp.de/privacypolicy/2"
        }
    ]
}

Type: object

Meta information for the identification and verification of the document.


Example:

{
    "_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
    "name": "Green Company",
    "created": "2020-04-03T15:53:05.929588",
    "modified": "2020-04-03T15: 53: 05.929588",
    "version": 2,
    "language": "de",
    "status": "active",
    "url": "https://green-bikes.de/privacy",
    "_hash": "d732a793562a3e5dc57645a8"
}

Type: string

The ID follows the database-specific implementation and does not have to be set in advance; but should offer as much entropy as possible for globally unique identifiers.


Example:

"f1424f86-ca0f-4f0c-9438-43cc00509931"

Type: string

Name of the data controller.


Example:

"Green Company"

Type: string

Creation date of the document as an ISO-8601 time code.

Must match regular expression: ^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
Example:

"2020-04-03T15:53:05.929588"

Type: string

Last modified date of the document as an ISO-8601 time code.

Must match regular expression: ^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
Example:

"2020-04-03T15: 53: 05.929588"

Type: integer Default: 1

This number serves to version documents of a controller.

Value must be greater or equal to 1


Example:

2

Type: string Default: "en"

All language abbreviation codes follow the established ISO 639-1 standard as identifiers for names of languages.

Must match regular expression: ^(aa|ab|ae|af|ak|am|an|ar|as|av|ay|az|az|ba|be|bg|bh|bi|bm|bn|bo|br|bs|ca|ce|ch|co|cr|cs|cu|cv|cy|da|de|dv|dz|ee|el|en|eo|es|et|eu|fa|ff|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|gv|ha|he|hi|ho|hr|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|io|is|it|iu|ja|jv|ka|kg|ki|kj|kk|kl|km|kn|ko|kr|ks|ku|kv|kw|ky|la|lb|lg|li|ln|lo|lt|lu|lv|mg|mh|mi|mk|ml|mn|mr|ms|mt|my|na|nb|nd|ne|ng|nl|nn|no|nr|nv|ny|oc|oj|om|or|os|pa|pi|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sc|sd|se|sg|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|ty|ug|uk|ur|uz|ve|vi|vo|wa|wo|xh|yi|yo|za|zh|zu)$
Example:

"de"

Type: string Default: "active"

The status of an instance can be active or inactive depending on the policy's legal force.

Must match regular expression: ^(active|inactive)$
Examples:

"active"
"inactive"

Type: stringFormat: uri-reference

URL to this schema.


Example:

"https://green-bikes.de/privacy"

Type: string

The hash is based on one SHA256 calculation of the document.

Must be at least 64 characters long

Must be at most 64 characters long


Example:

"be81d309088dde861ab5fc4d62d4bbfe0aeef3e3baf2f5362c1086f451f0a1e7"

Additional Properties of any type are allowed.

Type: object

Type: object

The responsible controller is defined in here.


Example:

{
    "name": "Green Company AG",
    "division": "Product line e-mobility",
    "address": "Wolfsburger Ring 2, 38440 Berlin",
    "country": "DE",
    "representative": {
        "name": "Jane Super",
        "email": "contact@greencompany.de",
        "phone": "0049 151 1234 5678"
    }
}

Type: string

Name of the controller.


Example:

"Green Company AG"

Type: string

Serves to differentiate between different areas of a company; particularly relevant for large companies.


Example:

"Product line e-mobility"

Type: string

Address of the controller.


Example:

"Wolfsburger Ring 2, 38440 Berlin"

Type: string Default: "DE"

All country codes follow the established ones ISO 3166 country abbreviation standard.

Must match regular expression: ^[A-Z][A-Z]$

Must be at least 2 characters long

Must be at most 2 characters long


Example:

"DE"

Type: object

The representative is a responsible real person that represents the controller.


Example:

{
    "name": "Jane Super",
    "email": "contact@greencompany.de",
    "phone": "0049 151 1234 5678"
}

Type: string

Name of the controller's representative.


Example:

"Jane Super"

Type: stringFormat: email

Email address of the controller's representative.


Example:

"contact@greencompany.de"

Type: string

Phone number of the controller's representative.

Must match regular expression: ^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$
Example:

"+49 151 1234 5678"

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Type: object

The Data Protection Officer (DPO) of the controller.


Example:

{
    "name": "Jane Super",
    "address": "Wolfsburger Ring 2, 38440 Berlin",
    "country": "DE",
    "email": "contact@greencompany.de",
    "phone": "0049 151 1234 5678"
}

Type: string

The full name of the Data Protection Officer.


Example:

"Jane Super"

Type: string

Address of the DPO.


Example:

"Wolfsburger Ring 2, 38440 Berlin"

Type: string

The country in which the Data Protection officer is located at.

Must match regular expression: ^[A-Z][A-Z]$

Must be at least 2 characters long

Must be at most 2 characters long


Example:

"DE"

Type: stringFormat: email

The contact email address of the Data Protection Officer.


Example:

"contact@greencompany.de"

Type: string

The phone number of the Data Protection Officer (may include country prefix).

Must match regular expression: ^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$
Example:

"0049 151 1234 5678"

Additional Properties of any type are allowed.

Type: object

Type: array

A detailed explanation about which data is disclosed in the processing tasks.

Each item of this array must be:


Type: object

The description of data disclosed.


Example:

{
    "_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
    "category": "E-mail address",
    "purposes": [
        {
            "purpose": "Marketing",
            "description": "Newsletter will be sent out once a month."
        }
    ],
    "legalBases": [
        {
            "reference": "GDPR-99-1-a",
            "description": "The data are processed on the basis of Art. 99 GDPR which states..."
        },
        {
            "reference": "BDSG-42-5",
            "description": "BDSG-42-5 refers to the processing of personal data within..."
        }
    ],
    "legitimateInterests": [
        {
            "exists": true,
            "reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
        }
    ],
    "recipients": [
        {
            "name": "Yellow Company AG",
            "division": "Product line e-mobility",
            "address": "Triana 123, 9999 Seville",
            "country": "ES",
            "representative": {
                "name": "Jane Super",
                "email": "contact@yellowcompany.de",
                "phone": "0049 151 1234 9876"
            },
            "category": "Marketing content provider"
        },
        {
            "category": "Responsible Statistical Institutes"
        }
    ],
    "storage": [
        {
            "temporal": [
                {
                    "description": "Creating backups.",
                    "ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
                },
                {
                    "description": "Finishing ordering process.",
                    "ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
                }
            ],
            "purposeConditional": [
                "Data is stored until the end of the ordering process."
            ],
            "legalBasisConditional": [
                "SGB-100-42"
            ],
            "aggregationFunction": "max"
        }
    ],
    "nonDisclosure": {
        "legalRequirement": false,
        "contractualRegulation": false,
        "obligationToProvide": false,
        "consequences": "If the data is not disclosed, the shipment cannot be delivered."
    }
}

Type: string

The id of a data item that is disclosed. The id is necessary to distinguish several processing tasks of the same data item (locally unique ID that can be based on the database implementation).


Example:

"f1424f86-ca0f-4f0c-9438-43cc00509931"

Type: string

The data (category) the data disclosed is referred to.


Example:

"E-mail address"

Type: array

The purpose for which a data item is processed for.

Each item of this array must be:


Type: object

Example:

{
    "purpose": "Marketing",
    "description": "Newsletter will be sent out once a month."
}

Type: string

In this schema the purpose is specified (i.e. a headline or purpose category).


Example:

"Marketing"

Type: string

This schema refers to an exact description of the purpose the data is processed for.


Example:

"Newsletter will be sent out once a month."


Example:

[
    {
        "purpose": "Marketing",
        "description": "Newsletter will be sent out once a month."
    }
]

Type: array

An explanation about the legal bases for the processing of personal data disclosed.

Each item of this array must be:


Type: object

Example:

{
    "reference": "GDPR-99-1-a",
    "description": "The data are processed on the basis of Art. 99 GDPR which states..."
}

Type: string

This field refers to the reference in legal regulations (laws, orders, declaration etc.). The format is set to uppercase letters for the legal text followed by hyphened numbers and lowercase letters for the exact location.

Must match regular expression: ^[A-Z]*([-]?[0-9]*|[a-z]*)*$
Example:

"GDPR-99-1-a"

Type: string

An explanation about the legal basis used.


Example:

"The data are processed on the basis of Art. 99 GDPR which states..."

Example:

[
    {
        "reference": "GDPR-99-1-a",
        "description": "The data are processed on the basis of Art. 99 GDPR which states..."
    },
    {
        "reference": "BDSG-42-5",
        "description": "BDSG-42-5 refers to the processing of personal data within..."
    }
]

Type: array

An explanation about the legitimate interests for the processing of data disclosed.

Each item of this array must be:


Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


Example:

{
    "exists": true,
    "reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
}

Type: boolean Default: false

The legitimate interest only has to be stated if the processing is carried out in accordance with Art. 13 (1d). This field refers to the existence of such an interest.


Examples:

true
false

Type: string

If the legitimate interest has to be stated because the processing is carried out in accordance with Art. 13 (1d), it is described in here.


Example:

"There is an legitimate interest based on ... and is not overwritten because ..."

Example:

[
    {
        "exists": true,
        "reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
    }
]

Type: array

An explanation about the recipients of the data disclosed.

Each item of this array must be:


Type: object

Example:

{
    "name": "Yellow Company AG",
    "division": "Product line e-mobility",
    "address": "Triana 123, 9999 Seville",
    "country": "ES",
    "representative": {
        "name": "Jane Super",
        "email": "contact@yellowcompany.de",
        "phone": "0049 151 1234 9876"
    },
    "category": "Marketing content provider"
}

Type: string

The name of the third party (recipient).


Example:

"Yellow Company AG"

Type: string

The division of the third party (recipient) for structuring controllers into smaller entities.


Example:

"Product line e-mobility"

Type: string

The address of the third party (recipient).


Example:

"Triana 123, 9999 Seville"

Type: string

The country in which the recipient is located at. Attention: This explictly specifies third country transfers!

Must match regular expression: ^[A-Z][A-Z]$

Must be at least 2 characters long

Must be at most 2 characters long


Example:

"ES"

Type: object

The representative of the third party (recipient).


Example:

{
    "name": "Jane Super",
    "email": "contact@yellowcompany.de",
    "phone": "0049 151 1234 9876"
}

Type: string

The name of the representative of the third party (recipient).


Example:

"Jane Super"

Type: stringFormat: email

The email address of the representative of the third party (recipient).


Example:

"contact@yellowcompany.de"

Type: string

The phone number of the representative of the third party (recipient).

Must match regular expression: ^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$
Example:

"0049 151 1234 9876"

Type: string

The category of the the recipient.


Example:

"Marketing content provider"

Type: object

Example:

{
    "category": "Responsible Statistical Institutes"
}

Type: string

This category has to be given, even if the controller is not mentioned explicitly.


Example:

"Responsible Statistical Institutes"


Example:

[
    {
        "name": "Yellow Company AG",
        "division": "Product line e-mobility",
        "address": "Triana 123, 9999 Seville",
        "country": "ES",
        "representative": {
            "name": "Jane Super",
            "email": "contact@yellowcompany.de",
            "phone": "0049 151 1234 9876"
        },
        "category": "Marketing content provider"
    },
    {
        "category": "Responsible Statistical Institutes"
    }
]

Type: array

In this section, the duration of storage or storage criteria are given.

Each item of this array must be:


Type: object

Example:

{
    "temporal": [
        {
            "description": "Creating backups.",
            "ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
        },
        {
            "description": "Finishing ordering process.",
            "ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
        }
    ],
    "purposeConditional": [
        "Data is stored until the end of the ordering process."
    ],
    "legalBasisConditional": [
        "SGB-100-42"
    ],
    "aggregationFunction": "max"
}

Type: array

This schema serves to specify a temporal description of how long the data is stored and for what exactly.

Each item of this array must be:


Type: object

Example:

{
    "description": "Creating backups.",
    "ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
}

Type: string

The description why the data has to be stored..


Example:

"Creating backups."

Type: string

The TTL (Time-to-Live) specifies the lifetime of this data (category). It follows the ISO 8601 for time spans.

Must match regular expression: ^(\d{4}(-\d{2}(-\d{2})?(?!:))?(T\d{2}(:\d{2}(:\d{2})?(\.\d+)?)?)?(Z|([+,-]\d{2}(:\d{2})?))?)?P(([0-9]+([.,][0-9]*)?Y)?([0-9]+([.,][0-9]*)?M)?([0-9]+([.,][0-9]*)?D)?T?([0-9]+([.,][0-9]*)?H)?([0-9]+([.,][0-9]*)?M)?([0-9]+([.,][0-9]*)?S)?)|\d{4}-?(0[1-9]|11|12)-?(?:[0-2]\d|30|31)T((?:[0-1][0-9]|[2][0-3]):?(?:[0-5][0-9]):?(?:[0-5][0-9]|60)|2400|24:00)$
Example:

"2005-08-09T18:31:42P3Y6M4DT12H30M17S"


Example:

[
    {
        "description": "Creating backups.",
        "ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
    },
    {
        "description": "Finishing ordering process.",
        "ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
    }
]

Type: array

Specifies the purpose that requires data storage.

Each item of this array must be:


Example:

[
    "Data is stored until the end of the ordering process."
]

Type: array

If the storage is required by law, the respective one has to specified in here.

Each item of this array must be:


Example:

[
    "SGB-100-42"
]

Type: enum (of string) Default: "max"

The aggregation function describes the calculation basis when specifying several time intervals. For example, if there is storage for 2 weeks for technical reasons (e.g. backup), but there is a legally longer retention period, the maximum aggregation function (max) would be selected (standard case). Aggregation functions available: min, max, sum, avg

Must be one of:

  • "min"
  • "max"
  • "sum"
  • "avg"

Example:

"max"

Additional Properties of any type are allowed.

Type: object

Example:

[
    {
        "temporal": [
            {
                "description": "Creating backups.",
                "ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
            },
            {
                "description": "Finishing ordering process.",
                "ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
            }
        ],
        "purposeConditional": [
            "Data is stored until the end of the ordering process."
        ],
        "legalBasisConditional": [
            "SGB-100-42"
        ],
        "aggregationFunction": "max"
    }
]

Type: object

This schema refers to the necessity and consequences of non-disclosure of personal data. According to Art. 13 (2e), this refers to the information whether the provision of the personal data is required by law or contract or is required for the conclusion of a contract, whether the data subject is obliged to provide the personal data and the possible consequences of not providing it.


Example:

{
    "legalRequirement": false,
    "contractualRegulation": false,
    "obligationToProvide": false,
    "consequences": "If the data is not disclosed, the shipment cannot be delivered."
}

Type: boolean Default: false

Is there a legal requirement to collect these data?


Examples:

false
true

Type: boolean Default: false

Is there a contractual regulation to collect these data?


Examples:

false
true

Type: boolean Default: false

Is there an obligation for the data subject to provide these data?


Examples:

false
true

Type: string

Description of the consequences in the case of non-disclosure.


Example:

"If the data is not disclosed, the shipment cannot be delivered."

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Example:

[
    {
        "_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
        "category": "E-mail address",
        "purposes": [
            {
                "purpose": "Marketing",
                "description": "Newsletter will be sent out once a month."
            }
        ],
        "legalBases": [
            {
                "reference": "GDPR-99-1-a",
                "description": "The data are processed on the basis of Art. 99 GDPR which states..."
            },
            {
                "reference": "BDSG-42-5",
                "description": "BDSG-42-5 refers to the processing of personal data within..."
            }
        ],
        "legitimateInterests": [
            {
                "exists": true,
                "reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
            }
        ],
        "recipients": [
            {
                "name": "Yellow Company AG",
                "division": "Product line e-mobility",
                "address": "Triana 123, 9999 Seville",
                "country": "ES",
                "representative": {
                    "name": "Jane Super",
                    "email": "contact@yellowcompany.de",
                    "phone": "0049 151 1234 9876"
                },
                "category": "Marketing content provider"
            },
            {
                "category": "Responsible Statistical Institutes"
            }
        ],
        "storage": [
            {
                "temporal": [
                    {
                        "description": "Creating backups.",
                        "ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
                    },
                    {
                        "description": "Finishing ordering process.",
                        "ttl": "2020-07-12T18:31:42P3Y6M4DT12H30M17S"
                    }
                ],
                "purposeConditional": [
                    "Data is stored until the end of the ordering process."
                ],
                "legalBasisConditional": [
                    "SGB-100-42"
                ],
                "aggregationFunction": "max"
            }
        ],
        "nonDisclosure": {
            "legalRequirement": false,
            "contractualRegulation": false,
            "obligationToProvide": false,
            "consequences": "If the data is not disclosed, the shipment cannot be delivered."
        }
    }
]

Type: array

This schema refers to the adequacy decisions of any third country transfers.

Each item of this array must be:


Type: object

Example:

{
    "country": "ES",
    "adequacyDecision": {
        "available": true,
        "description": "An adequacy decision was made on the 23rd April 2020 by..."
    },
    "appropriateGuarantees": {
        "available": true,
        "description": "Here the appropriate guarantee was formulated by..."
    },
    "presenceOfEnforceableRightsAndEffectiveRemedies": {
        "available": true,
        "description": "These rights are given because of..."
    },
    "standardDataProtectionClause": {
        "available": true,
        "description": "The standard data protection clause which applies here can be found here: ..."
    }
}

Type: string

The country code of the third country.

Must match regular expression: ^[A-Z][A-Z]$

Must be at least 2 characters long

Must be at most 2 characters long


Example:

"ES"

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


Example:

{
    "available": true,
    "description": "An adequacy decision was made on the 23rd April 2020 by..."
}

Type: boolean Default: false

Adequacy decision by the European commission exists?


Examples:

true
false

Type: string

Description of the adequacy decision by the European commission.


Example:

"An adequacy decision was made on the 23rd April 2020 by..."

Additional Properties of any type are allowed.

Type: object

Type: object

Suitable guarantees according to Art. 45

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


Example:

{
    "available": true,
    "description": "Here the appropriate guarantee was formulated by..."
}

Type: boolean Default: false

Do suitable guarantees according to Art. 45 exist?


Examples:

true
false

Type: string

Description of suitable guarantees according to Art. 45


Example:

"Here the appropriate guarantee was formulated by..."

Type: object

Presence of enforceable rights and effective remedies

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


Example:

{
    "available": true,
    "description": "These rights are given because of..."
}

Type: boolean Default: false

Presence of enforceable rights and effective remedies?


Examples:

true
false

Type: string

Description of enforceable rights and effective remedies.


Example:

"These rights are given because of..."

Type: object

Schema on Standard Data Protection clauses.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


Example:

{
    "available": true,
    "description": "The standard data protection clause which applies here can be found here: ..."
}

Type: boolean Default: false

Does a standard data protection clause exist?


Examples:

true
false

Type: string

An explanation about the standard data protection clause (may include link).


Example:

"The standard data protection clause which applies here can be found here: ..."

Additional Properties of any type are allowed.

Type: object

Example:

[
    {
        "country": "ES",
        "adequacyDecision": {
            "available": true,
            "description": "An adequacy decision was made on the 23rd April 2020 by..."
        },
        "appropriateGuarantees": {
            "available": true,
            "description": "Here the appropriate guarantee was formulated by..."
        },
        "presenceOfEnforceableRightsAndEffectiveRemedies": {
            "available": true,
            "description": "These rights are given because of..."
        },
        "standardDataProtectionClause": {
            "available": true,
            "description": "The standard data protection clause which applies here can be found here: ..."
        }
    }
]

Type: object

Defining the right to access and data portability.


Example:

{
    "available": true,
    "description": "Data access is possible through...",
    "url": "https://green-bikes.de/access",
    "email": "access@greencompany.de",
    "identificationEvidences": [
        "ID card copy",
        "Email verification"
    ],
    "administrativeFee": {
        "amount": 0,
        "currency": "EUR"
    },
    "dataFormat": "json"
}

Type: boolean Default: true

The information is subject to the requirements of Art. 20 (right to data portability) GDPR.


Example:

true

Type: string

Description of the requirements according to Art. 20 GDPR.


Examples:

"Data access is possible through..."
"In the event that the requirements of Art. 20 Para. 1 GDPR are met, you have the right to store your data in a structured, common .."

Type: stringFormat: uri-reference

URL to relevant resources such as access portals.


Example:

"https://green-bikes.de/access"

Type: stringFormat: email

Contact email address


Example:

"access@greencompany.de"

Type: array

ID evidences

Each item of this array must be:


Example:

[
    "ID card copy",
    "Email verification"
]

Type: object

The fee that refers to several copies.


Example:

{
    "amount": 0,
    "currency": "EUR"
}

Type: number Default: 0

The amount of money to be paid for a copy.


Example:

0

Type: string Default: "EUR"

The currency in which the amount of money for one copy has to be provided acc. to ISO 4217.

Must be at least 3 characters long

Must be at most 3 characters long


Example:

"EUR"

Additional Properties of any type are allowed.

Type: object

Type: array Default: ["json"]

An explanation about the data format(s) the data is provided in.

Each item of this array must be:


Examples:

"json"
"xml"

Additional Properties of any type are allowed.

Type: object

Type: array

This duty to provide information is limited to the collection of personal data that does not take place from the data subject (Art. 14).

Each item of this array must be:


Type: object

Example:

{
    "_id": "f1423cc00509931",
    "dataCategory": "Creditworthiness",
    "sources": [
        {
            "description": "This information could be retrieved from...",
            "url": "https://blueCompany.org",
            "publiclyAvailable": false
        }
    ]
}

Type: string

This refers to an locally unique ID in an arbitrary but deterministic format.


Example:

"f1423cc00509931"

Type: string

The category the data refer to.


Example:

"Creditworthiness"

Type: array

Specify the source(s) where the data come from.

Each item of this array must be:


Type: object

Example:

{
    "description": "This information could be retrieved from...",
    "url": "https://blueCompany.org",
    "publiclyAvailable": false
}

Type: string

Description of the source the data is taken from.


Example:

"This information could be retrieved from..."

Type: stringFormat: uri-reference

URL (reference) where the data is taken from.


Example:

"https://blueCompany.org"

Type: boolean Default: false

Are these data publicly available?


Examples:

false
true

Additional Properties of any type are allowed.

Type: object

Example:

[
    {
        "description": "This information could be retrieved from...",
        "url": "https://blueCompany.org",
        "publiclyAvailable": false
    }
]

Additional Properties of any type are allowed.

Type: object

Example:

[
    {
        "_id": "f1423cc00509931",
        "dataCategory": "Creditworthiness",
        "sources": [
            {
                "description": "This information could be retrieved from...",
                "url": "https://blueCompany.org",
                "publiclyAvailable": false
            }
        ]
    }
]

Type: object

Refers to the right of information.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: true
Type: object

The following properties are required:

  • description

Example:

{
    "available": true,
    "description": "For the right to information please use this contact form and...",
    "url": "https://greencompany.org/rightToInformation",
    "email": "contact@greencompany.de",
    "identificationEvidences": [
        "ID card copy",
        "Email verification"
    ]
}

Type: boolean Default: true

Possibility available?


Example:

true

Type: string

Description of the right.


Example:

"For the right to information please use this contact form and..."

Type: stringFormat: uri-reference

URL to an online portal.


Example:

"https://greencompany.org/rightToInformation"

Type: stringFormat: email

Example:

"contact@greencompany.de"

Type: array

Each item of this array must be:


Example:

[
    "ID card copy",
    "Email verification"
]

Additional Properties of any type are allowed.

Type: object

Type: object

This schema refers to the right to rectification or deletion (Art. 16 GDPR).

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: true
Type: object

The following properties are required:

  • description

Example:

{
    "available": true,
    "description": "For the right to rectification please use this contact form and...",
    "url": "https://greencompany.org/rights",
    "email": "contact@greencompany.de",
    "identificationEvidences": [
        "ID card copy",
        "Email verification"
    ]
}

Type: boolean Default: true

Possibility available?


Examples:

true
false

Type: string

Example:

"For the right to rectification please use this contact form and..."

Type: stringFormat: uri-reference

Example:

"https://greencompany.org/rights"

Type: stringFormat: email

Example:

"contact@greencompany.de"

Type: array

Each item of this array must be:


Example:

[
    "ID card copy",
    "Email verification"
]

Additional Properties of any type are allowed.

Type: object

Type: object

The right to data portability as stated in Art. 20 GDPR.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: true
Type: object

The following properties are required:

  • description

Example:

{
    "available": true,
    "description": "Data portability is only possible when...",
    "url": "https://greencompany.org/rights",
    "email": "contact@greencompany.de",
    "identificationEvidences": [
        "ID card copy"
    ]
}

Type: boolean Default: true

Examples:

false
true

Type: string

Example:

"Data portability is only possible when..."

Type: stringFormat: uri-reference

Example:

"https://greencompany.org/rights"

Type: stringFormat: email

Example:

"contact@greencompany.de"

Additional Properties of any type are allowed.

Type: object

Type: object

This schema refers to the right to withdraw consent.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: true
Type: object

The following properties are required:

  • description

Example:

{
    "available": true,
    "description": "For the right to withdraw consent please use this contact form and...",
    "url": "https://greencompany.org/rights",
    "email": "contact@greencompany.de",
    "identificationEvidences": [
        "Email verification"
    ]
}

Type: boolean Default: true

Examples:

true
false

Type: string

Example:

"For the right to withdraw consent please use this contact form and..."

Type: stringFormat: uri-reference

Example:

"https://greencompany.org/rights"

Type: stringFormat: email

Example:

"contact@greencompany.de"

Type: array

Each item of this array must be:


Example:

[
    "Email verification"
]

Additional Properties of any type are allowed.

Type: object

Type: object

This schema refers to the right to complain.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: true
Type: object

The following properties are required:

  • description
  • supervisoryAuthority

Example:

{
    "available": true,
    "description": "For the right to complain please use this contact form and...",
    "url": "https://greencompany.org/rights",
    "email": "contact@greencompany.de",
    "identificationEvidences": [
        "ID card copy",
        "Email verification"
    ],
    "supervisoryAuthority": {
        "name": "Commissioner for Data Protection",
        "address": "Friedrichstrasse 219, 10969 Berlin",
        "country": "DE",
        "email": "mailbox@privacy-berlin.de",
        "phone": "0049 444 222 111"
    }
}

Type: boolean Default: true

Is this right available?


Examples:

true
false

Type: string

Example:

"For the right to complain please use this contact form and..."

Type: stringFormat: uri-reference

Example:

"https://greencompany.org/rights"

Type: stringFormat: email

Example:

"contact@greencompany.de"

Type: array

Each item of this array must be:


Example:

[
    "ID card copy",
    "Email verification"
]

Type: object

Defines the supervisory authority that has to be contacted in order to complain about the data controller's practices.


Example:

{
    "name": "Commissioner for Data Protection",
    "address": "Friedrichstrasse 219, 10969 Berlin",
    "country": "DE",
    "email": "mailbox@privacy-berlin.de",
    "phone": "0049 444 222 111"
}

Type: string

Name of the supervisory authority.


Example:

"Commissioner for Data Protection"

Type: string

Adress of the supervisory authority.


Example:

"Friedrichstrasse 219, 10969 Berlin"

Type: string

Country of the supervisory authority.

Must be at least 2 characters long

Must be at most 2 characters long


Example:

"DE"

Type: stringFormat: email

Email adress of the supervisory authority.


Example:

"mailbox@privacy-berlin.de"

Type: string

Phone number of the supervisory authority.

Must match regular expression: ^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$
Example:

"0049 444 222 111"

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Type: object

Automated decision making and potentially involved logic. Does include profiling.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: true
Type: object

The following properties are required:

  • logicInvolved
  • scopeAndIntendedEffects

Example:

{
    "inUse": true,
    "logicInvolved": "The personal data are processed as follows...",
    "scopeAndIntendedEffects": "From processing follows..."
}

Type: boolean Default: true

Is automated decision making in use?


Examples:

true
false

Type: string

An explanation about the logic involved to automated decision making.


Example:

"The personal data are processed as follows..."

Type: string

Scope and intended effects of such processing for the data subject.


Example:

"From processing follows..."

Additional Properties of any type are allowed.

Type: object

Type: array

Notification of change of purpose.

Each item of this array must be:


Type: object

Example:

{
    "description": "Due to technical requirements...",
    "affectedDataCategories": [
        "Email adress",
        "Credit score"
    ],
    "plannedDateOfChange": "2020-08-20",
    "urlOfNewVersion": "https://greencomp.de/privacypolicy/2"
}

Type: string

Description of the change of purpose.


Example:

"Due to technical requirements..."

Type: array

Data categories that are affected from the change of purpose.

Each item of this array must be:


Example:

[
    "Email adress",
    "Credit score"
]

Type: string

Specify the planned date to the changes as ISO 8601 string.

Must match regular expression: ^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
Example:

"2020-08-20"

Type: string

URL points to a document of the same as this one. That creates a chain of information requirements for seamless recognition of transparency information even over a longer period of time.


Example:

"https://greencomp.de/tilt/2"

Additional Properties of any type are allowed.

Type: object

Example:

[
    {
        "description": "Due to technical requirements...",
        "affectedDataCategories": [
            "Email adress",
            "Credit score"
        ],
        "plannedDateOfChange": "2020-08-20",
        "urlOfNewVersion": "https://greencomp.de/privacypolicy/2"
    }
]

Additional Properties of any type are allowed.

Type: object