Skip to content

Security

Know what Orch8 protects—and what it does not.

Orch8 runs code, stores workflow state, and may hold credentials. This page describes implemented controls and operator responsibilities. It is not a certification or a substitute for reviewing the version you deploy.

Implemented boundaries

Authentication and tenant boundaries

The server supports API-key authentication and tenant-scoped access. Cross-tenant storage lookups carry tenant identity in their signatures. Operators remain responsible for key distribution, rotation, network exposure, and database access.

Encryption at rest

With a 256-bit key configured, the storage wrapper uses AES-256-GCM for credentials, workflow context, block outputs, worker parameters, signals, checkpoints, step logs, and other protected state. The server refuses to start without a key unless an explicit insecure-storage flag is supplied.

Credentials and outbound effects

Workflows reference stored secrets through credentials:// identifiers. Provider tokens, idempotency, TLS trust, and the behavior of third-party handlers are still part of your application threat model.

Release evidence

The engine repository includes dependency policy configuration, locked dependencies, security tests, and release tooling for checksums, SBOM evidence, and provenance attestations. Verify the evidence attached to the exact artifact you deploy.

Security pack

For your vendor review

The data flow for Hybrid, what each plan sends to Orch8, and a questionnaire pre-filled from the engine repository. Where the published material does not answer a question, the questionnaire says “available on request” instead of guessing.

Pre-filled security questionnaire

Company, data handling, encryption, access control, logging, secure development, recovery, and licensing, as a Markdown file.

Download questionnaire

Hybrid data flow

  1. 01

    Orch8 Cloud runs the engine

    The orchestrator and its database run in Orch8 Cloud. It stores sequence definitions and run state, schedules steps, and renders each step's params and context. Steps without placement run in Cloud.

  2. 02

    Executors dial out from your VPC

    Executors connect outbound to Orch8 Cloud with a dedicated executor API key from the join token and advertise their labels. Nothing listens for inbound connections from Orch8, and Cloud has no route into your network.

  3. 03

    Placed steps run next to your systems

    Steps routed by placement labels or tenant placement policies are claimed by a matching executor, which runs them with the credentials it reads locally and its access to your internal APIs. Results go back to Cloud.

  4. 04

    Optional: seal outputs with BYOK

    An executor configured with BYOK stores large step output fields in your own bucket, encrypted with a data key wrapped by your KMS key. Cloud keeps only the reference and the wrapped key. Step params and context rendered by Cloud and error messages are never sealed, and a step that is not placed on an executor receives the reference, not the data.

See the Hybrid boundary diagram →

Data handled per plan

Who runs the engine, what Orch8.io stores, and what Orch8 Cloud receives on each plan
PlanWho runs the engineOrch8.io storesOrch8 Cloud receives
Self-hostedYouNothingNothing
ObservabilityYouRun metadata, 30 daysRun metadata: ids, sequence name and version, state, timings, error kind
Cloud (Starter, Pro)Orch8.ioWorkflow data, context, outputs, logs for the plan retentionEverything the hosted engine processes
HybridOrch8.io runs the engine and database; your executors run placed steps in your VPCSequence definitions, run state, step params, context, outputs (output fields sealed by BYOK on the executor only as references), error messages, executor identity and labels, placement policies, 90 daysEverything the engine processes, except the plaintext of output fields sealed by BYOK on the executor. Never the credential values of placed steps or access to your network. Credentials of steps that are not placed live in Cloud's credential store
EmbeddedYouNothing by defaultNothing by default; the licence key is verified offline

Account, team, and billing data for any Cloud workspace are handled as described in the privacy policy. No SOC 2 or ISO 27001 report is published; ask us for the current status.

Known limitations

The latest internal review remains a historical engineering record, not an external audit. It identifies open design work around scheduler tenant scoping, a synchronous gRPC authentication path, DNS-rebinding windows in outbound URL validation, expression-depth limits, and CDN endpoint enforcement. Do not market a deployment as confidential or sovereign without an independent review of its complete threat model.

Read the audit notes in the repository →

Report a vulnerability privately

Do not open a public issue. Email security@orch8.io. We aim to acknowledge receipt within 48 hours and provide an initial assessment within seven days.