Automic VaultAutomic Vault

brew

Install bao with Homebrew, Nix, zypper

Implementation of BLAKE3 verified streaming. Version 0.13.1 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#bao.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install bao

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#bao

nixpkgs package indexes · pkgs/by-name/ba/bao/package.nix · source: api.github.com

openSUSE zypperverified · 92%
sudo zypper install openbao

openSUSE Tumbleweed package metadata · openbao · source: download.opensuse.org

overview

Package summary

Implementation of BLAKE3 verified streaming

Commands and aliases

  • bao

history

Project history and usage

Bao is a Rust implementation of BLAKE3 verified streaming. It provides both a library crate and the bao command-line utility for encoding, decoding, hashing, and verifying byte streams with tree-hash-based random access.

Project history

The official Git history begins in November 2016 with preliminary verified-streaming work, and the 0.1.0 tag followed in October 2017. The README explains that Bao's original motivation was secure streaming of large attachments where a recipient knows a root hash but does not want to download the whole file before verification.

The current spec documents an important historical shift: earlier Bao versions used BLAKE2 in a custom tree hashing mode, then the BLAKE3 project evolved out of that tree mode. After BLAKE3 was published separately, Bao was rebased and narrowed to focus on verified streaming.

Adoption history

Bao is niche compared with general-purpose checksum tools, but it is packaged where Rust cryptography and content-addressed tooling users might need it. The supplied package facts list Homebrew and Nix packaging, and the README points Rust users to the bao_bin crate on crates.io for the CLI.

How it is used

The README demonstrates bao encode, bao hash, bao decode, slice extraction, decode-slice, and outboard mode. The main workflow is to store or transmit encoded data plus a known BLAKE3 hash, then verify bytes as they are streamed or randomly sliced.

The project cautions that Bao is beta cryptography software and has not been formally audited, an important usage note for security-sensitive deployments.

Why package nerds care

Bao matters to package nerds less as a mass-market CLI and more as an artifact of the BLAKE3 ecosystem. It shows how tree hashes can support verified partial reads, outboard metadata, and streaming-friendly integrity checks.

It is also notable packaging-wise because the command is provided by the bao_bin Rust crate while the repository also contains the bao library crate, so package definitions need to select the binary crate behavior rather than assuming a single-crate CLI.

Timeline

  • 2016: Public Git history begins with preliminary verified-streaming work.
  • 2017: 0.1.0 is tagged after Cargo metadata is added.
  • 2018: Early 0.x tags iterate on the Rust crate and encoding format.
  • 2020s: Bao is rebased around BLAKE3 after earlier versions used BLAKE2 in a custom tree mode.
  • 2025: 0.13.1 is tagged as a recent maintenance release.

Related projects

  • Bao is directly related to BLAKE3, the BLAKE3 specification, b3sum-style hashing, Rust crates.io packaging, and content-addressed storage or secure streaming systems that need partial verification.

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for bao. Nucleus package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
baocliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-25
manager version0.13.1
manager updated
local dataok
upstreamcurrent
latest detected0.13.1

https://github.com/oconnor663/bao

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:bao
Version0.13.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/bao
Homepagehttps://github.com/oconnor663/bao
Repositoryhttps://github.com/oconnor663/bao
Upstream docshttps://github.com/oconnor663/bao#readme
LicenseApache-2.0 OR CC0-1.0
Source archivehttps://github.com/oconnor663/bao/archive/refs/tags/0.13.1.tar.gz
Build dependenciesrust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebao
Version Scheme0
Revision0
Head VersionHEAD
Conflicts With
  • openbao
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

bao

nix profile install nixpkgs#bao
  • normalized package name match
  • Matched by: Bao
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ba/bao/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
zypper95%

openbao 2.5.4-1.1

Manage, store, and distribute sensitive data

https://github.com/openbao/openbao

sudo zypper install openbao
  • License: MPL-2.0
  • Category: Productivity/Security
  • Architecture: x86_64
  • Source Package: openbao
  • 1 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Bao
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: openbao from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment