dev.keytrace.claim
An identity claim linking this DID to an external account
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | keytrace.dev |
| Indexed |
Checks
Validunlimited-stringdefs.identity.properties.displayNameNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.identity.properties.subjectNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.claimUriNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.statusNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.typeNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"identity": {
"description": "Generic identity data for the claimed account",
"properties": {
"avatarUrl": {
"description": "Avatar/profile image URL",
"format": "uri",
"type": "string"
},
"displayName": {
"description": "Display name if different from subject",
"type": "string"
},
"profileUrl": {
"description": "Profile page URL",
"format": "uri",
"type": "string"
},
"subject": {
"description": "Primary identifier (username, domain, handle, etc.)",
"type": "string"
}
},
"required": [
"subject"
],
"type": "object"
},
"main": {
"description": "An identity claim linking this DID to an external account",
"key": "tid",
"record": {
"properties": {
"claimUri": {
"description": "The identity claim URI (e.g., for github: https://gist.github.com/username/id, dns:example.com)",
"type": "string"
},
"comment": {
"description": "Optional user-provided label for this claim",
"maxLength": 256,
"type": "string"
},
"createdAt": {
"description": "Datetime when this claim was created (ISO 8601).",
"format": "datetime",
"type": "string"
},
"failedAt": {
"description": "Timestamp when the claim last failed re-verification or was retracted",
"format": "datetime",
"type": "string"
},
"identity": {
"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.",
"ref": "#identity",
"type": "ref"
},
"lastVerifiedAt": {
"description": "Timestamp of the most recent successful re-verification by the system",
"format": "datetime",
"type": "string"
},
"nonce": {
"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,
"type": "string"
},
"prerelease": {
"description": "Whether this claim was created during the prerelease/alpha period",
"type": "boolean"
},
"retractedAt": {
"description": "Datetime when this claim was retracted. Present only if the claim has been retracted (ISO 8601).",
"format": "datetime",
"type": "string"
},
"sigs": {
"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.",
"items": {
"ref": "dev.keytrace.signature#main",
"type": "ref"
},
"type": "array"
},
"status": {
"description": "Current verification status of this claim. Absent on legacy records, treated as 'verified'.",
"knownValues": [
"verified",
"failed",
"retracted"
],
"type": "string"
},
"type": {
"description": "The claim type identifier",
"knownValues": [
"github",
"dns",
"activitypub",
"bsky",
"npm",
"tangled",
"pgp",
"twitter",
"linkedin",
"instagram",
"reddit",
"hackernews"
],
"type": "string"
}
},
"required": [
"type",
"claimUri",
"identity",
"sigs",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "dev.keytrace.claim",
"lexicon": 1
}