# Interface: FidesOptions

FidesJS supports a variety of custom options to modify its behavior or enable more advanced usage. For example, the `fides_locale` option can be provided to override the browser locale. See the properties list below for the supported options and example usage for each.

Any of the FidesJS options can be provided in one of three ways:

1. **Query Params** (e.g. `example.com?fides_locale=es`): typically used only for testing
2. **Window Object** (e.g. `window.fides_overrides = { fides_locale: "es" }`): typically used to configure FidesJS via an inline `<script>` tag on the page for customization
3. **Cookie Values** (e.g. `document.cookie="fides_locale=fr-CA"`): typically used to pass page-specific options from your server to the browser, or from a native app -> webview, etc.

If the same option is provided in multiple ways, they are evaluated in that order of precedence:

1. Query Params (top priority)
2. Window Object (second priority)
3. Cookie Values (last priority)

## Properties

### fides_clear_cookie
> **fides_clear_cookie**: `boolean`

When `true`, deletes the `fides_consent` or `fides_consent_suffix` cookie when FidesJS is initialized, to clear any previously saved consent preferences from the user's device. This option will only clear the cookie for the matching cookie name suffix or `fides_consent` if no suffix is provided.

Defaults to `false`.

### fides_disable_banner
> **fides_disable_banner**: `boolean`

When `true`, disable the FidesJS banner from being shown.

Defaults to `false`.

### fides_disable_save_api
> **fides_disable_save_api**: `boolean`

When `true`, disable FidesJS from saving user consent preferences to the Fides API.

Defaults to `false`.

### fides_disable_notices_served_api
> **fides_disable_notices_served_api**: `boolean`

When `true`, only disable FidesJS from saving notices served to the Fides API.

Defaults to `false`.

### fides_external_id?  
> `optional` **fides_external_id**: `string`

Provide a custom ID for the current user, to include as an `external_id` when saving their user consent preferences to the Fides API and the fides_consent cookie.

### fides_embed
> **fides_embed**: `boolean`

When `true`, require FidesJS to "embed" its UI into a specific `<div>` on the page, instead of as an overlay over the `<body>` itself. This is useful for creating a dedicated page to manage consent preferences on your site.

Defaults to `false`.

### fides_locale
> **fides_locale**: `string`

Override the browser's preferred locale when selecting the best translations for the FidesJS UI.

### fides_string
> **fides_string**: `string`

Override the current user's `fides_string` consent preferences. The string consists of four parts separated by commas in the format:
`TC_STRING,AC_STRING,GPP_STRING,NC_STRING`

### fides_tcf_gdpr_applies
> **fides_tcf_gdpr_applies**: `boolean`

Override the value for `gdprApplies` set in the IAB TCF CMP API. Defaults to `true`.

### fides_consent_override
> **fides_consent_override**: "accept" | "reject"

FidesJS will automatically opt in or out of all notices with this option. Defaults to `undefined`.

### fides_disabled_notices
> **fides_disabled_notices**: `string`

A comma-separated list of notice_keys to disable their respective Toggle elements in the CMP Overlay.

Defaults to `undefined`.

### fides_disabled_systems?  
> `optional` **fides_disabled_systems**: `string`

A comma-separated list of systems whose related notice assets should be excluded from responses. Defaults to `undefined`.

### fides_cookie_suffix?  
> `optional` **fides_cookie_suffix**: `string`

Adds a suffix to the name of the cookie that Fides uses to store consent preferences. Defaults to `undefined`.

### fides_cookie_compression
> **fides_cookie_compression**: "gzip" | "none"

Specifies the compression method to use for the consent cookie. Defaults to "none".
