space.intandem.calendarSource
Schema Diff
+2 -2
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
}