An identity claim linking this DID to an external account
tid
Timestamp-based ID
Properties
claimUri
string
Required
The identity claim URI (e.g., for github: https://gist.github.com/username/id, dns:example.com)
comment
string
Optional
Optional user-provided label for this claim
maxLength: 256 bytescreatedAt
string
datetime
Required
Datetime when this claim was created (ISO 8601).
failedAt
string
datetime
Optional
Timestamp when the claim last failed re-verification or was retracted
identity
ref
#identity
Required
Structured data about the claimed identity, derived from the claimUri and knowledge inside the verification process. This is not the raw claim data, but a normalized set of fields that can be used for display and more.
lastVerifiedAt
string
datetime
Optional
Timestamp of the most recent successful re-verification by the system
nonce
string
Optional
Random one-time value embedded in the challenge text posted to the external service. Used by verifiers to confirm the proof was created specifically for this claim session. Keytrace itself does not use this, but other services making claims may require it for their verification process.
maxGraphemes: 128 graphemesprerelease
boolean
Optional
Whether this claim was created during the prerelease/alpha period
retractedAt
string
datetime
Optional
Datetime when this claim was retracted. Present only if the claim has been retracted (ISO 8601).
sigs
array
of
ref
dev.keytrace.signature#main
Required
Cryptographic attestation signatures from verification services, for example from @keytrace.dev. These are optional, and so you can pass an empty array. Keytrace will place its attestation signature in the claim here so that the library @keytrace/claims can be used by external developers to not have to implement their own verification logic.
status
string
Optional
Current verification status of this claim. Absent on legacy records, treated as 'verified'.
verified, failed, retractedtype
string
Required
The claim type identifier
github, dns, activitypub, bsky, npm, tangled, pgp, twitter, linkedin, instagram, reddit, hackernewsView raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"type",
"claimUri",
"identity",
"sigs",
"createdAt"
],
"properties": {
"sigs": {
"type": "array",
"items": {
"ref": "dev.keytrace.signature#main",
"type": "ref"
},
"description": "Cryptographic attestation signatures from verification services, for example from @keytrace.dev. These are optional, and so you can pass an empty array. Keytrace will place its attestation signature in the claim here so that the library @keytrace/claims can be used by external developers to not have to implement their own verification logic."
},
"type": {
"type": "string",
"description": "The claim type identifier",
"knownValues": [
"github",
"dns",
"activitypub",
"bsky",
"npm",
"tangled",
"pgp",
"twitter",
"linkedin",
"instagram",
"reddit",
"hackernews"
]
},
"nonce": {
"type": "string",
"description": "Random one-time value embedded in the challenge text posted to the external service. Used by verifiers to confirm the proof was created specifically for this claim session. Keytrace itself does not use this, but other services making claims may require it for their verification process.",
"maxGraphemes": 128
},
"status": {
"type": "string",
"description": "Current verification status of this claim. Absent on legacy records, treated as 'verified'.",
"knownValues": [
"verified",
"failed",
"retracted"
]
},
"comment": {
"type": "string",
"maxLength": 256,
"description": "Optional user-provided label for this claim"
},
"claimUri": {
"type": "string",
"description": "The identity claim URI (e.g., for github: https://gist.github.com/username/id, dns:example.com)"
},
"failedAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp when the claim last failed re-verification or was retracted"
},
"identity": {
"ref": "#identity",
"type": "ref",
"description": "Structured data about the claimed identity, derived from the claimUri and knowledge inside the verification process. This is not the raw claim data, but a normalized set of fields that can be used for display and more."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Datetime when this claim was created (ISO 8601)."
},
"prerelease": {
"type": "boolean",
"description": "Whether this claim was created during the prerelease/alpha period"
},
"retractedAt": {
"type": "string",
"format": "datetime",
"description": "Datetime when this claim was retracted. Present only if the claim has been retracted (ISO 8601)."
},
"lastVerifiedAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of the most recent successful re-verification by the system"
}
}
},
"description": "An identity claim linking this DID to an external account"
}