{"schemaVersion":"1","state":"available","manifest":{"date":"2026-08-01","continuity":{"scheme":"sha256-daily-manifest-chain-v1","previousManifestSha256":"589b76cf5efd8fbc044b78e8225ff9a199b350dca61eb5848940013814a31d20"},"environment":"production","generatedAt":"2026-08-01T00:00:00.000Z","manifestType":"trust-center-public-daily-status","signingKeyId":"hs-ed25519-2026-06-23","schemaVersion":"1","certificateTree":{"rootHash":"fa8e71c0b8879c21015c53bf2d57c023a9904b53f2983f8ba8789728974b4bee","algorithm":"sha256-merkle-v2","leafCount":20},"certificateProofs":[{"leafHash":"8760179fdf4ce6f0a6556976bf410cdf7d9fc3144f0b64f5f7f4ae41cd34928c","merklePath":[{"hash":"9336d291dc822646077040432d62220031b936a8b00dd5c9b88f78f547dd6fa8","position":"right"},{"hash":"97f166942b2d6edc975430cb9bd4337823ab82453e152480c05def1a21686227","position":"left"},{"hash":"af9eda4a946759430a90e8e8c31d4f5afca49f5b4d3d20e1c3043fadc54ca460","position":"right"},{"hash":"d3c2902e728a167cf415f561b16cb1a30eef20f4e8fbfa220b967eb45c26489f","position":"left"},{"hash":"0582b5a33435853c59ed0e6e0936d15d2e857cc89d229f9a76951ae58440351d","position":"right"}],"certificateId":"trust-evidence-room"}],"signatureAlgorithm":"ed25519"},"signature":{"algorithm":"ed25519","keyId":"hs-ed25519-2026-06-23","signatureHex":"398e854a2ef117b2c76cce31b1cbb016a584db6cf192d192e9565190b0b0ed64abcced51f10db8b8054f1249b22082948c1c70917dd5370faa50f6c95fd14a07","manifestSha256":"bd6687a50eb67cf0e841c71f5a45c2da81b7f7258bf16a577a9c0ccbe8ef5b01"},"canonicalization":{"name":"hs-canonical-json-v1","rules":["Object member names are sorted lexicographically at every depth.","No insignificant whitespace anywhere in the output.","Strings, numbers, booleans, and null are encoded exactly as JSON.stringify encodes them.","The signature covers the UTF-8 bytes of the canonical form of the `manifest` object only."]},"publicKeysHref":"/api/trust/public-keys.json","verifyRecipe":{"steps":["Download the signed manifest: curl -s https://trust.hivesilo.com/api/trust/signed-manifest.json -o signed-manifest.json","Download the Ed25519 verification keys: curl -s https://trust.hivesilo.com/api/trust/public-keys.json -o public-keys.json","Re-canonicalize the `manifest` object with the rules pinned in the `canonicalization` block: sort object member names lexicographically at every depth, remove all insignificant whitespace, encode as UTF-8.","Integrity: the SHA-256 of the canonical bytes must equal `signature.manifestSha256`.","Authenticity: the Ed25519 signature `signature.signatureHex` must verify over the canonical bytes with the published SPKI PEM whose keyId equals `signature.keyId`.","Membership (`certificateTree.algorithm: \"sha256-merkle-v2\"`, RFC 6962 domain-separated): starting from each `certificateProofs[].leafHash`, fold the `merklePath` by computing `sha256(0x01 || left || right)` at each step (sibling on the stated side; 0x01 is one raw byte prepended before hashing) and confirm the result equals `certificateTree.rootHash`.","The node one-liner below performs the integrity + authenticity checks in one command; run the offline variant on the two downloaded files for a check that never talks to this server."],"nodeOneLiner":"node -e \"const{createPublicKey,verify,createHash}=require('node:crypto');const c=v=>Array.isArray(v)?'['+v.map(c).join(',')+']':v&&typeof v==='object'?'{'+Object.keys(v).sort().filter(k=>v[k]!==void 0).map(k=>JSON.stringify(k)+':'+c(v[k])).join(',')+'}':JSON.stringify(v);(async()=>{const m=await(await fetch('https://trust.hivesilo.com/api/trust/signed-manifest.json')).json();const d=await(await fetch('https://trust.hivesilo.com/api/trust/public-keys.json')).json();const key=[d.currentKey,...(d.historicalKeys||[])].find(k=>k.keyId===m.signature.keyId);const b=Buffer.from(c(m.manifest),'utf8');const ok=Boolean(key)&&createHash('sha256').update(b).digest('hex')===m.signature.manifestSha256&&verify(null,b,createPublicKey(key.publicKeyPem),Buffer.from(m.signature.signatureHex,'hex'));console.log(ok?'VERIFIED':'FAILED');process.exit(ok?0:1);})();\""},"freshness":{"lastSignedAt":"2026-08-01T00:00:00.000Z","hoursSinceSigned":18,"staleAfterHours":26,"state":"fresh","label":"Last signed 18 hours ago","degradedNotice":null},"externalAnchor":{"date":"2026-08-01","rekor":{"uuid":null,"logID":"c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d","server":"https://rekor.sigstore.dev","logIndex":2310531906,"verified":true,"anchoredAt":"2026-08-01T07:57:26.846Z","certIdentity":"https://github.com/HiveSilo/core/.github/workflows/trust-daily-manifest-anchor.yml@refs/heads/main","schemaVersion":"1","certOidcIssuer":"https://token.actions.githubusercontent.com","integratedTime":"2026-08-01T07:57:26.000Z"},"environment":"production","schemaVersion":"1","subjectManifestSha256":"bd6687a50eb67cf0e841c71f5a45c2da81b7f7258bf16a577a9c0ccbe8ef5b01"}}