# System boundaries

Source: https://openflow.run/en/docs/design/system-boundaries/
Language: en
Product version: 0.1.0-beta.77

Understand what the product package, clients, and deployment each provide.

Open Flow separates the workflow contract from the deployment that stores and runs it. The same Flow can be inspected in the Workbench and managed through CLI or MCP clients connected to that deployment.

## Product package

The public package defines workflow models, schemas, graph validation, execution semantics, and shared browser components. The Workbench provides editing and inspection. The offline Preview provides a read-only view of a supplied workflow definition and presentation.

Importing a viewer does not provide persistence, credentials, scheduling, or a running backend.

## Deployment

The deployment owns storage, user identity, authorization, publication, Run admission, queues, isolation, resource limits, recovery, and lifecycle cleanup. It supplies the external capabilities that workflows request.

A self-hosted Server must be configured for the services it uses. The official hosted service supplies its own deployment configuration. See [deployment responsibilities](https://openflow.run/en/docs/reference/deployment/index.md).

## Clients

Workbench, CLI, and MCP use the same deployment services and lifecycle. They do not own a second Draft history, publish state, or Run scheduler.

When an agent edits a Flow, the deployment compiles business configuration into the node’s execution definition. The caller selects its intent, inputs, and data constraints without reconstructing internal module identities or catalog-derived ports.

## External services

Connector owns third-party credentials and provider protocol details. The deployment checks whether a Flow may use the selected connection and operation. A visible catalog entry is not proof of permission.

Model and notification services also require explicit deployment configuration. Offline examples display those declarations without contacting the services.

## Sources

*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#1-system-boundaries-and-source-ownership)
*   [packages/open-flow/README.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/README.md)
