Shared Secret Storage Service
Some features may require clients to store encrypted data on the server so that it can be shared securely between clients. Clients may also wish to securely send such data directly to each other. For example, key backups (MSC1219) can store the decryption key for the backups on the server, or cross-signing (MSC1756) can store the signing keys.
https://github.com/matrix-org/matrix-doc/pull/1946
Functions
Generates a SSSS key for encrypting secrets. Use the SsssKeyCreationInfo object returned by the callback to get more information about the created key (recovery key ...)
Generates a SSSS key using the given passphrase. Use the SsssKeyCreationInfo object returned by the callback to get more information about the created key (recovery key, salt, iteration ...)
Use this call to determine which SSSSKeySpec to use for requesting secret.
A key can be marked as the "default" key by setting the user's account_data with event type m.secret_storage.default_key to an object that has the ID of the key as its key property. The default key will be used to encrypt all secrets that the user would expect to be available on all their clients. Unless the user specifies otherwise, clients will try to use the default key to decrypt secrets.
Return true if SSSS is configured.
Request the missing local secrets to other sessions.
Store an encrypted secret on the server Clients MUST ensure that the key is trusted before using it to encrypt secrets.