thread: author: A logs: - id: A.1 identity: A records: - id: A.1.1 aclSnapshot: userStates: - identity: A encryptionKey: key.Enc.A encryptedReadKeys: [key.Read.1] permission: admin snapshot: blocks: - id: root aclChanges: - userAdd: identity: A permission: admin encryptionKey: key.Enc.A encryptedReadKeys: [key.Read.1] changes: - blockAdd: id: root readKey: key.Read.1 - id: A.1.2 aclChanges: - userInvite: acceptKey: key.Sign.Onetime1 encryptionKey: key.Enc.Onetime1 encryptedReadKeys: [key.Read.1] permissions: writer - userAdd: identity: C permission: reader encryptionKey: key.Enc.C encryptedReadKeys: [ key.Read.1 ] readKey: key.Read.1 - id: A.1.3 changes: - blockAdd: id: second targetId: root readKey: key.Read.1 - id: B.1 identity: B records: - id: B.1.1 aclChanges: - userJoin: identity: B encryptionKey: key.Enc.B acceptSignature: key.Sign.Onetime1 inviteId: A.1.2 encryptedReadKeys: [key.Read.1] readKey: key.Read.1 - id: B.1.2 changes: - blockAdd: id: first targetId: root readKey: key.Read.1 - id: C.1 identity: C records: - id: C.1.1 changes: - blockAdd: id: third targetId: root readKey: key.Read.1 keys: Enc: - A - B - C - Onetime1 Sign: - A - B - C - Onetime1 Read: - 1 graph: - id: A.1.1 baseSnapshot: A.1.1 - id: A.1.2 baseSnapshot: A.1.1 aclHeads: [A.1.1] treeHeads: [A.1.1] - id: B.1.1 baseSnapshot: A.1.1 aclHeads: [A.1.2] treeHeads: [A.1.2] - id: B.1.2 baseSnapshot: A.1.1 aclHeads: [B.1.1] treeHeads: [B.1.1] - id: A.1.3 baseSnapshot: A.1.1 aclHeads: [B.1.1] treeHeads: [B.1.2, C.1.1] - id: C.1.1 baseSnapshot: A.1.1 aclHeads: [B.1.1] treeHeads: [B.1.1]