A method to enable confidential communication among users who are members of a group, the method comprising: at a first device associated with a first user (10)who is a member of the group: generating a first data block for an ordered list of data blocks representing a chronological account of group member updates to the group, the first data block including a timestamp of creation of the first data block, identity information of the first user, information specifying addition of at least a second user (10) to be a member to the group, and information pointing to a location of encrypted content to be shared among members of the group, the encrypted content having been encrypted with a symmetric key of the first user; generating a group key that includes a hash of the first data block; encrypting a key material portion of the group key using a multi-recipient encryption process that indicates at least the second user (10) as a recipient; communicating the ordered list and the group key to a communication resource to which a device of the second user (10) has access; and sending to the device of the second user the information pointing to the location of the encrypted content, and information pointing to the ordered list and the group key; at the device of the second user (10): generating a second data block to be appended to the ordered list, the second data block including a timestamp of creation of the second data block, a hash of the first data block in the ordered list, and information indicating addition of at least a third user (10) as a new member to the group and/or information indicating removal of at least one user who is an existing member of the group; and sending the second data block to a device of the third user (10). at a first device associated with a first user (10)who is a member of the group: generating a first data block for an ordered list of data blocks representing a chronological account of group member updates to the group, the first data block including a timestamp of creation of the first data block, identity information of the first user, information specifying addition of at least a second user (10) to be a member to the group, and information pointing to a location of encrypted content to be shared among members of the group, the encrypted content having been encrypted with a symmetric key of the first user; generating a group key that includes a hash of the first data block; encrypting a key material portion of the group key using a multi-recipient encryption process that indicates at least the second user (10) as a recipient; communicating the ordered list and the group key to a communication resource to which a device of the second user (10) has access; and sending to the device of the second user the information pointing to the location of the encrypted content, and information pointing to the ordered list and the group key; generating a first data block for an ordered list of data blocks representing a chronological account of group member updates to the group, the first data block including a timestamp of creation of the first data block, identity information of the first user, information specifying addition of at least a second user (10) to be a member to the group, and information pointing to a location of encrypted content to be shared among members of the group, the encrypted content having been encrypted with a symmetric key of the first user; generating a group key that includes a hash of the first data block; encrypting a key material portion of the group key using a multi-recipient encryption process that indicates at least the second user (10) as a recipient; communicating the ordered list and the group key to a communication resource to which a device of the second user (10) has access; and sending to the device of the second user the information pointing to the location of the encrypted content, and information pointing to the ordered list and the group key; at the device of the second user (10): generating a second data block to be appended to the ordered list, the second data block including a timestamp of creation of the second data block, a hash of the first data block in the ordered list, and information indicating addition of at least a third user (10) as a new member to the group and/or information indicating removal of at least one user who is an existing member of the group; and sending the second data block to a device of the third user (10). generating a second data block to be appended to the ordered list, the second data block including a timestamp of creation of the second data block, a hash of the first data block in the ordered list, and information indicating addition of at least a third user (10) as a new member to the group and/or information indicating removal of at least one user who is an existing member of the group; and sending the second data block to a device of the third user (10).