> For the complete documentation index, see [llms.txt](https://help.tillit.cloud/tillit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.tillit.cloud/tillit/knowledge-base/setting-up-tillit/integrations/wire-flow/secrets-and-security.md).

# Secrets & Security

How to manage credentials and secrets in Wire Flow for authenticating HTTP requests and securing workflow executions.

Credentials for HTTP tasks are stored securely as managed connections, scoped to your tenant, with automatic OAuth token refresh where applicable.

## Opening the Secrets Manager

Click ***Secrets*** on the Workflow List page.

<figure><img src="https://352909507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrNT40XJFAFlAhUX8CcQS%2Fuploads%2Fgit-blob-82b60072cab26fcfa8a83e36751f6aec2e36ad12%2FPasted%20image%2020260415152147.png?alt=media" alt=""><figcaption></figcaption></figure>

## Creating a Credential

<figure><img src="https://352909507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrNT40XJFAFlAhUX8CcQS%2Fuploads%2Fgit-blob-fee958ef9c3b56353c817b7cb6ad7b1473053ffc%2FPasted%20image%2020260415152239.png?alt=media" alt=""><figcaption></figcaption></figure>

1. Click ***+ New Secret***.
2. Fill in the **ID** (unique identifier used in the workflow) and **Name** (human-readable label).
3. Select a **Type** and enter the credential details.
4. Click ***Create***.

<figure><img src="https://352909507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrNT40XJFAFlAhUX8CcQS%2Fuploads%2Fgit-blob-7edcd1a2ba6d7ebd0539b58b6ebcc7d460a1756b%2FPasted%20image%2020260415152305.png?alt=media" alt=""><figcaption></figcaption></figure>

The new credential will appear in the **Credential** dropdown when configuring an HTTP task.

<figure><img src="https://352909507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrNT40XJFAFlAhUX8CcQS%2Fuploads%2Fgit-blob-1792ccc88054debc8d97c03d240bdd24c31c6642%2FPasted%20image%2020260415152415.png?alt=media" alt=""><figcaption></figcaption></figure>

## Credential Types

| Type                         | Fields                                                        | How it works                                                                 |
| ---------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **Bearer Token**             | Token value                                                   | Sends `Authorization: Bearer <token>` with each request                      |
| **API Key**                  | Key value                                                     | Sends `Authorization: ApiKey <key>` with each request                        |
| **Basic Auth**               | Username, Password                                            | Sends encoded username/password credentials with each request                |
| **OAuth Client Credentials** | Token endpoint, Client ID, Client Secret, Scopes, HTTP Method | Exchanges credentials for an access token automatically; refreshes on expiry |

## Connection Status

| Status           | Meaning                                               |
| ---------------- | ----------------------------------------------------- |
| **AUTHORIZED**   | Active and ready to use                               |
| **CREATING**     | Being provisioned                                     |
| **DEAUTHORIZED** | Credentials are invalid (e.g., expired client secret) |

## Security Limits

| Protection        | Limit              |
| ----------------- | ------------------ |
| Execution input   | 256 KB             |
| Workflow file     | 1 MB               |
| File upload       | 50 MB              |
| HTTP response     | 10 MB              |
| Fetch timeout     | 30 seconds         |
| Task count        | 100 per workflow   |
| Execution timeout | 300 seconds        |
| API throttle      | 10 req/s, 50 burst |

## JS Executor Sandbox

<figure><img src="https://352909507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrNT40XJFAFlAhUX8CcQS%2Fuploads%2Fgit-blob-4a5971f741b62a1ee9dfc7d6b5ea0dc1c293544c%2FPasted%20image%2020260415152445.png?alt=media" alt=""><figcaption></figcaption></figure>

Click ***Edit*** in the JavaScript Script section of the Task Properties panel to open the code editor.

<figure><img src="https://352909507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrNT40XJFAFlAhUX8CcQS%2Fuploads%2Fgit-blob-d2ed8f8490732ad0241f3f1888b9e4aa01880e4e%2FPasted%20image%2020260415152518.png?alt=media" alt=""><figcaption></figcaption></figure>

The editor runs JavaScript in a fully isolated environment: no network access, no environment variable access, no subprocess spawning, and no filesystem writes. It can only transform the data passed in.

<figure><img src="https://352909507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrNT40XJFAFlAhUX8CcQS%2Fuploads%2Fgit-blob-d8b1a1bc4259de5cb95b8fbee651f5c5e0cc5b28%2FPasted%20image%2020260415152549.png?alt=media" alt=""><figcaption></figcaption></figure>
