net.neodb.profile
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Link from this ATProto account to the owner's NeoDB identity, modeled on FEP-c390 identity proofs with the direction mirrored: the record living in the DID's repo proves the DID side (only the DID holder can write here), while the proof, signed with the ActivityPub actor's federation key, proves the NeoDB side. Verifiers must check that 'did' equals the repo's DID and that the proof's verificationMethod belongs to 'actor'.",
"key": "literal:self",
"record": {
"properties": {
"actor": {
"description": "ActivityPub actor id of the owner's NeoDB identity.",
"format": "uri",
"type": "string"
},
"createdAt": {
"description": "When the ATProto account was linked to the NeoDB identity.",
"format": "datetime",
"type": "string"
},
"did": {
"description": "DID of this repo; bound into the signed statement so the record cannot be replayed in another repo.",
"format": "did",
"type": "string"
},
"handle": {
"description": "Fediverse handle of the identity, user@instance.",
"type": "string"
},
"proof": {
"ref": "net.neodb.profile#proof",
"type": "ref"
},
"url": {
"description": "Profile page on the originating NeoDB instance.",
"format": "uri",
"type": "string"
}
},
"required": [
"did",
"actor",
"url",
"handle",
"createdAt"
],
"type": "object"
},
"type": "record"
},
"proof": {
"description": "W3C Data Integrity style proof (cf. FEP-c390 / FEP-8b32). Cryptosuite rsa-pkcs1-sha256-jcs follows the eddsa-jcs-2022 procedure with RSA, since ActivityPub federation keys are RSA: the signature is RSASSA-PKCS1-v1_5 with SHA-256 over sha256(JCS(proof minus proofValue)) || sha256(JCS(record minus proof)), JCS canonicalization per RFC 8785, proofValue base64-encoded. verificationMethod is the actor's public key as published in its ActivityPub actor document.",
"properties": {
"created": {
"format": "datetime",
"type": "string"
},
"cryptosuite": {
"knownValues": [
"rsa-pkcs1-sha256-jcs"
],
"type": "string"
},
"proofPurpose": {
"knownValues": [
"assertionMethod"
],
"type": "string"
},
"proofValue": {
"type": "string"
},
"type": {
"knownValues": [
"DataIntegrityProof"
],
"type": "string"
},
"verificationMethod": {
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"cryptosuite",
"created",
"verificationMethod",
"proofPurpose",
"proofValue"
],
"type": "object"
}
},
"id": "net.neodb.profile",
"lexicon": 1
}
Metadata
- DID
-
did:plc:ui2d3qu2ltydsyskmnuvi4ay - CID
-
bafyreif5itfvcpptwfkuq3pqazaglv5vw2teh3cjr7m2uxja7rp7ouemqe - Indexed At
- 2026-06-06 00:06 UTC
- AT-URI
-
at://did:plc:ui2d3qu2ltydsyskmnuvi4ay/com.atproto.lexicon.schema/net.neodb.profile
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A remote attestation proof: a standalone record in the attestor's repository that binds, via a canonical attestation CID, to a subject record living elsewhere. Referenced from the subject's `signatures` array via com.at…
-
app.certified.link.evm record
A verifiable link between an ATProto DID and an EVM wallet address, proven via a cryptographic signature. Currently supports EOA wallets via EIP-712 typed data signatures; the proof field is an open union to allow futur…
-
An inline attestation: an ECDSA signature over a canonical attestation CID, embedded directly in a record's `signatures` array. The CID is computed from the record (signatures stripped), this entry's metadata (cid/signa…
-
Public, PII-free proof that this account passed identity verification with the Newnal verifier. The attestation is a compact JWS signed by the issuer; the AppView rejects records whose signature or payload does not matc…
-
A verified creator attestation issued by Babesky. Records are written by Babesky's service DID (did:plc:qtapiembzpxlzsiagnc7eyy3) into its own repository, pointing at the subject's DID. Validity is dynamic: the handle a…