> For the complete documentation index, see [llms.txt](https://docs.duplocloud.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.duplocloud.com/docs/armor/settings.md).

# Settings

The **Settings** section holds two platform-wide admin stores: **System Settings** (arbitrary, typed configuration values) and **Global Secrets** (arbitrary name/value secrets available platform-wide).

## System Settings

A System Setting is a name/type/value entry — not a fixed list. A small set of known settings (e.g. a LangFuse observability URL) show up as ready-made templates, but admins can also define any custom setting a workspace or the platform needs to read.

Go to **AI Admin → Settings → System Settings**.

![System Settings, empty](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-8ac3dcc8858258688ac6a061b3c17aa7eea7c93a%2Fsettings-step-01-system-settings-empty.png?alt=media)

Click **+ Add** and fill in:

* **Type\*** — **String**, **Number**, **Bool**, or **JSON**
* **Setting\*** — pick one of the predefined settings, or **Custom Setting** to define your own
* **Name\*** — required for a custom setting; letters, numbers, `.`, `_`, `-` only
* **Value\*** — the input control matches the chosen Type (text field, number field, toggle, or a JSON editor)
* **Labels** (optional) — free-form tags for grouping related settings
* **Description** (optional)

![Add System Setting form, empty](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-4b961fe6d261b089c085358db64ead256c93c9f8%2Fsettings-step-02-add-setting-empty.png?alt=media)

![Add System Setting form, filled in](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-22198e8e5a665e51637ae13b1fc803eedc8f6ed9%2Fsettings-step-03-add-setting-filled.png?alt=media)

![System Setting added](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-880816fe9f784245e354015e8a15235cd46eda78%2Fsettings-step-04-setting-added.png?alt=media)

{% hint style="info" %}
Settings created here are platform-wide (**Global** scope). A separate **Workspace Settings** page, available within a workspace's own settings, lets you define a same-named setting scoped to just that workspace — it overrides the global value for that workspace only, the same override pattern used by [LLM Mappings](/docs/armor/agents/llm-models.md#llm-mappings) and [Quotas](/docs/armor/access-control/quotas.md).
{% endhint %}

### Predefined settings

These appear in the **Setting** dropdown rather than needing a custom name. Anything not listed here can still be added as a **Custom Setting**.

| Setting                                                         | Type   | Default   | What it does                                                                                                                                                             |
| --------------------------------------------------------------- | ------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Hidden Menu Items**                                           | JSON   | —         | Sidebar menu item ids to hide, as a YAML list. A parent disappears once all of its children are hidden. Applies on the next page reload.                                 |
| **Hidden Header Icons**                                         | JSON   | all shown | Navbar icons to hide, as a YAML map of icon id to flag. Recognised ids are `faults-notification-non-admin`, `trust-center`, and `help`.                                  |
| **Hide Single Workspace Selector**                              | Bool   | `false`   | Hides the Workspace dropdown for users who only have one workspace.                                                                                                      |
| **Workspace Memory Default (New Tickets)**                      | Bool   | `true`    | The starting state of the **Workspace Memory** toggle on a new ticket.                                                                                                   |
| **Collapse Advanced Options (Add Helpdesk Ticket)**             | Bool   | —         | Collapses the Advanced Options section by default when creating a ticket.                                                                                                |
| **Disable Product Analytics**                                   | Bool   | —         | Stops asking users for analytics consent and collects nothing. Users are asked for consent by default.                                                                   |
| **Allow kubectl/kubeconfig for static-token Kubernetes scopes** | Bool   | off       | Enables `kubectl` and **Download kubeconfig** for scopes backed by a static, long-lived credential. Off by default, because those credentials never expire on their own. |
| **LangFuse URL**                                                | String | —         | Base URL of the LangFuse instance embedded on the **Observability → LangFuse** page.                                                                                     |

{% hint style="info" %}
**Hidden Menu Items** and **Workspace Memory Default** can be set globally or per workspace; the rest are platform-wide only. A workspace value **replaces** the global one rather than merging with it.

The `-non-admin` suffix on a header icon id is load-bearing: `faults-notification-non-admin` hides that icon from User-role users only, never from administrators.
{% endhint %}

## Global Secrets

Global Secrets are name/value pairs available platform-wide — distinct from [Provider](/docs/armor/providers.md) credentials, which are tied to a specific cloud/tool integration. A Global Secret is just a value your agents can reference, merged in alongside any Workspace-, Project-, or Ticket-level secrets.

Go to **AI Admin → Settings → Global Secrets**.

![Global Secrets, empty](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-3d43b6edab2631ecc761e290d34d89e6e626bb45%2Fsettings-step-05-global-secrets-empty.png?alt=media)

Click **+ Add** and fill in:

* **Key\*** — the secret's name; cannot be changed after creation
* **Value\*** — the secret value; hidden by default, with a show/hide toggle

![Add Secret form, empty](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-087103c613eb64d9f004d9ccd46b612ec223d89a%2Fsettings-step-06-add-secret-empty.png?alt=media)

![Add Secret form, filled in](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-6103227b426d178dfba738e43964e34ca98ed7cf%2Fsettings-step-07-add-secret-filled.png?alt=media)

![Secret added, value masked](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-5198bc984983fe8d9115929e7bdbf0794c8787bf%2Fsettings-step-08-secret-added-masked.png?alt=media)

{% hint style="info" %}
Once saved, a secret's value is always masked in the list and API responses — only the last few characters are shown. If a Workspace, Project, or Ticket defines a secret with the same key, that more specific value takes precedence over the Global one.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.duplocloud.com/docs/armor/settings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
