Initial push

This commit is contained in:
2026-06-08 02:09:59 -04:00
parent 76e79e7c83
commit 5f562f2c7d
4 changed files with 91 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
{
"_meta": {
"contract": "cry01-g1-attestation",
"version": "1.0",
"purpose": "Duniter-compatible attestation document for SASE-to-Ğ1 web of trust certification."
},
"_header": {
"operator_g1_pubkey": "The operator's Ğ1 public key — the certifier.",
"participant_g1_pubkey": "The participant's Ğ1 public key — the certifiee.",
"participant_xchan": "The participant's Hubzilla xchan hash — links to SASE record.",
"association_slug": "The association whose SASE membership is the basis of certification.",
"attested_at": "ISO 8601 timestamp of attestation document generation.",
"sase_admitted_at": "ISO 8601 timestamp of SASE admission — from pgrp_member record."
},
"_payload": {
"attestation_statement": "This participant has been verified as a current resident member of the named association through the SASE process, which requires real-name, real-address verification by the association channel operator.",
"duniter_cert_document": "The raw Duniter certification document, generated by cry01_chain.php in the Duniter document format, ready for operator signature and broadcast."
}
}

View File

@@ -0,0 +1,20 @@
{
"_meta": {
"contract": "cry01-ots",
"version": "1.0",
"purpose": "OpenTimestamps proof envelope anchoring a diagnostic result to the Bitcoin blockchain."
},
"_header": {
"document_hash": "SHA-256 hash of the document being timestamped.",
"hash_algorithm": "sha256",
"timestamped_at": "ISO 8601 timestamp of OTS submission to calendar server.",
"calendar_url": "The OTS calendar server used.",
"addon": "The addon that generated this document (cry01, poll01, etc.)",
"association_slug": "The association this document pertains to."
},
"_payload": {
"ots_proof_base64": "Base64-encoded .ots proof file. Verifiable offline with the ots tool.",
"bitcoin_block": "Bitcoin block number in which the timestamp was confirmed. Null until confirmed.",
"confirmed_at": "ISO 8601 timestamp of Bitcoin confirmation. Null until confirmed."
}
}

View File

@@ -0,0 +1,26 @@
{
"_meta": {
"contract": "cry01-signal",
"version": "1.0",
"purpose": "Capacity signal registration by a verified SASE participant."
},
"_header": {
"addon": "cry01",
"association_slug": "The association this signal is registered against.",
"participant_xchan": "The xchan hash of the signaling participant.",
"submitted_at": "ISO 8601 timestamp.",
"node_token_hash": "SHA-256 of the node token — not the token itself."
},
"_payload": {
"g1_pubkey": "The participant's Ğ1 public key. Required — this is the payment address.",
"capacity_description": "Plain-language description of what is being offered or sought.",
"g1_denomination": "The amount in Ğ1 the participant considers fair exchange.",
"duration_days": "How many days this capacity is available from submission date.",
"category_id": "One of the operator-defined signal_categories ids from config.json.",
"direction": "offer or seek — whether the participant is providing or requesting this capacity."
},
"_credentials": {
"vc": "W3C Verifiable Credential issued for this signal. See CRY01-SPEC.md contracts/vc-v1.json.",
"ots": "OpenTimestamps proof anchoring this signal to Bitcoin. See CRY01-SPEC.md contracts/ots-v1.json."
}
}

View File

@@ -0,0 +1,26 @@
{
"_meta": {
"contract": "cry01-vc",
"version": "1.0",
"purpose": "W3C Verifiable Credential envelope for Civic Infrastructure diagnostic results."
},
"_note": "The actual VC is a JSON-LD document signed by the operator. The credentialSubject.claim field contains the claim specific to the issuing addon.",
"vc_structure": {
"@context": ["https://www.w3.org/2018/credentials/v1"],
"type": ["VerifiableCredential"],
"issuer": "did:web:directory.diagnostics.kane-il.us",
"issuanceDate": "ISO 8601 timestamp",
"credentialSubject": {
"id": "did:web:directory.diagnostics.kane-il.us/channel/{xchan}",
"association": "association slug",
"claim_type": "signal | ballot | poll_result | sase_admission",
"claim": "addon-specific structured claim — see issuing addon spec"
},
"proof": {
"type": "Ed25519Signature2020",
"created": "ISO 8601 timestamp",
"verificationMethod": "did:web:directory.diagnostics.kane-il.us#operator-key",
"proofValue": "base58-encoded signature"
}
}
}