Fides Documentation – Ethyca

Security Best Practices for Fides Deployment and Operation

Fides offers several configuration options to flexibly manage a variety of deployments. This guide is meant to be used as a supplement to the configuration options, and provides a summary for best practices to ensure appropriate security methods when deploying and operating Fides.

Deployment Diagrams

Generic Deployment Diagram

Public Ingress: TLS Termination of Inbound Traffic

The Fides webserver and Privacy Center services are not designed for a deployment with direct termination of TLS for inbound traffic. These services must not be exposed to users on untrusted networks. Therefore a reverse proxy or load balancer must be placed in front of them to enforce encryption of inbound traffic using TLS.

Public Ingress: Route Allow-Listing for Inbound Traffic

Exposing all Fides API endpoints to users on untrusted networks such as the public Internet is not recommended. Therefore an ingress or API gateway must be placed in front of the Fides webserver to allow-list only the minimum set of routes required by external users.

Public Internet → Privacy Center UI

Allow all routes to the Privacy Center UI container from the public Internet.

Trusted Internal Networks → Fides Webserver

Allow-list all routes to the Fides webserver from the trusted internal networks used by your Admin UI users and by any internal services or operators that call the Fides API directly.

Public Internet → Fides Webserver

Allow-list only the endpoints required by the features you have enabled. The required endpoints, grouped by feature, are listed below.

FidesJS consent SDK

For any deployment that loads FidesJS in customer-facing pages to render a privacy experience:

For TCF experiences, additionally:

For the iOS or Android Fides Mobile SDK, additionally:

Privacy Center as a consent experience

For deployments that use the Fides Privacy Center as a privacy experience for end users to manage their consent:

For disclosure metrics, additionally:

Retained for backward compatibility, superseded by the privacy-preferences variants above:

Privacy requests (data subject requests / DSRs)

For any deployment that accepts privacy request submissions from end users, including via the Fides Privacy Center:

Add GET /api/v1/id-verification/config if identity verification is enabled for the consent or privacy request flow. Add POST /api/v1/drp/exercise if you have enabled the Data Rights Protocol (DRP) integration.

Inbound consent webhooks

For bidirectional consent integrations that push consent updates from third-party systems back into Fides:

External respondent login

For Jira manual tasks or any other manual task workflow that asks external respondents to log in. These respondents are not on a trusted internal network, so the OTP login endpoints must be reachable from the public Internet:

Slack chat integration

If you use the Slack chat integration, both the OAuth installation flow and the inbound events webhook must be reachable from the public Internet:

OAuth callbacks for integrations

When Fides is connected to a third-party service (a SaaS integration or an SSO identity provider), the third party redirects the admin's browser back to a Fides callback URL after authorization. Most third parties require this URL to be publicly resolvable HTTPS, so the callback must be reachable from the public Internet for the integration to be configured. Allow-list the callbacks for the integrations you use:

Admin UI authentication

The Admin UI itself should be reached from trusted internal networks. In that case, none of its login endpoints (password reset, accept-invite, the SSO flow initiator, etc.) need to be allow-listed for the public Internet. Fides Enterprise customers exposing the Admin UI more broadly should work with their Ethyca Forward Deployed Engineer to finalise a deployment-specific allow-list.

Path parameters

When configuring the allow-list, match path parameters as parameterised segments rather than hard-coded values:

Privacy Center Front-End Cache

The Privacy Center UI is intended to be accessed by users on the public Internet. To improve performance for these users and reduce load on the Privacy Center UI origin server, it is recommended (but optional) to deploy a cache for the Privacy Center’s static assets between the user and the public ingress.

Security Best Practices

Version Management

Authentication

Authorization

Secrets Management

Encryption

Encryption in Transit

Encryption at Rest

Application Traffic

Reverse Proxy

Network Access / Firewalls

Logging

Hosted Fides Data Stores

Hosted Fides Database (PostgreSQL)

Hosted Fides Cache (Redis)

Remote Storage Destination

Fides currently only supports S3 as a remote storage destination for DSRs.