VectorCI guide
Security model
Use short-lived GitHub identities, bounded filesystem writes, exact capability routing, and separate privileged release paths.
Identity and credentials
- Product agents use a selected-repository GitHub identity that excludes VectorCI.
- The VectorCI owner profile uses a separate owner-capable identity.
- The CLI never requests or returns token values.
- The GitHub App grants repository-scoped access.
- Workers receive job-scoped repository access only after signed admission.
Bounded setup writes
- Planning is read-only.
- Apply requires a freshly recomputed SHA-256 digest and exact confirmation.
- Only a missing regular
.vectorci.ymlmay be created. - Feedback submission creates only the exact digest-reviewed issue in the current product repository.
- Symbolic links, path escapes, parent or sibling repositories, provider source, overwrites, and public repositories are rejected.
Execution isolation
- Fork-originated code does not reach privileged or signing runners.
- Capabilities are routed exactly; a different operating system or device class is never equivalent proof.
- Signing and production deployment remain separate from pull-request validation.
- Ephemeral one-job workers are the default, with cleanup and terminal check publication required.
Public package boundary
The public npm package contains one standalone reviewed Node.js CLI bundle (vectorci), README, third-party notices, and package manifest. Runtime dependencies are bundled and the published manifest has no install-time dependencies. MCP servers, control-plane code, private registry and inventory implementation, source maps, credentials, and private filesystem paths are excluded.