Finally open sourced an internal tool we've been using for managing secrets. It's similar to SOPS, but more opinionated, easier to configure/use correctly, and produces nicer git diffs. It also supports one-way encryption, so you don't have to know the private key to add secrets.
https://rotx.dev/pricing/
https://www.gnu.org/philosophy/selling-exceptions.en.html
It's something that enables projects to become free software.
This type of approach would not pass a code review of something as security-critical as a secrets management tool.
E.g.: this generally prevents "reproducible builds", and allows you to "sneak in" changes even if downstream users aren't modifying anything themselves. It's a recipe for a supply-chain attack.
[0]: https://github.com/candiddev/rot/blob/9168285d9ccfe783dc8234...
Deleted Comment
If I understand the sibling comment by the author[1] correctly, then the versioning of the "shared" module is via Git submodules, which point at a specific commit hash.
The only issue is that changes to submodule commit hashes are a little more difficult to audit, because they're embedded in the git repo files instead of the source code.
[1] https://news.ycombinator.com/item?id=38596700
In the end, things are versioned like any other Go program, builds are 100% reproducible.
Here's a diagram of Rot's secrets wrapping works: https://rotx.dev/docs/explanations/secret-wrapping/