Public card
Each actor publishes a card with public information on all its public boxes:
A card is an unencrypted object holding a record with the following structure:
public key empty # public key hash actor group ? store URL * status * account hash * revision entrusted actors ? revision store URL * account hash * other public data
The public key section links the actor's public key.
The optional actor group section lists all messaging accounts of all actor group members, including those of the actor itself. The accounts are grouped by store URL (UTF-8 text) and status (UTF-8 text). The following status labels are allowed:
- active for members that regularly check their messages
- idle for all other members
- revoked for revoked members
Account hashes are stored as byte sequences. The corresponding public key can be obtained from the indicated store.
Revision is a timestamp (milliseconds since epoch) stored as unsigned big-endian integer, and used to merge the actor's status during actor group discovery.
If the actor group section is missing, the actor is considered active and alone.
The optional entrusted actors section lists the actors entrusted by the group. The store URL points to the store holding the public key(s). That store does not necessarily belong to the entrusted actor. The whole list is most-recent merged on revision.
The card may contain other public data, such as a name, a profile picture, a link to a website, or a product catalogue. All this information is unconditionally public.
The total size of the card object should not exceed 10 KiB. Large pieces of data (such as a picture or catalogue) should be stored in separate objects, and linked from the card.