space.intandem.calendarSource

chaosgreml.in

Schema Diff

+2 -2

From

CID
bafyreihd4utx6ki...
Indexed At
2026-09-07 03:41 UTC
View this version

To

CID
bafyreiayfomspvi...
Indexed At
2026-09-07 22:18 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 1 non-breaking change.

Non-Breaking Changes (1)
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "space.intandem.calendarSource:body.secret", sort: "maxLength", old_value: "1000", new_value: "2000" }

Migration Guidance

Constraint Changes

  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "space.intandem.calendarSource:body.secret", sort: "maxLength", old_value: "1000", new_value: "2000" }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A connected calendar whose busy time subtracts from availability.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "createdAt": {
10 10
            "format": "datetime",
11 11
            "type": "string"
12 12
          },
13 13
          "kind": {
14 14
            "enum": [
15 15
              "ics",
16 16
              "caldav"
17 17
            ],
18 18
            "type": "string"
19 19
          },
20 20
          "name": {
21 21
            "maxLength": 200,
22 22
            "type": "string"
23 23
          },
24 24
          "secret": {
25 -
            "description": "CalDAV password / app password. Alpha caveat: stored unencrypted in a members-only space.",
26 -
            "maxLength": 1000,
25 +
            "description": "CalDAV password / app password (at most 1000 characters of plaintext), sealed at rest: an AES-256-GCM envelope (enc1:<iv>.<ciphertext>) under a key derived per host from the Tandem deployment's key, so only that deployment can read it. Records written before 2026-09-07 may still hold the plaintext until the host's next visit reseals them.",
26 +
            "maxLength": 2000,
27 27
            "type": "string"
28 28
          },
29 29
          "url": {
30 30
            "format": "uri",
31 31
            "type": "string"
32 32
          },
33 33
          "username": {
34 34
            "maxLength": 300,
35 35
            "type": "string"
36 36
          },
37 37
          "writeBack": {
38 38
            "description": "This calendar receives an event for each booking. CalDAV only; at most one source per host carries it.",
39 39
            "type": "boolean"
40 40
          }
41 41
        },
42 42
        "required": [
43 43
          "name",
44 44
          "kind",
45 45
          "url",
46 46
          "createdAt"
47 47
        ],
48 48
        "type": "object"
49 49
      },
50 50
      "type": "record"
51 51
    }
52 52
  },
53 53
  "id": "space.intandem.calendarSource",
54 54
  "lexicon": 1
55 55
}

Compare Other Versions

Lexicon Garden

@