com.linkedclaims.claim

linkedclaims.com

Schema Diff

+1 -1

From

CID
bafyreiaqr5bcj3k...
Indexed At
2026-03-24 15:24 UTC
View this version

To

CID
bafyreiahb2ed2x5...
Indexed At
2026-04-01 03:06 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 0 non-breaking changes.

Breaking Changes (1)
  • KindChanged KindChanged { vertex_id: "com.linkedclaims.claim:body.confidence", old_kind: "object", new_kind: "string" }

Migration Guidance

Additional Notes

  • Breaking: KindChanged { vertex_id: "com.linkedclaims.claim:body.confidence", old_kind: "object", new_kind: "string" }
1 1
{
2 2
  "id": "com.linkedclaims.claim",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "subject",
11 11
          "claimType",
12 12
          "createdAt"
13 13
        ],
14 14
        "properties": {
15 15
          "stars": {
16 16
            "type": "integer",
17 17
            "maximum": 5,
18 18
            "minimum": 1,
19 19
            "description": "Star rating (for rating-type claims)."
20 20
          },
21 21
          "aspect": {
22 22
            "type": "string",
23 23
            "description": "The specific aspect being rated or assessed (e.g., quality, reliability, timeliness)."
24 24
          },
25 25
          "object": {
26 26
            "type": "string",
27 27
            "description": "Optional object of the claim (e.g., skill name, credential type, rating category)."
28 28
          },
29 29
          "source": {
30 30
            "ref": "#claimSource",
31 31
            "type": "ref",
32 32
            "description": "Where this claim comes from — a person, a website, a document. For example: 'I saw this on Wikipedia' (source.uri = the Wikipedia URL), or 'My colleague told me' (source.uri = their DID, howKnown = SECOND_HAND). Source is not evidence — it's the origin of the information."
33 33
          },
34 34
          "subject": {
35 35
            "type": "string",
36 36
            "format": "uri",
37 37
            "description": "The entity this claim is about. Can be any URI: HTTPS URL, DID, AT-URI, IPFS CID, or another claim's claimUri (for claims-about-claims such as endorsements or disputes)."
38 38
          },
39 39
          "claimUri": {
40 40
            "type": "string",
41 41
            "format": "uri",
42 42
            "description": "Persistent URI identity of this claim per the DIF Labs LinkedClaims spec. This is how other claims reference this one (by using this URI as their subject). May be an AT-URI if the claim originated on ATProto, or an HTTPS URL or other URI if it originated elsewhere. Must be a well-formed, persistent, dereferenceable URI."
43 43
          },
44 44
          "evidence": {
45 45
            "type": "array",
46 46
            "items": {
47 47
              "ref": "#evidenceItem",
48 48
              "type": "ref"
49 49
            },
50 50
            "description": "Supporting materials provided to back up this claim — photos, videos, screenshots, documents, links. For example: source might be a Wikipedia article, evidence is the screenshot you took of it. Source might be you (first-hand), evidence is the video you recorded. Each item has a URI and optionally a content hash for integrity."
51 51
          },
52 52
          "claimType": {
53 53
            "type": "string",
54 54
            "description": "Category of claim. Open vocabulary — common values include skill, credential, impact, endorsement, dispute, rating, review, membership, supersedes, revocation."
55 55
          },
56 56
          "createdAt": {
57 57
            "type": "string",
58 58
            "format": "datetime",
59 59
            "description": "When this record was created."
60 60
          },
61 61
          "respondAt": {
62 62
            "type": "string",
63 63
            "format": "uri",
64 64
            "description": "URI where endorsements, disputes, or other responses to this claim may be sent. Per the LinkedClaims spec, MAY behave like an ActivityPub inbox."
65 65
          },
66 66
          "statement": {
67 67
            "type": "string",
68 68
            "maxLength": 10000,
69 69
            "description": "Human-readable explanation of the claim."
70 70
          },
71 71
          "confidence": {
72 -
            "type": "number",
72 +
            "type": "string",
73 73
            "maximum": 1,
74 74
            "minimum": 0,
75 75
            "description": "Signer's confidence in this claim (0-1)."
76 76
          },
77 77
          "effectiveDate": {
78 78
            "type": "string",
79 79
            "format": "datetime",
80 80
            "description": "When the claim became/becomes true (may differ from createdAt)."
81 81
          },
82 82
          "embeddedProof": {
83 83
            "ref": "#embeddedProof",
84 84
            "type": "ref",
85 85
            "description": "For claims signed by external methods (MetaMask, aca-py, Digital Bazaar, etc.) before being published to ATProto. Preserves the original signer identity when the ATProto repo owner differs from the claim signer."
86 86
          }
87 87
        }
88 88
      },
89 89
      "description": "A verifiable claim about any URI-addressable subject."
90 90
    },
