{
"id": "network.attested.proof",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"cid",
"createdAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "Canonical attestation CID computed over the subject record, this record's metadata, and the subject's repository DID."
},
"role": {
"type": "string",
"description": "The role this proof attests in a workflow (e.g. 'proof-of-settlement', 'broker', 'verification'), so verifiers can require specific attestation completeness."
},
"issuer": {
"type": "string",
"format": "did",
"description": "DID of the attesting party (e.g. the did:web of the service that minted this proof)."
},
"status": {
"type": "string",
"description": "Optional status of the attested subject (e.g. 'valid', 'revoked')."
},
"subject": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "Strong reference to the record being attested, so verifiers can fetch it and recompute the attestation CID."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"signatures": {
"ref": "network.attested.signature#signatures",
"type": "ref",
"description": "Attestations over this proof record itself (the attestor's inline signature)."
}
}
},
"description": "A remote attestation proof: a standalone record in the attestor's repository that binds, via a canonical attestation CID, to a subject record living elsewhere. Referenced from the subject's `signatures` array via com.atproto.repo.strongRef. The `cid` is computed from the subject record (signatures stripped) with this record's metadata (cid/signature/signatures stripped, `repository` = subject's repo DID added) inserted as $sig, DAG-CBOR + SHA-256 + CIDv1. Verifiers recompute that CID and require it to match; copying the subject to another repository changes the CID and invalidates the proof. The shared network.attested.* replacement for app-specific remote-attestation records."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}