---
title: "AppSettings.config | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-editor/it-ops/config-backend/appsettings/"
---

# AppSettings.config

> The **~/Configuration/AppSettings.config** file allows you to configure the location of asset folders, the state file storage, and the security model.

The following snippet shows application parameters of Customer's Canvas, which you can set up in either the `appSettings` section of **Web.config** or the separate **~/Configuration/AppSettings.config**, and their values. You can click a key to navigate to its description.

<pre className="language-xml"><code className="hljs">
&lt;appSettings&gt;
&nbsp;&lt;!-- Paths --&gt;
&nbsp;&lt;add key="DesignFolder" value="..\assets\designs" /&gt;
&nbsp;&lt;add key="MockupFolder" value="..\assets\mockups" /&gt;
&nbsp;&lt;add key="WatermarkFolder" value="..\assets\helpers" /&gt;
&nbsp;&lt;add key="DesignImagesFolder" value="..\assets\helpers" /&gt;
&nbsp;&lt;add key="PublicGalleryFolder" value="..\assets\images" /&gt;
&nbsp;&lt;add key="UserDataFolder" value="..\userdata" /&gt;

&nbsp;&lt;!-- Storage --&gt;
&nbsp;&lt;add key="StorageRootPath" value="" /&gt;
&nbsp;&lt;add key="PreloadFilesInMemory" value="true" /&gt;
&nbsp;&lt;add key="UseResourcesProtectorForMultipleInstanses" value="false" /&gt;

&nbsp;&lt;!-- Asset Storage --&gt;
&nbsp;&lt;add key="AssetStorageEndpoint" value="" /&gt;
&nbsp;&lt;add key="AssetStorageApiKey" value="" /&gt;
&nbsp;&lt;add key="AssetStorageTenantId" value="" /&gt;
&nbsp;&lt;add key="AssetStorageRetryCount" value="3" /&gt;
&nbsp;&lt;add key="AssetProcessorEndpoint" value="" /&gt;
&nbsp;&lt;add key="AssetProcessorApiKey" value="" /&gt;
&nbsp;&lt;add key="AssetStorageStates" value="False" /&gt;
&nbsp;&lt;add key="AssetStoragePublicGallery" value="False" /&gt;
&nbsp;&lt;add key="AssetStorageFonts" value="False" /&gt;
&nbsp;&lt;add key="AssetStorageFontsPath" value="" /&gt;
&nbsp;&lt;add key="AssetStorageFontsCheckInterval" value="60" /&gt;
&nbsp;&lt;add key="AssetStorageTemplates" value="False" /&gt;
&nbsp;&lt;add key="AssetStorageImages" value="False" /&gt;
&nbsp;&lt;add key="MessageBus:RabbitMQ" value="" /&gt;
&nbsp;&lt;add key="MessageBus:AzureServiceBus" value="" /&gt;

&nbsp;&lt;!-- State file management --&gt;
&nbsp;&lt;add key="MasterUserId" value="masteruser" /&gt;
&nbsp;&lt;add key="DefaultUserId" value="default" /&gt;
&nbsp;&lt;add key="StateFileStorageEnabled" value="False" /&gt;
&nbsp;&lt;add key="AnonymousModeEnabled" value="False" /&gt;
&nbsp;&lt;add key="DemoModeEnabled" value="False" /&gt;
&nbsp;&lt;add key="HiResControllerStoreDataInState" value="True" /&gt;

&nbsp;&lt;!-- Templates converting --&gt;
&nbsp;&lt;add key="TemplateColorProfileNotSpecifiedMode" value="AssignDefaultProfiles" /&gt;
&nbsp;&lt;add key="TemplateColorProfileNotFoundMode" value="ThrowException" /&gt;

&nbsp;&lt;!-- Font management --&gt;
&nbsp;&lt;add key="FontSubstitutionEnabled" value="False" /&gt;
&nbsp;&lt;add key="SubstitutionFontPostScriptName" value="Roboto-Regular" /&gt;
&nbsp;&lt;add key="DefaultFontPostScriptName" value="Roboto-Regular" /&gt;
&nbsp;&lt;add key="LoadFontListAsPostScriptNames" value="True" /&gt;
&nbsp;&lt;add key="Hinting" value="Auto" /&gt;

