ai.newnal.trustsquare.socialAccount
A social account the holder claims as theirs. The record key is the platform id, so a repository can hold at most one account per platform. `method` records how the claim was established: `mock` means it was auto-accepted by the mocked flow and proves nothing, so consumers must not present it as ownership-checked once real methods exist.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | trustsquare.newnal.ai |
| Indexed |
Checks
Validunlimited-stringdefs.main.record.properties.methodNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.platformNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "A social account the holder claims as theirs. The record key is the platform id, so a repository can hold at most one account per platform. `method` records how the claim was established: `mock` means it was auto-accepted by the mocked flow and proves nothing, so consumers must not present it as ownership-checked once real methods exist.",
"key": "any",
"record": {
"properties": {
"handle": {
"description": "Normalized handle as shown to readers, including the leading @ where the platform treats it as part of the handle.",
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"method": {
"description": "How ownership was established. `mock` is the placeholder until real checks ship.",
"knownValues": [
"mock",
"oauth",
"post-proof"
],
"type": "string"
},
"platform": {
"description": "Must equal the record key.",
"knownValues": [
"youtube",
"facebook",
"x",
"naver"
],
"type": "string"
},
"profileUrl": {
"description": "Public profile the handle resolves to.",
"format": "uri",
"type": "string"
},
"verifiedAt": {
"format": "datetime",
"type": "string"
}
},
"required": [
"platform",
"handle",
"method",
"verifiedAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "ai.newnal.trustsquare.socialAccount",
"lexicon": 1
}