syntax = "proto3"; package substrate.attestation.v2; // ─── QM Receipt ───────────────────────────────────────────────────── // // The Quartermaster receipt is the fundamental trust primitive for // non-hardware claims. Every QM receipt is hash-chained, self-contained, // and verifiable with the QM's Ed25519 public key. message QmReceipt { string receipt_id = 1; // Unique identifier (UUIDv7) bytes claim_hash = 2; // SHA-256 hash of the notarized claim repeated bytes referenced_hashes = 3; // Previous layer claim hashes (binding chain) string issuer = 4; // QM instance identity (SPIFFE ID) string timestamp = 5; // ISO 8601, QM clock (authoritative) uint64 chain_position = 6; // Position in the QM's hash chain (monotonic) optional string previous_receipt = 7; // Receipt ID of previous chain entry bytes signature = 8; // Ed25519 signature }