com.germnetwork.declaration

lexicon.germnetwork.com

Documentation

A declaration of a Germ Network account

main record

A declaration of a Germ Network account

Record Key literal:self Fixed literal value

Properties

continuityProofs array of bytes Optional

Array of opaque values to allow for key rolling

maxLength: 1000 bytes
currentKey bytes Required

Opaque value, an ed25519 public key prefixed with a byte enum

keyPackage bytes Optional

Opaque value, contains MLS KeyPackage(s), and other signature data, and is signed by the currentKey

messageMe ref #messageMe Optional

Controls who can message this account

version string Required

Semver version number, without pre-release or build information, for the format of opaque content

maxLength: 14 bytesminLength: 5 bytes
View raw schema
{
  "key": "literal:self",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "version",
      "currentKey"
    ],
    "properties": {
      "version": {
        "type": "string",
        "maxLength": 14,
        "minLength": 5,
        "description": "Semver version number, without pre-release or build information, for the format of opaque content"
      },
      "messageMe": {
        "ref": "#messageMe",
        "type": "ref",
        "description": "Controls who can message this account"
      },
      "currentKey": {
        "type": "bytes",
        "description": "Opaque value, an ed25519 public key prefixed with a byte enum"
      },
      "keyPackage": {
        "type": "bytes",
        "description": "Opaque value, contains MLS KeyPackage(s), and other signature data, and is signed by the currentKey"
      },
      "continuityProofs": {
        "type": "array",
        "items": {
          "type": "bytes"
        },
        "maxLength": 1000,
        "description": "Array of opaque values to allow for key rolling"
      }
    }
  },
  "description": "A declaration of a Germ Network account"
}
messageMe object

No description available.

Properties

messageMeUrl string uri Required

A URL to present to an account that does not have its own com.germnetwork.declaration record, must have an empty fragment component, where the app should fill in the fragment component with the DIDs of the two accounts who wish to message each other

maxLength: 2047 bytesminLength: 1 bytes
showButtonTo string Required

The policy of who can message the account, this value is included in the keyPackage, but is duplicated here to allow applications to decide if they should show a 'Message on Germ' button to the viewer.

maxLength: 100 bytesminLength: 1 bytes
Known values: usersIFollow, everyone
View raw schema
{
  "type": "object",
  "required": [
    "showButtonTo",
    "messageMeUrl"
  ],
  "properties": {
    "messageMeUrl": {
      "type": "string",
      "format": "uri",
      "maxLength": 2047,
      "minLength": 1,
      "description": "A URL to present to an account that does not have its own com.germnetwork.declaration record, must have an empty fragment component, where the app should fill in the fragment component with the DIDs of the two accounts who wish to message each other"
    },
    "showButtonTo": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "The policy of who can message the account, this value is included in the keyPackage, but is duplicated here to allow applications to decide if they should show a 'Message on Germ' button to the viewer.",
      "knownValues": [
        "usersIFollow",
        "everyone"
      ]
    }
  }
}

Lexicon Garden

@