Configuration
This page explains how to enable custom request fields and add them to your Privacy Center intake form.
Enable custom fields
To enable custom fields for privacy requests, please add the following section to your fides.toml file:
[execution]
allow_custom_privacy_request_field_collection = true
allow_custom_privacy_request_fields_in_request_execution = trueConfigure custom fields
To add custom fields that will be collected for privacy requests, add them to the Privacy Center's config.json file under custom_privacy_request_fields.
Every field supports the following attributes:
| Attribute | Description |
|---|---|
label | Human-readable label rendered on the form. |
required | Whether the value must be supplied. Defaults to true for non-file fields and false for file fields. |
default_value | Value used to pre-populate the input. Not supported for multiselect, checkbox_group, or file fields. |
hidden | If true, the field is not rendered but its default_value is still submitted. Not supported for multiselect, checkbox_group, or file fields. |
field_type | Selects the input variant rendered by the Privacy Center. See Field types below. Defaults to text. |
options | List of choices. Required for select, multiselect, and checkbox_group. Rejected for text, textarea, checkbox, and file. |
query_param_key | Optional URL query-parameter name used to pre-populate the field when the Privacy Center is opened with a deep link. |
Field types
The field_type attribute selects the input variant rendered by the Privacy Center:
field_type | Description |
|---|---|
text (default) | Single-line free-text input. |
textarea | Multi-line free-text input. |
select | Single-select dropdown. Requires options. |
multiselect | Multi-select dropdown. Requires options. |
checkbox | A single boolean checkbox. Persists as true/false. |
checkbox_group | A group of checkboxes that the data subject can toggle independently. Requires options and persists as a list of the selected values. |
file | One or more file attachments uploaded by the data subject. See Attachments. |
Configuration example
The configuration below combines the available field types into a single intake form: First name, an optional Last name, a hidden Tenant ID, a single-select State of residence, a multi-select Brands, a boolean Marketing opt-out checkbox, a Reasons checkbox group, a free-form Additional context textarea, and a Supporting documents file upload.
"custom_privacy_request_fields": {
"first_name": {
"label": "First name"
},
"last_name": {
"label": "Last name",
"required": false
},
"tenant_id": {
"label": "Tenant ID",
"hidden": true,
"default_value": "123"
},
"state": {
"label": "State of residence",
"field_type": "select",
"options": ["California", "New York", "Texas"]
},
"brands": {
"label": "Brands",
"field_type": "multiselect",
"options": ["Cookie House", "Cookie Mansion", "Cookie Castle"]
},
"marketing_opt_out": {
"label": "Opt me out of marketing emails",
"field_type": "checkbox",
"required": false
},
"reasons": {
"label": "Reason for this request",
"field_type": "checkbox_group",
"options": ["Account closure", "Privacy concerns", "Data accuracy", "Other"]
},
"additional_context": {
"label": "Additional context",
"field_type": "textarea",
"required": false
},
"supporting_documents": {
"label": "Supporting documents",
"field_type": "file",
"required": false,
"max_size_bytes": 5242880,
"allowed_file_types": ["pdf", "png", "jpg"]
}
}Server-side validation enforces the field-type constraints listed above. For example, declaring options on a text, textarea, checkbox, or file field, marking a multiselect/checkbox_group as hidden, or omitting options from a checkbox_group will be rejected when the Privacy Center configuration is saved.