app.zeens.message

zeens.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A single chat message, written to the SENDER's repo. The body is base64-obfuscated (NOT encrypted) so it isn't plainly readable when browsing the repo, but it is not secret — anyone can decode it. Chats are public on the user's PDS. The convoId groups a 1:1 conversation. Carries the app.zeens.v marker so the firehose recognises it.",
      "key": "tid",
      "record": {
        "properties": {
          "app.zeens.v": {
            "description": "Zeens version marker (always 1).",
            "type": "integer"
          },
          "body": {
            "description": "Base64-obfuscated message text (UTF-8 bytes, base64-encoded). Obfuscation only, not encryption.",
            "maxLength": 16384,
            "type": "string"
          },
          "convoId": {
            "description": "Deterministic 1:1 conversation id = sha256(sorted([didA, didB]).join('|')). Both parties derive the same id without coordination.",
            "maxLength": 128,
            "type": "string"
          },
          "createdAt": {
            "description": "Client-declared send time.",
            "format": "datetime",
            "type": "string"
          },
          "enc": {
            "description": "Obfuscation scheme for the body. 'b64' = base64 of UTF-8 bytes.",
            "enum": [
              "b64"
            ],
            "type": "string"
          },
          "recipient": {
            "description": "DID of the intended recipient.",
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "convoId",
          "recipient",
          "body",
          "enc",
          "createdAt",
          "app.zeens.v"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "app.zeens.message",
  "lexicon": 1
}

Validate Record

Validate a record against app.zeens.message

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:pwpuqwge6g7xrjmfbw73uycw
CID
bafyreiakeoxuzrn4nzsdtlea7djtukcdmtm3om3jc6sowixdz3swrcycwu
Indexed At
2026-10-22 16:31 UTC
AT-URI
at://did:plc:pwpuqwge6g7xrjmfbw73uycw/com.atproto.lexicon.schema/app.zeens.message

Similar Lexicons

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

  • org.swappulse.directMessage recordnot from the namespace authority

    A single message in a 1:1 conversation, mirrored to AT Protocol as a real org.swappulse.directMessage record. The sender is tracked by authorDid; the recipient by recipientDid so both can read.

  • Encrypted chat message for XX C chat room

  • A message in a channel or DM space. The record lives in the *author's* repo within the space, so a message has no single owning collection to sort by — it is identified by (authorDid, tid). One collection serves chann…

  • org.swappulse.conversation recordnot from the namespace authority

    A 1:1 direct-message conversation between two collectors, mirrored to AT Protocol as a real org.swappulse.conversation record. The creator is tracked by authorDid; the other participant by recipientDid so both can read.

  • A single message sent to a turtle meat chat room. Messages live in the author's own repository; a room is assembled by reading the backlinks that point at it.

Lexicon Garden

@