Source provenance
Normal publication requires the declared VCS tag for the package version to point at the released commit. The tag and commit are recorded with package metadata and lock state.
Package transport crosses repositories, registries, object storage, CI, and developer machines. Zed makes those boundaries explicit: immutable content identity, opt-in code execution, separated public and authenticated origins, and constrained fallback sources.
Normal publication requires the declared VCS tag for the package version to point at the released commit. The tag and commit are recorded with package metadata and lock state.
Artifacts carry a SHA-256 and byte size. Installation checks the archive before materialization, and frozen restore remains pinned to the recorded digest rather than trusting a mutable filename.
A published version may be retried only when the bytes are identical. A same-version, different-digest publish is refused rather than silently replacing consumers' dependency history.
Fetching a dependency and executing its scripts are separate security decisions. Zed keeps high-impact behavior off until the caller grants the corresponding permission.
| Capability | Default | Explicit permission |
|---|---|---|
| Dependency build commands | Off | --allow-build |
| Native package-manager prerequisites | Off | --allow-native-deps and an optional pinned manager |
| Pre-install and post-install hooks | Off | --allow-install-hooks |
| Mirror metadata used for fresh range resolution | Not trusted automatically | Signed metadata plus the caller's mirror-metadata trust policy |
A failed authenticated origin is not permission to probe private objects through a public worker. Fallback applies only where an independently public source satisfies the same coordinate and content constraints.
zpkg.net is static content with a restrictive Content
Security Policy. It does not store access or refresh tokens in
browser storage and uses the account origin only for a bounded
credentialed session-status request.
Account UI terminates at app.zpkg.net; authenticated
state changes terminate at the write API. Public registry and CDN
hosts remain read-oriented and cannot manufacture write authority.
zed validate, local round-trip tests, and frozen restore before publication.