Skip to content

Interface: AnonymousSDK ​

Properties ​

api ​

api: { keyFind: (token: string, userIds: string[], __namedParameters: { page?: number; signal?: AbortSignal; }) => Promise<Paginated<UserDevice>>; keyFindAll: (token: string, userIds: string[], __namedParameters: { signal?: AbortSignal; }) => Promise<UserDevice[]>; messageCreate: (token: string, encryptedMessageKeys: EncryptedMessageKey[], __namedParameters: { metadata?: string; signal?: AbortSignal; tmrMessageKeys?: EncryptedTMRMessageKey[]; }) => Promise<{ id: string; }>; retrieveSession: (token: string, sessionId: string, secret: string, __namedParameters: { signal?: AbortSignal; }) => Promise<string>; sigchainFind: (token: string, userId: string, __namedParameters: { page?: number; signal?: AbortSignal; }) => Promise<Paginated<SigchainTransaction>>; sigchainFindAll: (token: string, userId: string, __namedParameters: { signal?: AbortSignal; }) => Promise<SigchainTransaction[]>; }

Anonymous SDK API Library. For advanced use.

keyFind() ​

keyFind: (token: string, userIds: string[], __namedParameters: { page?: number; signal?: AbortSignal; }) => Promise<Paginated<UserDevice>>

Parameters ​
token ​

string

userIds ​

string[]

__namedParameters ​
page? ​

number = 1

signal? ​

AbortSignal

Returns ​

Promise<Paginated<UserDevice>>

keyFindAll() ​

keyFindAll: (token: string, userIds: string[], __namedParameters: { signal?: AbortSignal; }) => Promise<UserDevice[]>

Parameters ​
token ​

string

userIds ​

string[]

__namedParameters ​
signal? ​

AbortSignal

Returns ​

Promise<UserDevice[]>

messageCreate() ​

messageCreate: (token: string, encryptedMessageKeys: EncryptedMessageKey[], __namedParameters: { metadata?: string; signal?: AbortSignal; tmrMessageKeys?: EncryptedTMRMessageKey[]; }) => Promise<{ id: string; }>

Parameters ​
token ​

string

encryptedMessageKeys ​

EncryptedMessageKey[]

__namedParameters ​
metadata? ​

string

signal? ​

AbortSignal

tmrMessageKeys? ​

EncryptedTMRMessageKey[]

Returns ​

Promise<{ id: string; }>

retrieveSession() ​

retrieveSession: (token: string, sessionId: string, secret: string, __namedParameters: { signal?: AbortSignal; }) => Promise<string>

Parameters ​
token ​

string

sessionId ​

string

secret ​

string

__namedParameters ​
signal? ​

AbortSignal

Returns ​

Promise<string>

sigchainFind() ​

sigchainFind: (token: string, userId: string, __namedParameters: { page?: number; signal?: AbortSignal; }) => Promise<Paginated<SigchainTransaction>>

Parameters ​
token ​

string

userId ​

string

__namedParameters ​
page? ​

number = 1

signal? ​

AbortSignal

Returns ​

Promise<Paginated<SigchainTransaction>>

sigchainFindAll() ​

sigchainFindAll: (token: string, userId: string, __namedParameters: { signal?: AbortSignal; }) => Promise<SigchainTransaction[]>

Parameters ​
token ​

string

userId ​

string

__namedParameters ​
signal? ​

AbortSignal

Returns ​

Promise<SigchainTransaction[]>


apiURL ​

apiURL: string

apiURL with which this SealdSDK instance was created. URL of the Seald API Servers to which it should connect.


scrypt ​

scrypt: SCrypt

SCrypt wrapper with reasonable parameters. For advanced use.


sscrypto ​

sscrypto: SSCrypto

Full SSCrypto library. For advanced use. See SSCrypto documentation at https://github.com/seald/sscrypto


utils ​

utils: { fetch: FetchFunction; deserializeSession: AnonymousEncryptionSession; }

Various utilities, for advanced use.

fetch ​

fetch: FetchFunction

