Skip to content
Privacy Center & FidesJS
Privacy Center
Privacy Requests

Configure Privacy Request Options

The list of available privacy request functions is controlled by the Actions section of the configuration file. Each action references a policy_key that determines the request type. For a full list of available request types, their seeded policy keys, and configuration examples, see Privacy Request Types.

Within the actions section, privacy functions may be defined using the following fields:

FieldDescription
titleTitle for the tile displayed on the site that describes the function being performed.
descriptionA user-friendly description for each privacy request option.
icon_pathSpecify a URL to a public icon to override the default icon displayed.
policy_keyA key that refers to the policy that will be used.
identity_inputsThe list of personally identifiable information gathered to perform an action and whether or not it is required.
custom_privacy_request_fieldsA list of additional metadata that can be provided by the user that is included in the request. Supports text, textarea, single- and multi-select, checkbox, checkbox group, and file upload field types. (See: Custom request fields)
document_requestSettings for asking the data subject for documents after they submit a request of this type. See Example: Ask for documents.
locations(API-only) A list of locations where this action should be available. Use "fallback" as a special value to define an action that should be shown when no location-specific actions match.

Example: Access request

This is an example of an Access function that requires the Data Subject to enter their email address and executes the default_access_policy when submitted returning the access package to the specified email address.

"actions": [
    {
    "title": "Access your data",
    "description": "We will email you a report of the data related to your account.",
    "icon_path": "/download.svg",
    "policy_key": "default_access_policy",
    "identity_inputs": {
        "name": "optional",
        "email": "required",
        "phone": "optional"
      }
    }
]

Example: Ask for documents

This access action sends the data subject a secure upload link when the request is received. The upload page accepts up to five PDF, JPG, or PNG files of up to 10 MB each, and offers an authorization form for agents acting for someone else.

"actions": [
    {
    "title": "Access your data",
    "description": "We will email you a report of the data related to your account.",
    "policy_key": "default_access_policy",
    "identity_inputs": {
        "email": "required"
      },
    "document_request": {
        "enabled": true,
        "send_at": "receipt",
        "allowed_file_types": ["pdf", "jpg", "png"],
        "max_size_bytes": 10485760,
        "max_file_count": 5,
        "instructions": "Upload a photo ID. If someone is acting for you, add their signed authorization letter.",
        "form_url": "https://example.com/forms/authorized-agent.pdf",
        "form_label": "Download the authorized agent form"
      }
    }
]
FieldDescription
enabledSet to true to ask for documents. Defaults to false.
send_atWhen the upload link is sent: receipt (the default), identity_verified, or manual, which leaves sending to your team.
allowed_file_typesFile extensions the upload page accepts. Defaults to ["jpg", "pdf", "png"].
max_size_bytesThe largest file the upload page accepts, in bytes. Defaults to 10485760 (10 MB).
max_file_countHow many files one upload link accepts, from 1 to 20. Defaults to 5.
instructionsText shown on the upload page, up to 2,000 characters.
form_urlAn https link to a form the data subject downloads, fills in, and uploads.
form_labelThe text of the form link, up to 100 characters. Defaults to "Download the form".

To change the same settings in the Admin UI, see Collect documents.

Location-Based Actions (API-only)

When using API-based configuration, you can specify which actions should be available in different locations. This is useful for providing region-specific privacy request options or complying with different privacy regulations across jurisdictions.

Example: Location-Specific Actions

"actions": [
    {
        "locations": ["us_ca"],
        "policy_key": "default_access_policy",
        "title": "California access policy",
        // other fields...
    },
    {
        "locations": ["us"],
        "policy_key": "default_access_policy",
        "title": "US National access policy",
        // other fields...
    },
    {
        "locations": ["eea"],
        "policy_key": "default_access_policy",
        "title": "Access policy for EEA",
        // other fields...
    },
    {
        "locations": "fallback",
        "policy_key": "default_access_policy",
        "title": "Default access policy",
        // other fields...
    }
]

The location matching is case-insensitive and follows this priority:

  1. Most specific location (e.g., "us_ca" for California)
  2. Country-level location (e.g., "us" for United States)
  3. Regional location (e.g., "eea" for European Economic Area)
  4. Fallback actions for all other locations

For example:

  • A user in California (us_ca) sees the California access policy because there's a specific action for that state
  • A user in Utah (us_ut) sees the US National access policy because country-level actions apply when no state-specific action exists
  • A user in Spain (es) sees the EEA access policy because regional actions apply to countries within that region
  • A user in Mexico (mx) sees the default access policy because fallback actions apply when no specific location matches

Note: Location-based actions are only available when using API-based configuration. This feature is not supported in file-based configuration.

Note for self-hosted customers: To use location-based actions, your privacy center must be behind Cloudfront to enable geolocation of users. This is required because Cloudfront provides the geolocation information needed to determine which location-specific actions to show to users.