Skip to content
Privacy Requests
Guides
Custom Request Fields
Configuration

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 = true

Configure 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:

AttributeDescription
labelHuman-readable label rendered on the form.
requiredWhether the value must be supplied. Defaults to true for non-file fields and false for file fields.
default_valueValue used to pre-populate the input. Not supported for multiselect, checkbox_group, or file fields.
hiddenIf true, the field is not rendered but its default_value is still submitted. Not supported for multiselect, checkbox_group, or file fields.
field_typeSelects the input variant rendered by the Privacy Center. See Field types below. Defaults to text.
optionsList of choices. Required for select, multiselect, and checkbox_group. Rejected for text, textarea, checkbox, and file.
query_param_keyOptional 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_typeDescription
text (default)Single-line free-text input.
textareaMulti-line free-text input.
selectSingle-select dropdown. Requires options.
multiselectMulti-select dropdown. Requires options.
checkboxA single boolean checkbox. Persists as true/false.
checkbox_groupA group of checkboxes that the data subject can toggle independently. Requires options and persists as a list of the selected values.
fileOne 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.