Skip to content

Class: Ztdf

The Ztdf class represents a container of encrypted data in the Zero Trust Data Format (ZTDF). It contains the methods and properties needed to manage the encrypted data and its associated manifest.

Properties

manifest

  • Type: ZtdfManifest
  • Description: The manifest associated with the encrypted data.

payload

  • Type: Uint8Array
  • Description: The encrypted data as a byte array.

Methods

static fromManifestAndPayload(manifest: ZtdfManifest, payload: Uint8Array): Ztdf

  • Description: Static method to create an instance from the manifest and payload.
  • Parameters:
    • manifest: The manifest associated with the encrypted data.
    • payload: The encrypted data as a byte array.
  • Returns: A new Ztdf instance.
  • Throws: SdsdkError if the input is invalid or required properties are missing.

static fromZip(zipBuffer: Uint8Array): Promise<Ztdf>

  • Description: Static method to create an instance from a zip buffer.
  • Parameters:
    • zipBuffer: A Uint8Array representation of a ztdf file.
  • Returns: A new Ztdf instance.
  • Throws: SdsdkError if the input is invalid or required properties are missing.

toZip(): Promise<Uint8Array>

  • Description: Converts the instance into a serializable buffer in ZIP format.
  • Returns: Promise<Uint8Array>
  • Throws: SdsdkError if the input is invalid or required properties are missing.

⚠️ Note on serialized data persistence
The client application is responsible for compatibility and must choose an appropriate persistence strategy (e.g., using IndexedDB, server-side storage, etc.) depending on platform constraints and application requirements.


Types

ZtdfManifest

  • Description: Object containing the ZTDF manifest. For more information refer to the ZTDF specification.

Examples

javascript
const config: SdsdkConfiguration = {
// for more details, see class: Sdsdk 
}
const sdsdkInstance = new Sdsdk(config);
const ztdf = await sdsdkInstance.encrypt({
  data: new TextEncoder().encode('encryptedData')
})
const zipSerialization = await ztdf.toZip()
// persistence of the zip in the database, in a file, etc...
const ztdfInstance = await Ztdf.fromZip(zipSerialization)
const decryptedData = await sdsdk.decrypt(ztdfInstance);