91 91
    "claimSource": {
92 92
      "type": "object",
93 93
      "properties": {
94 94
        "uri": {
95 95
          "type": "string",
96 96
          "format": "uri",
97 97
          "description": "URI of the evidence (HTTPS URL, IPFS CID, AT-URI, etc.)."
98 98
        },
99 99
        "author": {
100 100
          "type": "string",
101 101
          "format": "uri",
102 102
          "description": "Original author of the evidence (if different from claim signer)."
103 103
        },
104 104
        "curator": {
105 105
          "type": "string",
106 106
          "format": "uri",
107 107
          "description": "Entity that curated/surfaced this evidence."
108 108
        },
109 109
        "howKnown": {
110 110
          "type": "string",
111 111
          "description": "How the signer knows this claim to be true.",
112 112
          "knownValues": [
113 113
            "FIRST_HAND",
114 114
            "SECOND_HAND",
115 115
            "WEB_DOCUMENT",
116 116
            "VERIFIED_LOGIN",
117 117
            "SIGNED_DOCUMENT",
118 118
            "BLOCKCHAIN",
119 119
            "RESEARCH",
120 120
            "OPINION",
121 121
            "OTHER"
122 122
          ]
123 123
        },
124 124
        "dateObserved": {
125 125
          "type": "string",
126 126
          "format": "datetime",
127 127
          "description": "When the evidence was observed/collected."
128 128
        },
129 129
        "digestMultibase": {
130 130
          "type": "string",
131 131
          "description": "Multibase-encoded hash of the evidence content for integrity verification, per W3C VC Data Model 2.0 (e.g., zQm...)."
132 132
        }
133 133
      },
134 134
      "description": "Where this claim comes from. A source can be a person (DID, URL), a website, a document, or any URI-addressable origin. Based on the cooperation.org/credentials/v1 ClaimSource vocabulary."
135 135
    },
136 136
    "evidenceItem": {
137 137
      "type": "object",
138 138
      "properties": {
139 139
        "uri": {
140 140
          "type": "string",
141 141
          "format": "uri",
142 142
          "description": "URI of the evidence (HTTPS URL, IPFS CID, AT-URI, blob reference, etc.)."
143 143
        },
144 144
        "mediaType": {
145 145
          "type": "string",
146 146
          "description": "MIME type of the evidence (e.g., image/jpeg, video/mp4, application/pdf)."
147 147
        },
148 148
        "description": {
149 149
          "type": "string",
150 150
          "maxLength": 1000,
151 151
          "description": "What this evidence shows or contains."
152 152
        },
153 153
        "digestMultibase": {
154 154
          "type": "string",
155 155
          "description": "Multibase-encoded hash of the content for integrity verification (e.g., zQm...)."
156 156
        }
157 157
      },
158 158
      "description": "A piece of supporting material for a claim — a photo, video, screenshot, document, or link. Evidence is what backs up the claim; source is where the claim comes from."
159 159
    },
160 160
    "embeddedProof": {
161 161
      "type": "object",
162 162
      "required": [
163 163
        "type",
164 164
        "verificationMethod",
165 165
        "proofValue",
166 166
        "created"
167 167
      ],
168 168
      "properties": {
169 169
        "type": {
170 170
          "type": "string",
171 171
          "description": "Signature suite type (e.g., EthereumEip712Signature2021, Ed25519Signature2020, JsonWebSignature2020)."
172 172
        },
173 173
        "created": {
174 174
          "type": "string",
175 175
          "format": "datetime",
176 176
          "description": "When the signature was created."
177 177
        },
178 178
        "proofValue": {
179 179
          "type": "string",
180 180
          "description": "The signature value (format depends on type)."
181 181
        },
182 182
        "proofPurpose": {
183 183
          "type": "string",
184 184
          "default": "assertionMethod",
185 185
          "description": "Purpose of the proof (typically assertionMethod for claims)."
186 186
        },
187 187
        "verificationMethod": {
188 188
          "type": "string",
189 189
          "description": "DID or key identifier of the actual claim signer (e.g., did:pkh:eip155:1:0xABC..., did:key:z6Mk..., did:web:example.com)."
190 190
        }
191 191
      },
192 192
      "description": "Cryptographic proof from external signing methods. Allows claims signed via MetaMask, aca-py, Digital Bazaar, etc. to be published on ATProto while preserving the original signer identity."
193 193
    }
194 194
  },
195 195
  "$type": "com.atproto.lexicon.schema",
196 196
  "lexicon": 1,
197 197
  "description": "A LinkedClaim record per the DIF Labs LinkedClaims specification (https://identity.foundation/labs-linkedclaims/). Claims are immutable, signed assertions about any URI-addressable subject. Each claim has a persistent URI (claimUri) so other claims can reference it as their subject, enabling a cross-system web of trust. LinkedClaims flow on ATProto but are not exclusive to it — the claimUri may point to any system where the claim originated."
198 198
}

Compare Other Versions

Lexicon Garden

@