&nbsp;&lt;!-- Editor features --&gt;
&nbsp;&lt;add key="DefaultPlaceholderCoverModeEnabled" value="False" /&gt;

&nbsp;&lt;!-- Rendering --&gt;
&nbsp;&lt;add key="RasterizeVectorInSmartFrame" value="False" /&gt;
&nbsp;&lt;add key="ProofImageDownloadEnabled" value="False" /&gt;
&nbsp;&lt;add key="SepiaAlgorithm" value="MoreBrown" /&gt;
&nbsp;&lt;add key="AppUrl" value="/" /&gt;
&nbsp;&lt;add key="DisableHiResOutputEndpoint" value="False" /&gt;
&nbsp;&lt;add key="AutoTargetDevicePreviewMode" value="True" /&gt;

&nbsp;&lt;!-- Security --&gt;
&nbsp;&lt;add key="ApiSecurityKey" value="" /&gt;
&nbsp;&lt;add key="UnsafeHttpWebApiEnabled" value="" /&gt;
&nbsp;&lt;add key="SecureModeEnabled" value="True" /&gt;
&nbsp;&lt;add key="CorsAllowOriginDomains" value="*" /&gt;
&nbsp;&lt;add key="CorsAllowRequestHeaders" value="" /&gt;
&nbsp;&lt;add key="CustomersCanvasLicenseKey" value="" /&gt;
&nbsp;&lt;add key="IgnoreSslVerification" value="False" /&gt;

&nbsp;&lt;!-- Troubleshooting and maintenance --&gt;
&nbsp;&lt;add key="LogCleanUpInterval" value="60" /&gt;
&nbsp;&lt;add key="LogLifetimeToArchiving" value="20160" /&gt;
&nbsp;&lt;add key="LogLifetimeToRemoving" value="" /&gt;
&nbsp;&lt;add key="IssueNotificationEmail" value="" /&gt;
&nbsp;&lt;add key="DebugScriptModeEnabled" value="" /&gt;

&nbsp;&lt;!-- External state storage --&gt;
&nbsp;&lt;add key="ExternalStatePushUrl" value="https://example.com;" /&gt;
&nbsp;&lt;add key="ExternalStatePullUrl" value="https://example.com;" /&gt;
&nbsp;&lt;add key="ExternalStateDeleteUrl" value="https://example.com;" /&gt;
&nbsp;&lt;add key="ExternalStateSecurityKey" value="UniqueSecurityKey" /&gt;
&nbsp;&lt;add key="ExternalStateHeadRequestEnabled" value="True" /&gt;

&nbsp;&lt;!-- Asset Manager --&gt;
&nbsp;&lt;add key="AllCategoryName" value="all" /&gt;
&nbsp;&lt;add key="RootCategoryName" value="root" /&gt;
&nbsp;&lt;add key="OnlyFirstLevelSubfoldersInitialization" value="false" /&gt;

&nbsp;&lt;!-- Concurrency --&gt;
&nbsp;&lt;add key="MaxConcurrentRenderingTasks" value="12" /&gt;
&nbsp;&lt;add key="MaxConcurrentStateIOTasks" value="4" /&gt;

&nbsp;&lt;!-- Authorization --&gt;
&nbsp;&lt;add key="AuthorizationScheme" value="DatabaseTokens" /&gt;
&nbsp;&lt;add key="IssuerUrl" value="" /&gt;
&nbsp;&lt;add key="PublicKeyFilePath" value="" /&gt;
&nbsp;&lt;add key="TokenServiceEndpoint" value="https://localhost/token-service" /&gt;
&nbsp;&lt;add key="TokenServiceApiKey" value="" /&gt;
&nbsp;&lt;add key="NLog.Loki.Endpoint" value="" /&gt;
&lt;/appSettings&gt;
</code></pre>

