@@ -133,3 +133,145 @@ A LinkedClaim:
133133* ** MAY** have a separate published date and effective date
134134* ** MAY** be public or access controlled
135135
136+ ## Advanced Patterns
137+
138+ _ enabled by implementing the SHOULD recommendations_
139+
140+ ### Signer Attestation and Content Integrity Pattern
141+ ``` mermaid
142+
143+ graph LR
144+ subgraph Claim-A
145+ A_id["id: URI_A"]
146+ A_subject["subject: did:example:456"]
147+ A_content["content: {...}"]
148+ A_sig["signature: xyz"]
149+ end
150+
151+ subgraph Claim-B
152+ B_id["id: URI_B"]
153+ B_subject["subject: URI_X"]
154+ B_content["content: {...}"]
155+ B_sig["signature: xyz"]
156+ B_signer["signer: did:example:456"]
157+ B_evidence["evidence: {
158+ url: https://example.com/doc,
159+ hash: abc123
160+ }"]
161+ end
162+
163+ subgraph Evidence
164+ E["Document"]
165+ end
166+
167+ %% Only Claim B points to evidence, A points to B's signer
168+ A_subject -.-> B_signer
169+ B_evidence -.-> E
170+
171+ classDef claim fill:#f8f8ff,stroke:#333,stroke-width:2px
172+ classDef claimPart fill:#ffffff,stroke:#666,stroke-width:1px
173+ classDef evidence fill:#f0fff0,stroke:#333,stroke-width:2px
174+
175+ class A_id,A_subject,A_content,A_sig,B_id,B_subject,B_content,B_sig,B_signer,B_evidence claimPart
176+ style Claim-A fill:#f8f8ff,stroke:#333,stroke-width:2px
177+ style Claim-B fill:#f8f8ff,stroke:#333,stroke-width:2px
178+ style Evidence fill:#f0fff0,stroke:#333,stroke-width:2px
179+
180+ linkStyle 0,1 stroke:#666,stroke-width:2px,stroke-dasharray: 5
181+ ```
182+ ### Public evidence supporting a Private Claim
183+
184+ ``` mermaid
185+
186+ graph LR
187+ subgraph Private-Wallet
188+ subgraph Private-Claim
189+ P_id["id: URI_P"]
190+ P_subject["subject: URI_X"]
191+ P_content["content: {...}"]
192+ P_sig["signature: xyz"]
193+ end
194+ end
195+
196+ subgraph Public-Validations
197+ subgraph Validation-A
198+ V1_id["id: URI_V1"]
199+ V1_subject["subject: URI_P"]
200+ V1_content["validation data"]
201+ end
202+ subgraph Evidence
203+ E["Public Evidence"]
204+ end
205+ end
206+
207+ %% Links
208+ V1_subject -.-> P_id
209+ V1_content -.-> E
210+
211+ classDef claim fill:#f8f8ff,stroke:#333,stroke-width:2px
212+ classDef claimPart fill:#ffffff,stroke:#666,stroke-width:1px
213+ classDef private fill:#fff0f5,stroke:#333,stroke-width:2px
214+ classDef public fill:#f0fff0,stroke:#333,stroke-width:2px
215+
216+ class P_id,P_subject,P_content,P_sig,V1_id,V1_subject,V1_content claimPart
217+ style Private-Wallet fill:#fff0f5,stroke:#333,stroke-width:2px
218+ style Public-Validations fill:#f0fff0,stroke:#333,stroke-width:2px
219+ style Private-Claim fill:#f8f8ff,stroke:#333,stroke-width:2px
220+ style Validation-A fill:#f8f8ff,stroke:#333,stroke-width:2px
221+ style Evidence fill:#ffffff,stroke:#666,stroke-width:1px
222+
223+ linkStyle 0,1 stroke:#666,stroke-width:2px,stroke-dasharray: 5
224+ ```
225+
226+ ## Minimal Example
227+
228+ ```
229+ {
230+ "id": "https://claims.example.com/claim/123",
231+ "subject": "https://resource.example.com/entity/456",
232+ "signature": {
233+ "type": "Ed25519Signature2020",
234+ "verificationMethod": "did:example:abc#key-1",
235+ "signatureValue": "zQeVbY4oey5q66..."
236+ }
237+ }
238+ ```
239+
240+ ## Advanced Example
241+
242+ ```
243+ {
244+ "@context": [
245+ "http://cooperation.org/credentials/v1/",
246+ "https://w3id.org/security/v2"
247+ ],
248+ "type": "LinkedClaim",
249+ "id": "https://claims.example.com/claim/123",
250+ "object": "https://resource.example.com/entity/456",
251+ "statement": "This resource has been verified as meeting quality standards",
252+ "effectiveDate": "2024-01-06T13:42:19Z",
253+ "intendedAudience": {
254+ "type": "OAuth2Audience",
255+ "id": "https://api.example.com",
256+ "scope": ["read:claims"]
257+ },
258+ "source": {
259+ "type": "ClaimSource",
260+ "id": "https://evidence.example.com/doc/789",
261+ "digestMultibase": "zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e",
262+ "dateObserved": "2024-01-06T12:00:00Z",
263+ "howKnown": "direct observation",
264+ "retrieveFrom": "https://evidence.example.com/doc/789"
265+ },
266+ "respondAt": "https://claims.example.com/claim/123/responses",
267+ "aspect": "quality verification",
268+ "confidence": 0.95,
269+ "proof": {
270+ "type": "Ed25519Signature2020",
271+ "created": "2024-01-06T13:42:19Z",
272+ "verificationMethod": "did:example:abc#key-1",
273+ "proofPurpose": "assertionMethod",
274+ "proofValue": "zQeVbY4oey5q66..."
275+ }
276+ }
277+ ```
0 commit comments