Identity binding layer
AttestoBind accepts verified state from an identity adapter and emits a deterministic, post-quantum signed identity_binding attesto.
The adapter layer keeps upstream identity systems in place while Proofnet BTC owns the durable, post-quantum proof packet.
AttestoBind accepts verified state from an identity adapter and emits a deterministic, post-quantum signed identity_binding attesto.
Proofnet does not take over wallets, KERI agents, DID resolvers, certificate authorities, C2PA manifest systems, or Sigstore services.
Proofnet owns the canonical record, SHA3-512 digest, ML-DSA-87 signature, memory-block persistence, verification packet, and optional Bitcoin anchor receipt.
Adapters provide verified public state. Proofnet does not require seed phrases, wallet recovery material, production node credentials, or upstream private keys.
Checked means the item is built into the local/static review packet and can be reviewed or exported without exposing secrets. Live customer systems can attach behind the same contract.
Built: Proofnet Native, KERI, DID, SPIFFE, Sigstore, C2PA, OpenID4VC, and X.509 all resolve through the same selector model.
Built: upstream evidence normalizes into the Proofnet identity_binding packet without claiming to replace the source identity system.
Built: KERIpy path, AID, OOBI review fixture, KEL inception plus rotation, KeyStateRecord facts, and state checks are represented.
Built: proof layer, workflow layer, enterprise deployment, and network-scale replay are defined for every adapter.
Built: each packet shows Proofnet Memory Blocks as the native record path with optional Bitcoin anchoring after the fact.
Built: selected verification, all verification outputs, selected JSON packet, all adapter packets, selected brief, and all briefs.
Built: Blockie Talkie LLC, Proofnet BTC, AttestoBind, Anthony Derbidge, Drew Derbidge, and Jamie Derbidge are included in the brief.
Built: packets avoid seed phrases, wallet secrets, production node credentials, upstream private keys, and private signing material.
All adapter paths should reach the same durable Proofnet contract: verified upstream state, canonical digest, ML-DSA-87 binding, Memory Block replay, enterprise controls, and network-scale operation.
Normalize upstream verified state into a canonical identity_binding packet with SHA3-512 state digestion, ML-DSA-87 binding, and a replayable Memory Block record.
The adapter produces a deterministic packet, the digest is repeatable, the signature verifies, and the packet can be imported or replayed without upstream private material.
identity_subject is present.identity_state_digest is stable for the same input.binding_digest and signature verify.native_record points to a Memory Block record.Proofnet Nativenode_id, state_digest, pq_signature, native_record.GET /identity/native/state, POST /identity/native/bind.KERI / KERIpyaid, oobi, kel_events, key_state_digest, witness_threshold.POST /identity/keri/replay, POST /identity/bind.DID / DIDKitdid, doc_digest, verification_method, status.POST /identity/did/resolve, POST /identity/did/bind.SPIFFE / SPIREspiffe_id, trust_domain, svid_digest, workload.POST /identity/spiffe/resolve, POST /identity/spiffe/bind.Sigstore / Rekorartifact_digest, bundle_digest, rekor_uuid, inclusion_proof.POST /identity/sigstore/verify, POST /identity/sigstore/bind.C2PAasset_digest, manifest_digest, claim_digest, signer.POST /identity/c2pa/inspect, POST /identity/c2pa/bind.OpenID4VCissuer, holder, credential_digest, presentation_digest.POST /identity/openid4vc/present, POST /identity/openid4vc/bind.X.509subject, issuer, serial, fingerprint, ocsp_status.POST /identity/x509/verify, POST /identity/x509/bind.Show issue, receive, present, revoke, rotate, recover, refresh, and status workflows where they make sense for the upstream system.
Each workflow should produce a visible verification result, a canonical digest, and a packet export that does not require live secrets to inspect later.
Proofnet Nativereview_scope, reviewer_role, state_version, imported_record.POST /workflow/native/import, POST /workflow/native/export.KERI / KERIpycredential_state, issue_event, present_event, revocation_status, rotation_sequence.POST /workflow/keri/issue, POST /workflow/keri/present, POST /workflow/keri/status.DID / DIDKitpresentation_state, did_method, status, refresh_hint.POST /workflow/did/present, POST /workflow/did/status.SPIFFE / SPIREworkload_attestation, trust_domain, rotation_state, mesh_policy.POST /workflow/spiffe/enroll, POST /workflow/spiffe/rotate.Sigstore / Rekorsign_event, verify_event, checkpoint, release_status.POST /workflow/sigstore/sign, POST /workflow/sigstore/verify.C2PAinspect_event, provenance_state, revocation_status, asset_update.POST /workflow/c2pa/inspect, POST /workflow/c2pa/status.OpenID4VCoffer_state, presentation_state, credential_status, issuer_policy.POST /workflow/openid4vc/offer, POST /workflow/openid4vc/present, POST /workflow/openid4vc/status.X.509certificate_state, rotation_state, ocsp_status, ca_policy.POST /workflow/x509/issue, POST /workflow/x509/status.Make the adapter usable in a real organization with tenants, RBAC, service credentials, audit logs, export paths, and explicit policy controls.
A deployment is complete when an admin can manage policy, a reviewer can inspect packets, and an auditor can export evidence without needing privileged keys.
tenant_id and policy_id are present where needed.role, scope, and audit_event are recorded.Proofnet Nativetenant_id, policy_id, audit_event, service_role.GET /admin/policies, POST /admin/audit/export.KERI / KERIpytenant_id, agent_id, rbac_role, review_scope.POST /admin/keri/policy, GET /admin/keri/audit.DID / DIDKittenant_id, did_method, resolver_policy, audit_event.POST /admin/did/policy, GET /admin/did/export.SPIFFE / SPIREtrust_domain, tenant_id, workload_role, audit_event.POST /admin/spiffe/policy, GET /admin/spiffe/audit.Sigstore / Rekororg_policy, release_gate, audit_event, provenance_export.POST /admin/sigstore/policy, GET /admin/sigstore/export.C2PAmedia_policy, tenant_id, review_scope, export_format.POST /admin/c2pa/policy, GET /admin/c2pa/export.OpenID4VCissuer_policy, verifier_route, tenant_id, audit_event.POST /admin/openid4vc/policy, GET /admin/openid4vc/audit.X.509ca_policy, tenant_id, cert_profile, audit_event.POST /admin/x509/policy, GET /admin/x509/export.Design for cross-organization verification, replicated Memory Blocks, anchor scheduling, partner integrations, and predictable replay even when an upstream service disappears.
The packet should still verify after transport, replication, and time have passed. The proof should remain deterministic even if the source resolver is gone.
replica_id or equivalent scale marker is present.anchor_status is optional and does not alter the signed record.federation_id or partner scope is expressible where relevant.Proofnet Nativereplica_id, anchor_status, sync_state, audit_chain.POST /scale/native/replicate, GET /scale/native/status.KERI / KERIpyfederation_id, peer_org, witness_policy, anchor_receipt.POST /scale/keri/federate, POST /scale/keri/anchor.DID / DIDKitmethod_registry, replica_id, resolver_status, federation_id.POST /scale/did/federate, GET /scale/did/status.SPIFFE / SPIREtrust_bundle, federation_id, mesh_replica, anchor_status.POST /scale/spiffe/federate, POST /scale/spiffe/anchor.Sigstore / Rekortransparency_root, checkpoint, replica_id, release_anchor.POST /scale/sigstore/replicate, GET /scale/sigstore/checkpoint.C2PApartner_id, asset_federation, replica_id, chain_state.POST /scale/c2pa/federate, GET /scale/c2pa/status.OpenID4VCtrust_registry, verifier_route, federation_id, replica_id.POST /scale/openid4vc/federate, GET /scale/openid4vc/status.X.509ca_chain, federation_id, replica_id, crl_ocsp_state.POST /scale/x509/federate, GET /scale/x509/status.These commands express the expected service contract: list adapters, bind state, verify packets, import records, and issue optional anchor receipts.
proofnet attestobind adapters proofnet attestobind bind --scheme keri --source state.json proofnet attestobind verify binding.json proofnet attestobind store-import binding.json proofnet attestobind packet sha3-512:<digest> proofnet attestobind anchor-receipt sha3-512:<digest>
attesto_typeidentity_schemeidentity_subjectidentity_state_digestbinding_digestproofnet_pq_signature_b64{
"type": "proofnet_attestobind_packet_v0",
"binding_digest": "sha3-512:<digest>",
"verification": {
"ok": true,
"binding_digest_valid": true,
"proofnet_pq_signature_valid": true
},
"durable_proof_claim": {
"native_record": "proofnet_memory_block_first",
"optional_external_anchor": "bitcoin"
}
}
The static site does not expose live APIs. These routes document the service contract for a node or private demo service.
The public demo and private room expose selected-adapter downloads and full all-adapter bundle downloads. The bundle shape is intentionally public-safe so it can be forwarded for engineering review.