id.sifa.meeting

Attestation of a face-to-face meeting with another user. Both participants create this record in their own PDS. The meeting is only displayed when both records exist (mutual confirmation). Either party can delete their record to remove the meeting. Like every record in a repository, it is public, including the optional event.

Repository @sifa.id did:plc:2f2ahswozqy4v5lvu676375y namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authoritysifa.id
Indexed
cid bafyreibiv3cooak6ijtcodn2ritypq3a2klp23sh4xpvmrijls6sbuwmeq

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Attestation of a face-to-face meeting with another user. Both participants create this record in their own PDS. The meeting is only displayed when both records exist (mutual confirmation). Either party can delete their record to remove the meeting. Like every record in a repository, it is public, including the optional event.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "event": {
            "description": "Optional reference to the community.lexicon.calendar.event where the meeting took place. Each participant decides whether their own record carries it, so consumers show the event only when both records reference the same event AT-URI. Resolve and match by AT-URI; the CID is an optional integrity hint, since organizers can edit event records. The event is chosen when the meeting code is shown and committed to in meetingToken: consumers that can verify the token ignore an event that does not match it. Omit the field to record the meeting without an event.",
            "ref": "id.sifa.defs#externalRecordRef",
            "type": "ref"
          },
          "meetingToken": {
            "description": "Server-issued JWT proving both parties were authenticated at the time of meeting. Contains both DIDs, timestamp, and server signature. When the meeting code was shown for an event, the token also commits to that event.",
            "maxLength": 512,
            "type": "string"
          },
          "subject": {
            "description": "DID of the other participant in the meeting.",
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "subject",
          "meetingToken",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Attestation of a verified face-to-face meeting between two users, requiring mutual confirmation.",
  "id": "id.sifa.meeting",
  "lexicon": 1
}