Anchor Before You Open: Proof-of-Existence for an Open-Source Alpha
Anchor Before You Open: Proof-of-Existence for an Open-Source Alpha
There is a moment in every open-source project’s life that gets far less ceremony than it deserves: the moment the repository goes public. It feels like a settings toggle. It is actually an irreversible intellectual-property event. Everything in the tree is disclosed to the world at once, every design decision becomes prior art, and — this is the part people miss — the private window in which you could still establish when you invented something, on your own terms, closes for good.
This week we did the unglamorous thing that moment demands. Before MagenticOS’s repo flip, we hashed our invention disclosure log and anchored it on a public blockchain. This post is about why, and how you can do the same in an afternoon.
The choice most open-source projects actually make
If you’re building in the open under a permissive license — MagenticOS is Apache 2.0 — you have mostly opted out of the patent game on purpose. That’s a coherent position. But “we’re not filing patents” doesn’t mean “we have no IP strategy.” It usually means your strategy is defensive publication: disclose the invention publicly so that nobody else can patent it later and fence you out of your own work.
Defensive publication is old, respectable, and cheap. The catch is a single word in the definition: publicly. A defensive publication protects you from the date the world can see it — not from the date you wrote it.
The gap: the months before you’re public
Serious projects spend a long time private before they open. During those months you are generating exactly the material a defensive publication is made of: design documents, invention write-ups, specs. And during those same months, none of it has a timestamp anyone else has a reason to believe.
“Trust our git history” is the answer everyone reaches for, and it’s weaker than it sounds. Commit dates are author-supplied. Histories get rebased. Private remotes prove nothing to a third party. If a dispute ever turns on when you knew what, a private repo’s say-so is a story, not evidence.
The practice: hash privately, anchor publicly
The fix is a pattern that predates blockchains (notarized lab notebooks, sealed envelopes) with a modern verification story:
- Write the disclosure. One document per invention: what it is, how it works, why it’s distinct. Attach the evidence — specs, diagrams, code snapshots.
- Freeze and hash it. Compute a cryptographic hash of each disclosure bundle. The hash identifies the exact contents without revealing them.
- Anchor the hash on a public chain. Batch the hashes into a Merkle root and put that root in a transaction on a chain anyone can read. The chain’s consensus timestamp is now everyone’s timestamp, not just yours.
- Keep the contents private until you’re ready. Later — at repo-open, in a dispute, in diligence — you reveal the documents, anyone recomputes the hashes, and the on-chain record proves those exact bytes existed on that date.
Nobody has to trust you. That’s the entire point.
What we actually did
Before our flip, we anchored six invention disclosures from the MagenticOS log on Base mainnet, batched under Merkle roots, with certificates and frozen evidence bundles filed alongside. We used LeoLog for the anchoring workflow — full disclosure: LeoLog is a sibling project from our own founder, which is why we trust it, and you can replicate the pattern with any anchoring tool or a raw transaction. The disclosures themselves stay confidential until the repo opens; the proof that they exist, exactly as written, is already public and independently checkable.
Total cost: an afternoon of document hygiene and a few cents of gas. Compare that to the cost of the alternative — arguing about dates later with nothing but your own logs.
Why this is the same argument as the rest of MagenticOS
If you’ve read what we’re building, you may notice this is the house obsession applied to ourselves. We keep arguing that trust should rest on verifiable properties, not assurances — that an agent’s work should be inspectable by default rather than taken on faith. An invention log whose timestamps anyone can verify is that same stance, pointed at our own paper trail. It would be a little embarrassing to preach provenance for agent actions and run our IP on “trust us.”
Why a chain and not a notary?
Fair question — timestamping services (RFC 3161), notaries, and even certified mail all solve versions of this. They work, and if you already have one in your workflow, use it. The public-chain version has two properties the others don’t combine: no ongoing counterparty (the proof doesn’t depend on a timestamping authority still existing, cooperating, or keeping its keys safe a decade from now) and anyone-can-verify (verification is a hash computation plus a public block lookup, not a records request). For a small team that expects its evidence to matter years out, “durable and self-serve” beats “institutional” — and batching hashes into one Merkle root makes the marginal cost of anchoring one more disclosure effectively zero.
What anchoring does not do
Phase-honesty section, as always. Anchoring is not a patent: it grants no exclusive rights and stops nobody from copying what you eventually publish. It doesn’t make the disclosure public — prior-art effect still begins when the world can actually read it. And it proves existence, not authorship or inventorship in the legal sense; it’s one strong exhibit, not a verdict. What it buys you is narrow and real: a third-party-verifiable date on exactly what you knew, before you gave it away.
The checklist
If you’re sitting on a private repo you intend to open:
- Write one disclosure per invention while it’s fresh — future-you can’t reconstruct it.
- Freeze evidence bundles; hash everything.
- Anchor the hashes (batched is fine) on a public chain; record the transactions next to the disclosures.
- Reconcile any in-tree documents that claim to be “published” — make status lines tell the truth about what’s public and what isn’t.
- Then flip the repo.
The toggle is one click. Make sure the paper trail underneath it is something a stranger could verify.