Decentralized Software Supply Chain Security & Binary Notarization for GitHub Releases
π Protocol Website β’ π OpenAPI Specification β’ π¦ PyPI Package
GitHub Releases tell users where a binary was published.
ProofCore lets them cryptographically verify which exact bytes were published.
ProofCore creates an immutable, timestamped record of your release artifacts and anchors the cryptographic commitment directly to The Open Network (TON) Blockchain via binary Merkle Tree batching.
No binary uploads. No long-lived API keys. No blockchain gas management required.
Crypto Wallets & Web3 Software (Anti-Drainer Protection)
Protects against silent .exe, .apk, or .dmg replacements. If a compromised maintainer or CI workflow replaces a release binary with malware, its SHA-256 digest will no longer match the notarized release. Users can detect the tampering.
Software Agencies & Outsourced Development
Creates a timestamped cryptographic record proving exactly which files were delivered or published, reducing disputes over builds, versions, and delivery dates.
Compliance & Auditing (SOC 2, ISO 27001, PCI-DSS)
Provides publicly verifiable release-integrity evidence that can complement existing change-management and software supply-chain controls.
Open-Source Software
Gives users an independent mechanism to verify that the binary they downloaded matches the artifact originally notarized by the automated CI/CD pipeline.
π Zero-Access Guarantee: GitHub OIDC is used strictly to prove repository and workflow identity. ProofCore does not use the OIDC token to access your private source code, repositories, or secrets.
ProofCore operates on a strict Zero-Storage Principle:
SHA-256) for all release assets are computed locally in the runner's ephemeral memory.Add this step to your release workflow (e.g. .github/workflows/release.yml). It executes automatically whenever a new release is published.
name: Release Notary
on:
release:
types: [published]
jobs:
seal-release:
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- name: π‘οΈ Cryptographically Notarize Release on TON
uses: ProofCore-Protocol/proofcore-action@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
ProofCore supports three ways to select the Action version:
@main β latest development version
uses: ProofCore-Protocol/proofcore-action@main
Best for trying ProofCore and getting the latest features and fixes. (Quick start)
@v1 β stable major version
uses: ProofCore-Protocol/proofcore-action@v1
Recommended for production workflows. Your workflow stays on the latest compatible v1 release while receiving backward-compatible updates. (Production)
@<commit-sha> β exact revision
uses: ProofCore-Protocol/proofcore-action@<commit-sha>
Recommended for security-sensitive or highly reproducible environments where you want to pin the Action to one exact revision. (Maximum reproducibility)
contents: write: Allows ProofCore to update the GitHub Release with the verification badge.id-token: write: Allows the workflow to request a GitHub OIDC token. ProofCore uses this token to cryptographically verify the identity of the repository and workflow submitting the notarization request.When users download assets from your GitHub Release:
wallet.apk) and click the ProofCore | Anchored on TON badge embedded in the release notes.SHA-256 hash client-side using the native WebCrypto API and compares it against the on-chain Merkle proof.Users can also download a self-authenticating Evidence ZIP from the explorer, which contains the original manifest, a PDF certificate, and 100% offline verification Python/HTML scripts.
"Don't trust the release host alone. Verify the cryptographic proof."
Every notarized release anchors a deterministic manifest:
| Field | Description | Cryptographic Mechanism |
|---|---|---|
| Repository | Full GitHub repository name | Repository identity |
| Release Tag | Immutable tag reference (e.g. v1.2.0) | Git Ref binding |
| Target Commit | Commit associated with the release | Git commit reference |
| Artifact Checksums | SHA-256 digests of release artifacts | SHA-256 |
| Source Identity | GitHub Actions workflow identity | GitHub OIDC |
| Blockchain Anchor | Merkle root recorded on TON | TON transaction |
ProofCore acts as an additional cryptographic integrity and timestamping layer for published release artifacts.
Distributed under the MIT License. See LICENSE for more information.
12 commits
Decentralized Software Supply Chain Security & Binary Notarization for GitHub Releases
π Protocol Website β’ π OpenAPI Specification β’ π¦ PyPI Package
GitHub Releases tell users where a binary was published.
ProofCore lets them cryptographically verify which exact bytes were published.
ProofCore creates an immutable, timestamped record of your release artifacts and anchors the cryptographic commitment directly to The Open Network (TON) Blockchain via binary Merkle Tree batching.
No binary uploads. No long-lived API keys. No blockchain gas management required.
Crypto Wallets & Web3 Software (Anti-Drainer Protection)
Protects against silent .exe, .apk, or .dmg replacements. If a compromised maintainer or CI workflow replaces a release binary with malware, its SHA-256 digest will no longer match the notarized release. Users can detect the tampering.
Software Agencies & Outsourced Development
Creates a timestamped cryptographic record proving exactly which files were delivered or published, reducing disputes over builds, versions, and delivery dates.
Compliance & Auditing (SOC 2, ISO 27001, PCI-DSS)
Provides publicly verifiable release-integrity evidence that can complement existing change-management and software supply-chain controls.
Open-Source Software
Gives users an independent mechanism to verify that the binary they downloaded matches the artifact originally notarized by the automated CI/CD pipeline.
π Zero-Access Guarantee: GitHub OIDC is used strictly to prove repository and workflow identity. ProofCore does not use the OIDC token to access your private source code, repositories, or secrets.
ProofCore operates on a strict Zero-Storage Principle:
SHA-256) for all release assets are computed locally in the runner's ephemeral memory.Add this step to your release workflow (e.g. .github/workflows/release.yml). It executes automatically whenever a new release is published.
name: Release Notary
on:
release:
types: [published]
jobs:
seal-release:
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- name: π‘οΈ Cryptographically Notarize Release on TON
uses: ProofCore-Protocol/proofcore-action@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
ProofCore supports three ways to select the Action version:
@main β latest development version
uses: ProofCore-Protocol/proofcore-action@main
Best for trying ProofCore and getting the latest features and fixes. (Quick start)
@v1 β stable major version
uses: ProofCore-Protocol/proofcore-action@v1
Recommended for production workflows. Your workflow stays on the latest compatible v1 release while receiving backward-compatible updates. (Production)
@<commit-sha> β exact revision
uses: ProofCore-Protocol/proofcore-action@<commit-sha>
Recommended for security-sensitive or highly reproducible environments where you want to pin the Action to one exact revision. (Maximum reproducibility)
contents: write: Allows ProofCore to update the GitHub Release with the verification badge.id-token: write: Allows the workflow to request a GitHub OIDC token. ProofCore uses this token to cryptographically verify the identity of the repository and workflow submitting the notarization request.When users download assets from your GitHub Release:
wallet.apk) and click the ProofCore | Anchored on TON badge embedded in the release notes.SHA-256 hash client-side using the native WebCrypto API and compares it against the on-chain Merkle proof.Users can also download a self-authenticating Evidence ZIP from the explorer, which contains the original manifest, a PDF certificate, and 100% offline verification Python/HTML scripts.
"Don't trust the release host alone. Verify the cryptographic proof."
Every notarized release anchors a deterministic manifest:
| Field | Description | Cryptographic Mechanism |
|---|---|---|
| Repository | Full GitHub repository name | Repository identity |
| Release Tag | Immutable tag reference (e.g. v1.2.0) | Git Ref binding |
| Target Commit | Commit associated with the release | Git commit reference |
| Artifact Checksums | SHA-256 digests of release artifacts | SHA-256 |
| Source Identity | GitHub Actions workflow identity | GitHub OIDC |
| Blockchain Anchor | Merkle root recorded on TON | TON transaction |
ProofCore acts as an additional cryptographic integrity and timestamping layer for published release artifacts.
Distributed under the MIT License. See LICENSE for more information.
12 commits