dev.scopetrail.auditReceipt

reveluxlabs.bsky.social

Documentation

A wrapper record publishing a signed OBO Audit Receipt to an AT Protocol repository. The signed receipt (a W3C Verifiable Credential, eddsa-jcs-2022 proof) is stored verbatim as an opaque JSON string in receiptJson — the only trusted field. All other properties are untrusted indexed mirrors, duplicated for discovery only; a verifier must re-parse receiptJson, check the mirrors match, then verify the Ed25519 proof before trusting anything. See PRD_ARCH.md §8.3 (Decision D-1).

main record

A wrapper record publishing a signed OBO Audit Receipt to an AT Protocol repository. The signed receipt (a W3C Verifiable Credential, eddsa-jcs-2022 proof) is stored verbatim as an opaque JSON string in receiptJson — the only trusted field. All other properties are untrusted indexed mirrors, duplicated for discovery only; a verifier must re-parse receiptJson, check the mirrors match, then verify the Ed25519 proof before trusting anything. See PRD_ARCH.md §8.3 (Decision D-1).

Record Key any Any valid record key

Properties

expirationDate string datetime Required

Untrusted mirror of receipt.expirationDate (ISO-8601 UTC expiry).

issuanceDate string datetime Required

Untrusted mirror of receipt.issuanceDate (ISO-8601 UTC mint time).

issuer string did Required

Untrusted mirror of receipt.issuer (the DID or URI of the receipt-issuing service). Verifiers must confirm this matches the parsed receiptJson before relying on it for discovery/filtering.

receiptJson string Required

The complete, verbatim signed OBOAuditReceipt as a JSON string (exact JSON.stringify output of the receipt object — never reordered or reshaped). This is the only trusted field: verification re-parses it and checks the eddsa-jcs-2022 proof. Never reconstruct the receipt field-by-field from a native mapping (see §8.3 CBOR round-trip risk).

maxLength: 100000 bytes
schemaVersion string Required

Version tag of the wrapped receipt payload shape. Fixed to 'obo-receipt/v1' for this lexicon revision.

subject string at-identifier Required

Untrusted mirror of receipt.credentialSubject.id (the leaf acting agent/service that is the receipt subject).

summary string Required

Untrusted mirror of receipt.summary — the one-line, plain-English delegation summary, for feed/list UIs that render without fetching and verifying the full receipt.

maxLength: 500 bytes
View raw schema
{
  "description": "A wrapper record publishing a signed OBO Audit Receipt to an AT Protocol repository. The signed receipt (a W3C Verifiable Credential, eddsa-jcs-2022 proof) is stored verbatim as an opaque JSON string in receiptJson — the only trusted field. All other properties are untrusted indexed mirrors, duplicated for discovery only; a verifier must re-parse receiptJson, check the mirrors match, then verify the Ed25519 proof before trusting anything. See PRD_ARCH.md §8.3 (Decision D-1).",
  "key": "any",
  "record": {
    "properties": {
      "expirationDate": {
        "description": "Untrusted mirror of receipt.expirationDate (ISO-8601 UTC expiry).",
        "format": "datetime",
        "type": "string"
      },
      "issuanceDate": {
        "description": "Untrusted mirror of receipt.issuanceDate (ISO-8601 UTC mint time).",
        "format": "datetime",
        "type": "string"
      },
      "issuer": {
        "description": "Untrusted mirror of receipt.issuer (the DID or URI of the receipt-issuing service). Verifiers must confirm this matches the parsed receiptJson before relying on it for discovery/filtering.",
        "format": "did",
        "type": "string"
      },
      "receiptJson": {
        "description": "The complete, verbatim signed OBOAuditReceipt as a JSON string (exact JSON.stringify output of the receipt object — never reordered or reshaped). This is the only trusted field: verification re-parses it and checks the eddsa-jcs-2022 proof. Never reconstruct the receipt field-by-field from a native mapping (see §8.3 CBOR round-trip risk).",
        "maxLength": 100000,
        "type": "string"
      },
      "schemaVersion": {
        "const": "obo-receipt/v1",
        "description": "Version tag of the wrapped receipt payload shape. Fixed to 'obo-receipt/v1' for this lexicon revision.",
        "type": "string"
      },
      "subject": {
        "description": "Untrusted mirror of receipt.credentialSubject.id (the leaf acting agent/service that is the receipt subject).",
        "format": "at-identifier",
        "type": "string"
      },
      "summary": {
        "description": "Untrusted mirror of receipt.summary — the one-line, plain-English delegation summary, for feed/list UIs that render without fetching and verifying the full receipt.",
        "maxLength": 500,
        "type": "string"
      }
    },
    "required": [
      "receiptJson",
      "issuer",
      "subject",
      "issuanceDate",
      "expirationDate",
      "summary",
      "schemaVersion"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@