Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename "claim" to "credentialSubject" #277

Merged
merged 2 commits into from
Nov 25, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
90 changes: 45 additions & 45 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -709,7 +709,7 @@ <h2>Contexts</h2>
]</span>,
"id": "http://dmv.example.gov/credentials/3732",
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -774,7 +774,7 @@ <h2>Identifiers</h2>
"@context": "https://w3.org/2018/credentials/v1",
<span class="highlight">"id": "http://dmv.example.gov/credentials/3732"</span>,
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"claim": {
"credentialSubject": {
<span class="highlight">"id": "did:example:ebfeb1f712ebc6f1c276e12ec21"</span>,
"ageOver": 21
},
Expand Down Expand Up @@ -835,7 +835,7 @@ <h2>Types</h2>
],
"id": "http://dmv.example.gov/credentials/3732",
<span class="highlight">"type": ["VerifiableCredential", "ProofOfAgeCredential"]</span>,
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -917,15 +917,15 @@ <h2>Types</h2>

<p>
When processing encapsulated objects in this specification, (e.g., objects
associated with the <code>claim</code> property or deeply nested therein),
associated with the <code>credentialSubject</code> property or deeply nested therein),
a software system SHOULD use type information specified in encapsulating
objects higher in the hierarchy. For the avoidance of doubt, an
encapsulating object such as <a>credential</a>, SHOULD convey the types of
associated objects so that the <a>verifier</a> can quickly determine the
contents of the associated object based on the type of the encapsulating object.
To provide a concrete example, a <a>credential</a> with the additional
<code>type</code> of <code>ProofOfAgeCredential</code> would signal to the
<a>verifier</a> that the object associated with the <a>claim</a> property will
<a>verifier</a> that the object associated with the <a>credentialSubject</a> property will
contain the identifier for the <a>subject</a> in the <code>id</code> property
and the age assertion in the <code>ageOver</code> property. This enables
implementers to rely on values associated with the <code>type</code> property
Expand Down Expand Up @@ -969,7 +969,7 @@ <h2>Issuer</h2>
The value of this property MUST be a string value of an [[!ISO8601]] combined
date and time string and represents the date and time the <a>credential</a>
was issued. Note that this date represents the earliest date when the
information associated with the <var>claim</var> property became valid.
information associated with the <var>credentialSubject</var> property became valid.
</dd>
</dl>
<pre class="example nohighlight" title="Usage of issuer properties">
Expand All @@ -982,7 +982,7 @@ <h2>Issuer</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
<span class="highlight">"issuer": "https://dmv.example.gov/issuers/14"</span>,
<span class="highlight">"issuanceDate": "2010-01-01T19:73:24Z"</span>,
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1018,7 +1018,7 @@ <h2>Proofs (e.g., Signatures)</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov",
"issuanceDate": "2010-01-01",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1070,7 +1070,7 @@ <h2>Expiration</h2>
"issuer": "https://dmv.example.gov/issuers/14",
"issuanceDate": "2010-01-01T19:73:24Z",
<span class="highlight">"expirationDate": "2020-01-01T19:73:24Z"</span>,
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1127,7 +1127,7 @@ <h2>Status</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issuanceDate": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1280,7 +1280,7 @@ <h2>Extensibility</h2>
"type": ["VerifiableCredential"],
"issuer": "https://example.com/issuers/14",
"issuanceDate": "2018-02-24T05:28:04Z",
"claim": {
"credentialSubject": {
"id": "did:example:abcdef1234567",
"name": "Jane Doe"
},
Expand Down Expand Up @@ -1333,7 +1333,7 @@ <h2>Extensibility</h2>
"issuer": "https://example.com/issuers/14",
"issuanceDate": "2018-02-24T05:28:04Z",
<span class="highlight">"referenceNumber": 83294847,</span>
"claim": {
"credentialSubject": {
"id": "did:example:abcdef1234567",
"name": "Jane Doe",
<span class="highlight">"favoriteFood": "Papaya"</span>
Expand Down Expand Up @@ -1400,15 +1400,15 @@ <h3>Semantic Interoperability</h3>
To avoid the possibility of accidentally overriding terms, developers are urged
to scope their extensions. For example, the following extension scopes the
new <code>favoriteFood</code> term so that it may only be used within the
<code>claim</code> property:
<code>credentialSubject</code> property:
</p>

<pre class="example nohighlight" title="Scoping terms in a JSON-LD Context">
{
"@context": {
"referenceNumber": "https://example.com/vocab#referenceNumber",
<span class="highlight">"claim": {
"@id": "https://w3.org/2018/credentials#claim",
<span class="highlight">"credentialSubject": {
"@id": "https://w3.org/2018/credentials#credentialSubject",
"@context": {
"favoriteFood": "https://example.com/vocab#favoriteFood"
}
Expand Down Expand Up @@ -1468,7 +1468,7 @@ <h2>Refreshing</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issuanceDate": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1541,7 +1541,7 @@ <h2>Terms of Use</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issuanceDate": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1578,7 +1578,7 @@ <h2>Terms of Use</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issuanceDate": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1665,7 +1665,7 @@ <h2>Evidence</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issuanceDate": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1740,7 +1740,7 @@ <h2>Subject is the Holder</h2>
<h2>Credential Uniquely Identifies Subject</h2>

<p>.
In this case, the <a>claim</a> may contain multiple properties that each
In this case, the <a>credentialSubject</a> may contain multiple properties that each
provide an aspect of the identity of the subject, and which together
unambiguously identify the subject. Some use cases may not require the
holder to be identified at all, such as checking to see if a doctor (the
Expand All @@ -1757,7 +1757,7 @@ <h2>Credential Uniquely Identifies Subject</h2>
"type": ["VerifiableCredential", "IdentityCredential"],
"issuer": "https://dmv.example.gov/issuers/4",
"issued": "2017-02-24",
"claim": {
"credentialSubject": {
"name": "J. Doe",
"address": {
"streetAddress": "10 Rue de Chose",
Expand Down Expand Up @@ -1807,7 +1807,7 @@ <h2>Subject Passes the Verifiable Credential to a Holder</h2>
verifiable credential to a holder, for example, a patient may pass a
prescription verifiable credential to a relative for the relative to present
it to a pharmacist for dispensing, then the subject MUST issue a verifiable
credential to the holder containing the claim properties that are being
credential to the holder containing the credentialSubject properties that are being
passed on, as described below. <span class="issue">
This feature is at risk and is likely to be removed and replaced with
another solution, possibly created by another Working Group, that focuses on
Expand Down Expand Up @@ -1837,7 +1837,7 @@ <h3> 'Subject Only' Terms of Use </h3>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issued": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
Expand Down Expand Up @@ -1865,7 +1865,7 @@ <h3> Passing on a Verifiable Credential </h3>
holder, the subject SHOULD issue a new verifiable credential to the holder in which:
the issuer is the subject,
the subject is the holder to whom the verifiable credential is being passed,
and the claim contains the properties that are being passed on. In addition, the
and the credentialSubject contains the properties that are being passed on. In addition, the
holder creates a verifiable presentation that contains these two
verifiable credentials.
</p>
Expand All @@ -1880,7 +1880,7 @@ <h3> Passing on a Verifiable Credential </h3>
"type": ["VerifiableCredential", "PrescriptionCredential"],
"issuer": "https://dmv.example.gov",
"issued": "2010-01-01",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"prescription": {....}
},
Expand All @@ -1895,7 +1895,7 @@ <h3> Passing on a Verifiable Credential </h3>
"type": ["VerifiableCredential", "PrescriptionCredential"],
"issuer": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"issued": "2010-01-03",
"claim": {
"credentialSubject": {
"id": "did:example:76e12ec21ebhyu1f712ebc6f1z2",
"prescription": {....}
},
Expand Down Expand Up @@ -1933,7 +1933,7 @@ <h2>Holder Acts on Behalf of the Subject</h2>
<ul>
<li>
The issuer may include the relationship between the holder and the subject
in the <code>claim</code> data.
in the <code>credentialSubject</code> data.
</li>
<li>
The issuer may express the relationship between the holder and the subject
Expand Down Expand Up @@ -1968,7 +1968,7 @@ <h2>Holder Acts on Behalf of the Subject</h2>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issued": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageUnder": 16,
"parent": {
Expand All @@ -1992,7 +1992,7 @@ <h2>Holder Acts on Behalf of the Subject</h2>
"type": ["VerifiableCredential", "RelationshipCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issued": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1c276e12ec211f712ebc6f",
"child": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
Expand All @@ -2016,7 +2016,7 @@ <h2>Holder Acts on Behalf of the Subject</h2>
"type": ["VerifiableCredential", "RelationshipCredential"],
"issuer": "http://example.org/credentials/23894",
"issued": "2010-01-01T19:73:24Z",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"parent": {
"id": "did:example:ebfeb1c276e12ec211f712ebc6f",
Expand Down Expand Up @@ -2065,7 +2065,7 @@ <h2>Issuer Authorises Holder</h2>
"id": "did:example:ebfeb1276e12ec21f712ebc6f1c"
},
"issued": "2010-01-01",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"name": "Mr John Doe",
"address": "10 Some Street, Anytown, ThisLocal, Country X"
Expand Down Expand Up @@ -2113,10 +2113,10 @@ <h2>Disputes</h2>
denial of service attacks whereby an attacker falsely disputes a true claim.

The mechanism for issuing a "DisputeCredential"
is the same as issuing a regular credential except that the <a>subject</a>
identifier for the <a>claim</a> in the "DisputeCredential" is the identifier of
the disputed credential. For example, if a credential with an identifier of
<code>https://example.org/credentials/245</code>
is the same as issuing a regular credential except that the
<code>credentialSubject</code> identifier in the "DisputeCredential" is the
identifier of the disputed credential. For example, if a credential with an
identifier of <code>https://example.org/credentials/245</code>
is disputed, an entity may issue one of the following credentials. In the
former case, the subject might present this to the verifier along with the
disputed credential. In the latter case, the entity might publish the
Expand All @@ -2132,7 +2132,7 @@ <h2>Disputes</h2>
],
"id": "http://example.com/credentials/123",
"type": ["VerifiableCredential", "DisputeCredential"],
<span class="highlight">"claim": {
<span class="highlight">"credentialSubject": {
"id": "http://example.com/credentials/245",
"currentStatus": "Disputed",
"statusReason": "Address is out of date"
Expand All @@ -2149,7 +2149,7 @@ <h2>Disputes</h2>
"@context": "https://w3id.org/credentials/v1",
"id": "http://example.com/credentials/321",
"type": ["VerifiableCredential", "DisputeCredential"],
<span class="highlight">"claim": {
<span class="highlight">"credentialSubject": {
"id": "http://example.com/credentials/245",
"currentStatus": "Disputed",
"statusReason": "Credential contains disputed statements",
Expand Down Expand Up @@ -2327,7 +2327,7 @@ <h3>JSON Web Token</h3>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov",
"issuanceDate": "2010-01-01",
"claim": {
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
}
Expand Down Expand Up @@ -2430,7 +2430,7 @@ <h3>Issuer</h3>
<h3>Subject</h3>
<ul>
<li>The value associated with the <code>id</code> property for each
<a>claim</a> MUST identify a <a>subject</a> to the
<code>credentialSubject</code> MUST identify a <a>subject</a> to the
<a>verifier</a>. For example, if a subject is identified and the
verifier has public key metadata related to the subject that is
used for authentication purposes, then the verifier MAY be able to
Expand Down Expand Up @@ -2667,8 +2667,8 @@ <h3>Personally Identifiable Information</h3>

<p>
The data associated with verifiable credentials stored in the
<code>credential.claim</code> field are largely susceptible to privacy
violations when shared with verifiers. Personally identifying data
<code>credential.credentialSubject</code> field are largely susceptible to
privacy violations when shared with verifiers. Personally identifying data
such as a government-issued identifier, shipping address, and full name
can be easily used to determine, track, and correlate an entity. Even
information that does not seem personally identifiable like the
Expand All @@ -2691,8 +2691,8 @@ <h3>Identifier-Based Correlation</h3>

<p>
Subjects of verifiable credentials are identified via the
<code>credential.claim.id</code> field. The identifiers that are used
to identify the subject create a danger of correlation when
<code>credential.credentialSubject.id</code> field. The identifiers that are
used to identify the subject create a danger of correlation when
the identifiers are long-lived or used across more than one web domain.
</p>
<p>
Expand Down Expand Up @@ -2860,7 +2860,7 @@ <h3>Bearer Credentials</h3>
<p>
Verifiable Credentials that are bearer credentials are possible by not
specifying the <a>subject</a> identifier, expressed using the
<code>id</code> property that is nested in the <code>claim</code> property.
<code>id</code> property that is nested in the <code>credentialSubject</code> property.
For example, the following Verifiable Credential is a bearer credential:
</p>

Expand All @@ -2874,7 +2874,7 @@ <h3>Bearer Credentials</h3>
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://dmv.example.gov/issuers/14",
"issuanceDate": "2017-10-22T12:23:48Z",
"claim": {
"credentialSubject": {
<span class="comment">// note that the 'id' property is not specified for bearer credentials</span>
"ageOver": 21
},
Expand Down
9 changes: 4 additions & 5 deletions vocab/context.jsonld
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,14 @@
"Policy": "cred:Policy",
"VerifiableCredential": "cred:VerifiableCredential",
"VerifiablePresentation": "cred:VerifiablePresentation",
"claim": {
"@id": "cred:claim",
"@container": "@graph",
"@type": "@id"
},
"credentialStatus": {
"@id": "cred:credentialStatus",
"@type": "@id"
},
"credentialSubject": {
"@id": "cred:credentialSubject",
"@type": "@id"
},
"evidence": {
"@id": "cred:evidence",
"@type": "@id"
Expand Down