:::note
All parameters defining paths are either relative or absolute. Relative paths to folders are specified from your site root and start with `~/` (for example, `~/userdata`). Absolute paths are complete ones; they start either with a drive letter (for example, `C:\`) or `\\` for network locations. When you use absolute paths to external folders, make sure that the user account, under which Customer's Canvas runs in ASP.NET/IIS, has the read/write access to the remote folders.

If for some reasons the Postscript names are misspelled, then Customer's Canvas adds Arial to the editor's font list and uses this font for substitutions and new text elements.
:::

Let's look at these parameters in more detail.

## Paths

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **DesignFolder** | The folder path where design templates are stored. The default value is `..\assets\designs`. | folder path |
|  **MockupFolder** | The folder path where product mockups are stored. The default value is `..\assets\mockups`. | folder path |
|  **WatermarkFolder** | The folder path where watermark images are stored. The default value is `..\assets\helpers`. | folder path |
|  **DesignImagesFolder** | The folder path where the `<BGIMG>` images are stored. The default value is `..\assets\helpers`. | folder path |
|  **PublicGalleryFolder** | The folder path where public images are stored. The default value is `..\assets\images`. | folder path |
|  **UserDataFolder** | The folder path where the user data is stored. The default value is `..\userdata`. | folder path |

## Storage

| Name | Description | Possible values |
| :--- | :--- | :--- |
| **StorageRootPath** | The root folder path for the file-based storage. Can be a local folder or a network path. By default, an empty string means `~App_Data/Storage`. | `""` |
|  **PreloadFilesInMemory** | When `true`, files up to 100 MB are loaded into `MemoryStream` instead of `FileStream` for faster access. This parameter affects memory consumption: for small data volumes, you can achieve a ~15% performance improvement, but at the cost of increased memory usage. Default: `true`. | `True`, `False` |
|  **UseResourcesProtectorForMultipleInstanses** | When `true`, a file-based resource protector is used. When `false`, only `InMemoryProtector` is used. This parameter is meaningful only when a single resource storage is shared by multiple Design Editor instances. Default: `false`. | `True`, `False` |

## Asset Storage

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **AssetStorageEndpoint** | The URL that links to your Asset Storage service. For example, `"https://assetstorage.example.com"`. | string |
|  **AssetStorageApiKey** | The API key you have set in your Asset Storage configuration. This value is an arbitrary string (a unique value). | string |
|  **AssetStorageTenantId** | If you are using Customer's Canvas in single-tenant mode, always set `1`. Otherwise, specify the ID of a tenant where you want to connect it. | string |
|  **AssetStorageRetryCount** | Ensures that the data will be received from the storage even if there are temporary network issues. The default value is `3`. | number |
|  **AssetProcessorEndpoint** | The URL that links to your Asset Processor service. For example, `"https://assetprocessor.example.com"`. | string |
|  **AssetProcessorApiKey** | The API key you have set in your Asset Processor configuration. This value is an arbitrary string (a unique value). | string |
|  **AssetStorageStates** | If `True`, saves state files to and loads them from the Asset Storage. The default value is `False`. | `True`, `False` |
|  **AssetStoragePublicGallery** | If `True`, enables receiving public images from the Asset Storage. The default value is `False`. | `True`, `False` |
|  **AssetStorageFonts** | If `True`, enables receiving fonts from the Asset Storage. The default value is `False`. | `True`, `False` |
|  **AssetStorageFontsPath** | The folder path where fonts are stored. By default, they are stored in the `"Fonts"` folder. | folder path |
|  **AssetStorageFontsCheckInterval** | The timeout to check for new fonts in storage, in seconds. The default value is `60`. | number |
|  **AssetStorageTemplates** | If `True`, enables receiving product templates and mockups from the Asset Storage. The default value is `False`. | `True`, `False` |
|  **AssetStorageImages** | If `True`, enables receiving images from the Asset Storage. The default value is `False`. | `True`, `False` |
|  **MessageBus:RabbitMQ** | The RabbitMQ connection string to notify of changing assets. Format: `"Host=...;VirtualHost=...;Username=...;Password=..."`. | string |
|  **MessageBus:AzureServiceBus** | The AzureServiceBus connection string to notify of changing assets. Format: `"Endpoint=...;SharedAccessKeyName=...;SharedAccessKey=..."`. | string |

## State file management

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **MasterUserId** | The identifier of the master user. Templates and images that belong to the master user can be used by any user. The default value is `masteruser`. | string |
|  **DefaultUserId** | The identifier of the default user. The default value is `default`. | string |
|  **StateFileStorageEnabled** | Enables the space-saving mode of [state files](https://customerscanvas.com/docs/on-premises/design-editor/concepts/state-files.md). In this mode, state files are saved in the **.sto** format. All images are stored in the `..\userdata\StateFileCache\` folder. The default value is `False`. | `True`, `False` |
|  **AnonymousModeEnabled** | Enables the anonymous site mode. The default value is `False`. For more details, see the [Demo mode](https://customerscanvas.com/docs/on-premises/design-editor/concepts/demo-mode.md) topic. | `True`, `False` |
|  **DemoModeEnabled** | Enables the demonstration mode. The default value is `False`. For more details, see the [Demo mode](https://customerscanvas.com/docs/on-premises/design-editor/concepts/demo-mode.md) topic. | `True`, `False` |
|  **HiResControllerStoreDataInState** | If `True`, the `HiRes` controller saves personalization data in state files when rendering. If `False`, the state file contains personalized product copies but not the metadata. Default: `True`. See [StoreDataInState](https://customerscanvas.com/docs/on-premises/design-editor/apis/personalized-rendering.md#request-payload). | `True`, `False` |

## Templates converting

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **TemplateColorProfileNotSpecifiedMode** | Defines how to handle IDML templates that do not specify a color profile: `AssignDefaultProfiles` assigns the default color profile, and `ThrowException` interrupts the import with an error. The default value is `AssignDefaultProfiles`. | `ThrowException`, `AssignDefaultProfiles` |
|  **TemplateColorProfileNotFoundMode** | Defines how to handle IDML templates with a color profile that is missing on the server: `AssignDefaultProfiles` assigns the default color profile, and `ThrowException` interrupts the import with an error. The default value is `ThrowException`. | `ThrowException`, `AssignDefaultProfiles` |

:::note
Although the underlying `MissingColorProfileMode` enumeration also defines `AssignFallbackProfiles`, fallback profiles are not available in Design Editor; only `AssignDefaultProfiles` and `ThrowException` are supported.
:::

## Font management

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **FontSubstitutionEnabled** | Enables font substitution. If `True`, substitutes missing fonts instead of throwing an exception. See the [Font list](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/font-list.md) article. The default value is `False`. | `True`, `False` |
|  **SubstitutionFontPostScriptName** | The PostScript name of the font to substitute a missing font with. By default, it is the [DefaultFontPostScriptName](#DefaultFontPostScriptName) value. | PostScript font name |
|  **DefaultFontPostScriptName** | The PostScript name of the default font used for any new text. The default value is `Roboto-Regular`. | PostScript font name |
|  **LoadFontListAsPostScriptNames** | If `True`, allows using PostScript names in the [FontList](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/editor-configuration/font-list.md) config. If `False`, reads names as font families. Default: `True`. | `True`, `False` |
|  **Hinting** | Specifies whether to use font hinting. `Enabled` turns it on, `Disabled` turns it off. `Auto` does not force hinting if it is disabled in the font. Default: `Auto`. | `Enabled`, `Disabled`, `Auto` |

## Editor features

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **DefaultPlaceholderCoverModeEnabled** | Enables the cover mode for image placeholders by default without using the `<PACM>` marker. The default value is `False`. | `True`, `False` |

## Rendering

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **RasterizeVectorInSmartFrame** | Defines how to import PDF and AI vector graphics from Photoshop templates. If `True`, Customer's Canvas rasterizes images from smart frames, otherwise, they are loaded in a vector form. The `<RVC>` marker overrides this parameter. The default value is `False`. | `True`, `False` |
|  **ProofImageDownloadEnabled** | Enables downloading of proof images instead of opening them in a tab when opening a proof image link in a browser. The default value is `False`. | `True`, `False` |
|  **SepiaAlgorithm** | Sets either a standard Sepia algorithm or a custom algorithm giving a more brown tone. `MoreBrown` is based on `Standard` with modified hue, contrast, and saturation. By default, the `MoreBrown` algorithm is enabled. Without this parameter, the `Standard` algorithm is applied. | `Standard`, `MoreBrown` |
|  **AppUrl** | Defines server's URLs that appear in links to proof images and high-resolution outputs. | string |
|  **DisableHiResOutputEndpoint** | Disables the [endpoint](https://customerscanvas.com/docs/on-premises/design-editor/apis/personalized-rendering.md) that generates high resolution print files. By default, the rendering is enabled, and this value is `False`. | `True`, `False` |
|  **AutoTargetDevicePreviewMode** | Enables preview of CMYK colors on the canvas and proof images and uses the profile specified in `hiResOutputDestinationColorProfileName` for color conversion. By default, this preview mode is enabled, and this value is `True`. | `True`, `False` |

## Security

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **ApiSecurityKey** | Enables access to the Web API. You have to include this key in every header of HTTPS requests as the `X-CustomersCanvasAPIKey` field. The Web API works if the value of this key passed in a request matches the value defined in **web.config**. The value is an arbitrary string. For more details, refer to the [Authentication](https://customerscanvas.com/docs/on-premises/design-editor/apis/auth.md) topic. | string |
|  **UnsafeHttpWebApiEnabled** | Enables access to the Web API through HTTP. The default value is `False`, which means you can only call the Customer's Canvas Web API through the secure protocol (HTTPS). | `True`, `False` |
|  **SecureModeEnabled** | Enables secure access to the user's private data and the Web API endpoints by using tokens. In this mode, before loading the editor, you have to create a `tokenId` for a single user and pass this token to the `loadeditor` method. The default value is `True`. | `True`, `False` |
|  **CorsAllowOriginDomains** | Restricts embedding the editor to pages hosted only on listed domains. If your site and Customer's Canvas run on different domains, you can specify your site domain name here to disallow access from other domains. Comma-separated string. The `"*"` default value allows access fromлюбого domain. | string |
|  **CorsAllowRequestHeaders** | Restricts HTTP headers, which the Design Editor accepts. By default, only `X-CustomersCanvasAPIKey` is accepted. To accept other headers, specify them as a comma-separated string. The `"*"` value allows any HTTP header. | string |
|  **CustomersCanvasLicenseKey** | Applies a [license key](https://customerscanvas.com/docs/on-premises/design-editor/it-ops/install/license-keys.md#using-the-appsettingsconfig-file) to the Customer's Canvas instance. | string |
|  **IgnoreSslVerification** | If `True`, the Web API does not verify certificates of HTTPS addresses of the assets. The default value is `False`. | `True`, `False` |

## Logs and Debugging

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **LogCleanUpInterval** | The interval between cleanup runs, in minutes. Every run, Customer's Canvas verifies whether logs get older than [LogLifetimeToArchiving](#LogLifetimeToArchiving) or [LogLifetimeToRemoving](#LogLifetimeToRemoving) and triggers archiving or removing. The default value is `60` (an hour). | number |
|  **LogLifetimeToArchiving** | The lifetime of logs before archiving them into the **~/Resources/Logs/Archive** folder, in minutes. Elmah does not index files in this folder, which makes the application launch faster. The default value is `20160` (two weeks). | number |
|  **LogLifetimeToRemoving** | The lifetime of logs before removing them from both `~/Resources/Logs/Archive` and `~/Resources/Logs` folders, in minutes. If [LogLifetimeToRemoving](#LogLifetimeToRemoving) is less than [LogLifetimeToArchiving](#LogLifetimeToArchiving), the archive folder will not contain log files. By default, logs are not removed. | number |
|  **IssueNotificationEmail** | Customer's Canvas sends error notifications (initialization errors, missing designs, mockups, or fonts) to this email address. For more details, refer to the [Monitoring](https://customerscanvas.com/docs/on-premises/design-editor/it-ops/advanced/monitoring.md#email-notifications) topic. | string |
|  **DebugScriptModeEnabled** | Enables the Debug mode for loading JavaScript. `False` enables Release mode (minified and combined scripts). `True` enables Debug mode (separate files, not minified). If not specified, depends on the application build configuration. | `True`, `False` |
|  **NLog.Loki.Endpoint** | The endpoint URL for Loki log collection. Configure this parameter to send NLog output to a Loki instance for centralized log management. | string |

## External state storage

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **ExternalStatePushUrl** | Defines the endpoint of your [custom controller](https://customerscanvas.com/docs/on-premises/design-editor/apis/state-files.md#a-sample-implementation) that the Design Editor will use to push a state file to external storage. The editor sends a state file to `ExternalStatePushUrl` and does not save it in its local storage if it receives a success response. You can define this endpoint in your own format, but it must contain `{userId}` and `{stateId}` placeholders, for example, `"https://example.com{userId}/{stateId}"`. These placeholders will be replaced with the actual user and state identifiers. You can also specify additional parameters in your request. | string |
|  **ExternalStatePullUrl** | Defines the endpoint of your [custom controller](https://customerscanvas.com/docs/on-premises/design-editor/apis/state-files.md#a-sample-implementation) that the Design Editor will use to pull a state file from external storage. This endpoint must implement both GET and HEAD methods and must pass the `Etag` and `LastModified` headers when responding. This ensures optimal operation and traffic savings. When loading a state file, the editor searches for this file in its local storage and cache first. Then, the editor tries to pull this file from `ExternalStatePullUrl`. If the state file is not found, an exception occurs. You can define this endpoint in your own format, but it must contain `{userId}` and `{stateId}` placeholders, for example, `"https://example.com{userId}/{stateId}"`. These placeholders will be replaced with the actual user and state identifiers. You can also specify additional parameters in your request. | string |
|  **ExternalStateDeleteUrl** | Defines the endpoint of your [custom controller](https://customerscanvas.com/docs/on-premises/design-editor/apis/state-files.md#a-sample-implementation) that the Design Editor will use to delete a state file from external storage and the cache. You can define this endpoint in your own format, but it must contain `{userId}` and `{stateId}` placeholders, for example, `"https://example.com{userId}/{stateId}"`. These placeholders will be replaced with the actual user and state identifiers. You can also specify additional parameters in your request. | string |
|  **ExternalStateSecurityKey** | Defines a security key for your controller processing requests to external state storage. The Design Editor passes this key within the header of HTTPS requests as the `X-ExternalStateStorageApiKey` field. The value is an arbitrary string. | string |
|  **ExternalStateHeadRequestEnabled** | If you use an outdated implementation of webhooks, set this parameter to `False` to confirm that the [Pull](#ExternalStatePullUrl) endpoint does not support the HEAD request. However, we strongly recommend updating the webhook to support the HEAD request to optimize performance and reduce traffic. The default value is `True`. | `True`, `False` |

## The Asset Manager

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **AllCategoryName** | The alias for the category containing images from the public images folder and all its subfolders. The default value is `all`. | string |
|  **RootCategoryName** | The alias for the category containing images from the public images folder. The default value is `root`. | string |
|  **OnlyFirstLevelSubfoldersInitialization** | If `True`, the categories in the PublicSource are read level by level on demand. At initializing, only first-level subfolders are taken. If `False`, the entire hierarchy of assets will be read when the image manager is opened. The default value is `False`. | `True`, `False` |

## Concurrency

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **MaxConcurrentRenderingTasks** | The maximum number of tasks for rendering proof images and hi-res outputs that the Design Editor can perform at the same time. The default value is `12`. | number |
|  **MaxConcurrentStateIOTasks** | The maximum number of concurrent tasks for loading or saving sate files in the Design Editor. For example, is this value is `3`, then three load tasks and three save tasks can be performed at the same time. The default value is `4`. | number |

## Authorization

| Name | Description | Possible values |
| :--- | :--- | :--- |
|  **AuthorizationScheme** | Authorization scheme to use. Available values: `"DatabaseTokens"` (for SQLite tokens), `"JWT"` (for JWT tokens). The default value is `"DatabaseTokens"`. | `"DatabaseTokens"` or `"JWT"` |
|  **IssuerUrl** | URL of the token issuer (BackOffice instance you are working with). | string |
|  **PublicKeyFilePath** | Path to the file with public keys (no need to pre-fill). For example, `"..\\Aurigma.DesignEditor.Authorization.JWT\\App_Data\\public-jwks.json"`. | string |
|  **TokenServiceEndpoint** | The URL that links to your TokenService application. For example, `"https://localhost/token-service"`. | string |
|  **TokenServiceApiKey** | The API key defined in the TokenService config. This value is an arbitrary string (a unique value). | string |