The fetch implementation used by this SDK instance For advanced use.

deserializeSession() ​

deserializeSession(serialized: string): AnonymousEncryptionSession

Deserialize a serialized session. For advanced use.

Parameters ​
serialized ​

string

Returns ​

AnonymousEncryptionSession

AnonymousEncryptionSession

Methods ​

createEncryptionSession() ​

createEncryptionSession(opts: { encryptionToken: string; getKeysToken?: string; metadata?: string; recipients: Recipients; signal?: AbortSignal; }): Promise<AnonymousEncryptionSession>

Create an Encryption Session

Parameters ​

opts ​
encryptionToken ​

string

Mandatory. The JWT used for EncryptionSession creation.

getKeysToken? ​

string

Optional. The JWT used for the key retrieval. If not supplied, the key retrieval will use encryptionToken.

metadata? ​

string

Optional.

recipients ​

Recipients

Mandatory. Recipients of the session to create.

signal? ​

AbortSignal

Optional. An AbortSignal to cancel the encryption.

Returns ​

Promise<AnonymousEncryptionSession>


encrypt() ​

encrypt<T>(opts: { clearFile: T; encryptionToken: string; filename: string; fileSize?: number; getKeysToken?: string; metadata?: string; recipients: Recipients; signal?: AbortSignal; }): Promise<{ encryptedFile: T; id: string; }>

Encrypt

Type Parameters ​

T ​

T extends string | Blob | ReadableStream<any> | Readable | Buffer<ArrayBufferLike>

Parameters ​

opts ​
clearFile ​

T

The file to encrypt. Can be a string, a Buffer, a Blob, a WebStream ReadableStream, or a Node Readable stream. If you are using a ReadableStream or a Readable, you must also give the fileSize argument.

encryptionToken ​

string

Mandatory. The JWT used for EncryptionSession creation.

filename ​

string

Mandatory. Name of the file to encrypt.

fileSize? ​

number

Optional. Needed when using stream.

getKeysToken? ​

string

Optional. The JWT used for the key retrieval. If not supplied, the key retrieval will use encryptionToken.

metadata? ​

string

Optional. Defaults to the filename.

recipients ​

Recipients

Mandatory. Recipients of the session to create.

signal? ​

AbortSignal

Optional. An AbortSignal to cancel the encryption.

Returns ​

Promise<{ encryptedFile: T; id: string; }>


retrieveEncryptionSession() ​

retrieveEncryptionSession(opts: { appId?: string; retrieveSessionToken: string; sessionId: string; signal?: AbortSignal; symEncKeyId: string; symEncKeyPassword?: string; symEncKeyRawSecret?: string; symEncKeyRawSymKey?: string; }): Promise<AnonymousEncryptionSession>

Retrieve an Encryption Session with a SymEncKey.

You must pass either symEncKeyPassword, or both symEncKeyRawSecret and symEncKeyRawSymKey.

Parameters ​

opts ​
appId? ​

string

appId of your seald team.

retrieveSessionToken ​

string

Mandatory. A JWT to allow session retrieval.

sessionId ​

string

sessionId of the session to retrieve.

signal? ​

AbortSignal

Optional. An AbortSignal to cancel the encryption.

symEncKeyId ​

string

The symEncKeyId of the SymEncKey to use to retrieve the EncryptionSession.

symEncKeyPassword? ​

string

The password used to create this SymEncKey.

symEncKeyRawSecret? ​

string

The rawSecret used to create this SymEncKey.

symEncKeyRawSymKey? ​

string

The rawSymKey used to create this SymEncKey.

Returns ​

Promise<AnonymousEncryptionSession>


setLogLevel() ​

setLogLevel(logLevel: string): void

This sets the log level. logLevel must be a string of value silly, debug, info, warn, error, or a template of the format ${namespace_1}:${logLevel_for_namespace_1},${namespace_2}:${logLevel_for_namespace_2},.... This will set the log level for all SDK and AnonymousSDK instances, not only the current one.

Parameters ​

logLevel ​

string

Returns ​

void