react-native-matrix-crypto
    Preparing search index...

    Interface HistoryBundle

    A scope's past, encrypted and ready to upload.

    interface HistoryBundle {
        ciphertext: Uint8Array;
        secret: string;
        shared: number;
        withheld: number;
    }
    Index
    ciphertext: Uint8Array

    The 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.

    secret: string

    Opaque. 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.

    shared: number

    How 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.

    withheld: number

    How 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.