ReadonlyciphertextThe encrypted bundle. Upload these bytes verbatim.
There is no key in here and nothing to protect beyond the ordinary care an upload deserves: the key that opens it is HistoryBundle.secret.
ReadonlysecretOpaque. Hand it back to shareHistoryBundle unchanged, once the upload has succeeded.
It contains the key that decrypts the bundle, which is to say the key to everything this account can read in that scope. It is deliberately opaque rather than structured, because you have no reason to read it and every reason not to keep it: do not log it, do not write it to disk, and drop it once the announcement is made.
ReadonlysharedHow many sessions this bundle hands over.
The number to put in front of a person before they commit to something irreversible. Zero is an ordinary answer for a scope nothing has been said in yet, and is not a failure.
ReadonlywithheldHow many sessions were deliberately left out, because they were created while this scope's history was not shareable.
The recipient is told these exist, so their client can say "this part was not shared" rather than showing an unexplained gap.
A scope's past, encrypted and ready to upload.
See
buildHistoryBundle