agency.portable.membership

A self-attested claim by an atproto account that it is linked to an identity, community, or role in an external service. Paired with a matching agency.portable.attestation record on the attester's PDS.

Repository @portable.agency did:plc:y564i3jkoqqb5of5bcnq4xee namespace authority
Details · record, key any
Kindrecord
Record keyany
Authorityportable.agency
Indexed

Record

record · key any

Properties

attestedBy

requiredstring · did

DID of the attester that verified this claim.

createdAt

requiredstring · datetime

role

string

Optional role, rank, or status within the service or community (e.g. 'admin', 'maintainer', 'fascinator').

service

requiredref
Reference

#service

object

Identifies an external service and, optionally, a specific community and identity within it.

Properties

community

string

Optional identifier for a specific group, server, workspace, or organization within the service (e.g. a Discord guild ID, a GitHub org slug).

Optional external identity within the service (e.g. a user ID or handle). Include when proving platform identity; may be omitted when only proving community or role membership.

type

requiredstring

External service identifier (e.g. 'discord', 'github', 'slack').

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • An attestation by a verifier that a subject atproto account is linked to an identity, community, or role in an external service. Paired with a matching agency.portable.membership record on the subject's PDS.

  • A community-side member record granting a user roles within the community. Lives on the community repo and is written when an admission is finalized.

  • uk.co.bstools.alias.test.link

    record not from the namespace authority

    Claims that an account on another service belongs to this atproto account. Only valid if the authoriser has published a matching attestation.

  • com.getorbyt.community.membership

    record not from the namespace authority

    A user-owned canonical membership link, one record per Community. The record key MUST be base32(sha256(community AT-URI)) truncated to 24 characters, lowercase and unpadded, so writing it twice replaces the record instead of adding a second one and a repo can never hold two memberships for the same Community. The AppView rejects a record whose key is not that derivation, so the invariant is enforced rather than assumed. The key is derived from the AT-URI rather than the Community name, which its

  • A registered mapped.at member. Stored on the service account repo.