diff --git a/apps/docs/content/docs/platform/self-hosting/networking.mdx b/apps/docs/content/docs/platform/self-hosting/networking.mdx index 23ce8ebcdbd..62b8aecd14d 100644 --- a/apps/docs/content/docs/platform/self-hosting/networking.mdx +++ b/apps/docs/content/docs/platform/self-hosting/networking.mdx @@ -265,7 +265,7 @@ Most `/api` requests also pass through Next.js Proxy. The current app configurat The app makes outbound calls to model providers, integration APIs, your email provider, object storage, and your telemetry backend. Whether `HTTP_PROXY` / `HTTPS_PROXY` apply depends on which of those paths a call takes — there is no single answer, and no global setting that covers all of them. -The server runs on Bun, and Bun's native `fetch` honors `$HTTP_PROXY`, `$HTTPS_PROXY`, and `$NO_PROXY`. Sim installs no global dispatcher. Default `fetch` uses the configured proxy unless `NO_PROXY` excludes the destination. The SSRF guard reads the same three variables, with the same rules, for every request it sends. The rest either build their own HTTP agent or speak a non-HTTP protocol. +The server runs on Bun, and Bun's native `fetch` honors `$HTTP_PROXY`, `$HTTPS_PROXY`, and `$NO_PROXY`. Sim installs no global dispatcher. Default `fetch` uses the configured proxy unless `NO_PROXY` excludes the destination. The SSRF guard reads the same three variables for every request it sends, matching `NO_PROXY` the way curl does (see [Internal destinations and `NO_PROXY`](#internal-destinations-and-no_proxy)). The rest either build their own HTTP agent or speak a non-HTTP protocol. This depends on the runtime. The published images run Bun. If you build the standalone output and run it under Node instead, Node ignores these variables unless started with `NODE_USE_ENV_PROXY=1` (Node 22.21+ / 24.5+), and the `fetch`-based "Yes" rows stop being proxied — model providers, Resend, Gmail sending, the desktop update feed, and the telemetry relay. The Azure Blob, GCS and Azure Communication Services rows still hold: those SDKs read the proxy variables through their own agents rather than through `fetch`. See [Bun fetch](https://bun.sh/docs/runtime/networking/fetch) and [Node proxy configuration](https://nodejs.org/learn/http/enterprise-network-configuration). diff --git a/apps/sim/lib/core/security/redaction.test.ts b/apps/sim/lib/core/security/redaction.test.ts index cca3c164b04..07a562e9a5b 100644 --- a/apps/sim/lib/core/security/redaction.test.ts +++ b/apps/sim/lib/core/security/redaction.test.ts @@ -31,9 +31,8 @@ describe('isSensitiveKey', () => { 'exa_api_key', 'secretAccessKey', 'awsSecretAccessKey', - 'secretKey', - 'bedrockSecretKey', 'deployKey', + 'convexDeployKey', `${'a'.repeat(10000)}password`, ])('treats %s as sensitive', (key) => { expect(isSensitiveKey(key)).toBe(true) @@ -42,7 +41,7 @@ describe('isSensitiveKey', () => { it.concurrent.each([ 'tokenCount', 'tokenizer', - 'secretKeyId', + 'secretKey', 'deployKeyName', 'passwordStrength', 'authMethod', diff --git a/apps/sim/lib/core/security/redaction.ts b/apps/sim/lib/core/security/redaction.ts index a1c1a52aa11..635774fc85c 100644 --- a/apps/sim/lib/core/security/redaction.ts +++ b/apps/sim/lib/core/security/redaction.ts @@ -29,9 +29,8 @@ const SENSITIVE_KEY_PATTERNS: RegExp[] = [ /^.*api[_-]?key$/i, // AWS's `secretAccessKey` / `awsSecretAccessKey`, which no suffix above covers. /^.*secret[_-]?access[_-]?key$/i, - // Credential fields named for the key itself: Clerk's `secretKey`, Bedrock's - // `bedrockSecretKey`, and Convex's `deployKey`. - /^.*secret[_-]?key$/i, + // Convex's `deployKey`. A bare `secretKey` is left out: Infisical returns each + // secret's name in that field, and redacting it would hide every listed name. /^.*deploy[_-]?key$/i, /^passphrase$/i, /^authorization$/i,