OmniBOR
omnibor.io
OmniBOR
@omnibor.io
Reproducible identifiers & fine-grained build dependency tracking for software artifacts.

🌐 Website: omnibor.io
💬 Discord: https://discord.gg/3xNx4syYpf
We will continue to post all documentation publicly on our website and our GitHub repositories, and remain fully committed to transparency in all issues. Our project Zoom calls remain open to all, and so do our GitHub Discussions page and issue trackers.
April 28, 2025 at 5:32 PM
We also have several in-progress implementations:

Rust: github.com/omnibor/omni...
Go: github.com/omnibor/omni...
C#: github.com/omnibor/omni...
Python: github.com/omnibor/omni...
April 17, 2025 at 4:55 PM
If that sounds interesting to you, come learn more!

Our website: omnibor.io
Our spec: github.com/omnibor/spec
April 17, 2025 at 4:55 PM
With both combined you have a beautiful Merkle Tree-like structure. Any change in a build input causes all artifacts derived from it to have new Artifact IDs. With the Input Manifests, you can detect exactly what artifacts changed.

It's a full Artifact Dependency Graph, from some small text files!
April 17, 2025 at 4:52 PM
Input Manifests are the other half of OmniBOR.

They're short files recording Artifact IDs of build inputs for an artifact, plus Artifact IDs of those inputs' own Input Manifests if they have one.

After you build an artifact, you can embed the Artifact ID of its Input Manifest in it!
April 17, 2025 at 4:52 PM