{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Background Check Consent","description":"GDPR-aware consent form for running pre-employment background checks. Documents controller/processor, scope of checks, data categories, retention, third-country transfers and candidate rights.","type":"object","required":["controller","candidate","position","purpose","legal_basis","checks","data_categories","retention_days","retention_days_if_hired"],"additionalProperties":false,"properties":{"controller":{"type":"object","required":["name","address","dpo_contact"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"dpo_contact":{"type":"string","minLength":1}}},"processor":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"country":{"type":"string"}}},"candidate":{"type":"object","required":["name","date_of_birth"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"date_of_birth":{"type":"string","format":"date"}}},"position":{"type":"object","required":["title"],"additionalProperties":false,"properties":{"title":{"type":"string","minLength":1},"reference":{"type":"string"}}},"purpose":{"type":"string","minLength":1},"legal_basis":{"type":"string","enum":["consent","legitimate_interest","legal_obligation"]},"checks":{"type":"array","minItems":2,"items":{"type":"object","required":["type","included","description","source"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["identity","right_to_work","education","employment_history","professional_references","criminal_record","sanctions_lists","credit_history","social_media_public"]},"included":{"type":"boolean"},"description":{"type":"string","minLength":1},"source":{"type":"string","minLength":1}}}},"data_categories":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"retention_days":{"type":"integer","minimum":7,"maximum":365},"retention_days_if_hired":{"type":"integer","minimum":7,"maximum":3650},"third_country_transfers":{"type":"string"}}}