{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "An encrypted audio track. The audio blob is encrypted with AES-GCM-256, and the decryption key is wrapped and stored in grant records.",
      "key": "tid",
      "record": {
        "properties": {
          "audioBlob": {
            "accept": [
              "audio/wav",
              "audio/mpeg",
              "audio/flac"
            ],
            "description": "The encrypted audio file",
            "type": "blob"
          },
          "createdAt": {
            "description": "Timestamp when the track was uploaded",
            "format": "datetime",
            "type": "string"
          },
          "encryptedContentIv": {
            "description": "Base64-encoded IV (12 bytes) used to encrypt the audio with the content key",
            "maxLength": 32,
            "type": "string"
          },
          "encryptionAlgorithm": {
            "default": "AES-GCM-256",
            "description": "The symmetric algorithm used to encrypt the audio blob",
            "maxLength": 50,
            "type": "string"
          },
          "title": {
            "description": "Track title",
            "maxLength": 255,
            "type": "string"
          }
        },
        "required": [
          "title",
          "audioBlob",
          "encryptedContentIv",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "ch.indiemusi.alpha.track",
  "lexicon": 1
}
