3 Sync is a protocol to form one device group. It first is driving a
4 transaction named the Negotiation. There are two situations Sync can be
7 1. either there is no device group yet
8 2. or there is already a device group
12 In case 1) we have two devices in the state Sole. When the user
13 configures the first device, nothing happens. When the user configures
14 the second device, it will detect that there is another device being in
17 The two devices detect each other. Both are showing a dialog asking the
18 user: “There is another device detected. Shell we form a device group?”
20 There are three possible answers:
26 If one of the devices gets a Cancel, then the device group is NOT
27 formed. Sync remains enabled on both devices. This is corresponding with
28 a ROLLBACK of the Negotiation.
30 If one of the devices gets a Reject, then the device group is NOT
31 formed. Sync then is disabled on both devices. This is corresponding
32 with a COMMIT of the Negotiation with the result REJECT.
34 If both devices get an Accept, then the device group is formed. Sync is
35 then enabled on both devices. This is corresponding with a two-phase
36 COMMIT of the Negotiation with the result ACCEPT.
40 In case 2) we have at least two devices forming a device group already
41 (named “old devices”), being in state Grouped. And we have one device,
42 which is not yet in a device group (named “new device”), being in state
45 The new device and the old devices detect that there is a new device,
46 which could join the existing device group. The new device is showing
47 a dialog with “There is already a device group. Shell this device join?”
48 Possible answers are Join/Accept, Reject and Cancel. The old devices are
49 ALL showing a dialog with “A new device is detected. Shell we accept
50 the new device as new member in our device group?” Possible answers are
51 Accept, Reject and Cancel.
53 If one of the devices gets a Cancel, then the new device is NOT added to
54 the device group. Sync remains enabled on all devices. This is
55 corresponding with a ROLLBACK of the Negotiation.
57 If one of the devices gets a Reject, then the new device is NOT added to
58 the device group. Sync remains enabled on the old devices, but gets
59 disabled on the new device. This is corresponding with a COMMIT of the
60 Negotiation with the result REJECT.
62 Only if the new device gets an Accept and at least one of the old
63 devices gets an Accept, then the new device is added to the device group.
64 Sync then remains enabled on the old devices, and gets enabled on the
65 new device. This is corresponding with a COMMIT of the Negotiation with
68 Key sync is starting while Sync is taking place. The Sync dialog is a
69 Trustwords dialog offering Trustwords to check for the user. User's
70 decision is not only based on if she/he wants to have a device group in
71 case 1) – or – if she/he wants to add a new device to an existing device
72 group in case 2), but also on the question, if the Trustwords on the
73 two handled devices (either the two Sole ones or the new one and one of
74 the old ones) are identical.
76 Because there is a Trustwords check, from then on the connection is
77 becoming green, and secret keys will be sent and shared on all devices
78 being member of the same device group.
80 When Sync is switched off on a device, then it leaves the device group
81 it is in. A Key reset is needed then on the remaining devices, dealing
82 out new group keys for all own identities.
84 Sync can be switched on in two ways:
86 1. Switched on for all (default in p≡p apps)
87 2. Switched on only for a list of accounts (reached by switching it off
90 If Sync is enabled in 1) then adding a new account will have Sync for
91 this account, too, implicitely.
93 If Sync is enabled in 2) then adding a new account will have Sync
94 switched off for this account by default.