From 83d4c6926f1bc2ebfaf131dd3e3c2f8f13cdbe66 Mon Sep 17 00:00:00 2001 From: Abdelrahman Essawy Date: Wed, 3 Jun 2026 07:04:03 +0300 Subject: [PATCH] docs: remove internal provider and stack disclosures --- concepts/credits.mdx | 2 +- concepts/job-lifecycle.mdx | 2 +- guides/ffmpeg.mdx | 16 ++++++---------- job-types/caption-burn.mdx | 2 +- job-types/captions-animate.mdx | 6 +++--- job-types/ffmpeg.mdx | 2 +- support/faq.mdx | 4 ++-- 7 files changed, 15 insertions(+), 19 deletions(-) diff --git a/concepts/credits.mdx b/concepts/credits.mdx index 91b327a..1bc963c 100644 --- a/concepts/credits.mdx +++ b/concepts/credits.mdx @@ -60,7 +60,7 @@ Every job is billed in nanodollars (one-billionth of a US dollar) drawn from you 1. **Submit gate.** Submit is atomic. If your balance is greater than zero and you are under your concurrent-job limit, the job runs. We do not estimate cost up front. Insufficient balance returns `402 INSUFFICIENT_CREDITS`. 2. **Execution.** Job runs. Balance untouched. -3. **Debit on terminal status.** Every terminal job (`complete`, `failed`, or `cancelled`) is charged based on actual provider cost, infrastructure cost, and margin. The debit is atomic with the status update. +3. **Debit on terminal status.** Every terminal job (`complete`, `failed`, or `cancelled`) is charged for the compute it consumed. The debit is atomic with the status update. 4. **No auto-refund.** Failed jobs are still charged for the compute they consumed. If you believe a job failed due to a platform bug, contact support. Refunds are issued at our discretion via the dispute process. ## Negative balance diff --git a/concepts/job-lifecycle.mdx b/concepts/job-lifecycle.mdx index f89f750..e550d98 100644 --- a/concepts/job-lifecycle.mdx +++ b/concepts/job-lifecycle.mdx @@ -35,7 +35,7 @@ waiting → dispatched → running → complete | Status | Meaning | |---|---| | `waiting` | Saved, queued for dispatch | -| `dispatched` | Sent to the execution provider (Trigger.dev) | +| `dispatched` | Sent to the execution provider | | `running` | Provider has started processing | | `complete` | Finished successfully. Output available | | `failed` | Errored. See `error.code` and `error.message` | diff --git a/guides/ffmpeg.mdx b/guides/ffmpeg.mdx index 8c5d467..ae34477 100644 --- a/guides/ffmpeg.mdx +++ b/guides/ffmpeg.mdx @@ -98,16 +98,12 @@ Unrecognised flags are rejected before dispatch with `VALIDATION_ERROR`. ## Security model -Eight layers, in order: - -1. **Clean environment.** Inherited env vars stripped. Only `PATH`, `HOME`, `TMPDIR` remain. -2. **Flag whitelist.** ~120 known-safe flags, including stream specifiers. -3. **Format blocklist.** `-f lavfi`, `concat`, `hls`, `tee`, `segment`, `dash`, `null` blocked. -4. **Filter function blocklist.** File-reading filters (`movie`, `amovie`, `sendcmd`, `zmq`, `ladspa`, `frei0r`) blocked. -5. **Filter parameter blocklist.** `textfile=`, `filename=` in subtitles, absolute paths in subtitle filters blocked. -6. **Pattern blocklist.** Path traversal (`../`), `/proc/`, `/sys/`, `subfile:` blocked. -7. **Per-input protocol restriction.** `-protocol_whitelist file` injected before each `-i` server-side. -8. **Container isolation.** Trigger.dev container sandboxing, restricted stdio. +Every command is validated before it runs, then executed in an isolated, network-restricted sandbox. + +- **Flag allowlist.** Only known-safe flags pass. Anything unrecognised is rejected with `VALIDATION_ERROR` before dispatch. +- **No reads through filters.** Filters and formats that read from disk, fetch over the network, or run external code are blocked. +- **Path containment.** Inputs are limited to the files you provide. Path traversal and access to system paths are rejected. +- **Sandboxed execution.** Each job runs in an isolated container with a clean environment, restricted I/O, and no ambient network access. ## Cost & timeout diff --git a/job-types/caption-burn.mdx b/job-types/caption-burn.mdx index 3f99e15..42bead7 100644 --- a/job-types/caption-burn.mdx +++ b/job-types/caption-burn.mdx @@ -13,7 +13,7 @@ tag: "Live" Burn subtitles permanently into a video. Provide an SRT, VTT, or ASS file as the `subtitles` input, or omit it to auto-transcribe the audio. Style the text with web-hex colors, an outline, a background box, and a position. This is the static counterpart to [`captions.animate`](/job-types/captions-animate), which renders per-word animated captions. -**Timeout:** 600 s max (plan-capped) · **Provider:** triggerdev · **Accepts:** video +**Timeout:** 600 s max (plan-capped) · **Accepts:** video ## Request diff --git a/job-types/captions-animate.mdx b/job-types/captions-animate.mdx index 4e079be..725279e 100644 --- a/job-types/captions-animate.mdx +++ b/job-types/captions-animate.mdx @@ -3,7 +3,7 @@ title: "captions.animate" description: "Burn animated word-level captions onto a video at $0.10/min. Pick a preset (hormozi, mrbeast, tiktok, pill). Single speaker, 5 min input cap." icon: "captions" tag: "Live" -keywords: ["animated captions", "burn subtitles", "whisper captions", "tiktok captions", "ass subtitles", "captions.animate"] +keywords: ["animated captions", "burn subtitles", "auto captions", "tiktok captions", "subtitles", "captions.animate"] ---