# network.attested.proof

> Published by [johnandersen777.bsky.social](https://lexicon.garden/identity/did:plc:5svqtrhheairglgiiyvutzik)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:5svqtrhheairglgiiyvutzik/network.attested.proof)
- [Documentation](https://lexicon.garden/lexicon/did:plc:5svqtrhheairglgiiyvutzik/network.attested.proof/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:5svqtrhheairglgiiyvutzik/network.attested.proof/examples)

## Definitions

### `network.attested.proof`

**Type**: `record`

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.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | Canonical attestation CID computed over the subject record, this record's metadata, and the subject's repository DID. |
| `role` | `string` | No | The role this proof attests in a workflow (e.g. 'proof-of-settlement', 'broker', 'verification'), so verifiers can require specific attestation completeness. |
| `issuer` | `string` (did) | No | DID of the attesting party (e.g. the did:web of the service that minted this proof). |
| `status` | `string` | No | Optional status of the attested subject (e.g. 'valid', 'revoked'). |
| `subject` | `ref` → `com.atproto.repo.strongRef` | Yes | Strong reference to the record being attested, so verifiers can fetch it and recompute the attestation CID. |
| `createdAt` | `string` (datetime) | Yes |  |
| `signatures` | `ref` → `network.attested.signature#signatures` | No | Attestations over this proof record itself (the attestor's inline signature). |

## Raw Schema

```json
{
  "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
}
```
