Haven documentation
Haven hosts Rust registries with a gate. Each one you create is a complete cargo registry: you publish crates to it, pull dependencies from it, and browse hosted rustdoc for everything in it. What makes Haven different is that a registry can enforce a policy: new versions are held until they satisfy your rules, and only promoted versions are visible to the people and machines that depend on the registry.
The same gate works in both directions. A publish registry holds your own releases until they pass review rules. A mirror registry pulls from an upstream registry such as crates.io and applies your rules to the open source you consume: security advisories, license allowlists, quarantine delays, and publisher trust.
Not everything a release pipeline produces is a crate. A static file registry hosts plain versioned files — release archives, prebuilt binaries, datasets — behind the same tokens, policy gate, and audit log, with curl as the client instead of cargo. See Publishing files and Consuming files.
Where to start
Section titled “Where to start”- New to Haven? Follow Getting started from signup to your first publish or first mirrored pull.
- Setting up a team registry? Read Registries and Tokens & access.
- Filtering crates.io through your own rules? Read Mirrors and the Policy rules reference.
- Shipping artifacts that are not crates? Read Publishing files and Consuming files.
- A release is stuck? See Policy overview for how holds and promotion work, and Troubleshooting for the common surprises.