# ChunkedEncryptOptions

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts:44](https://github.com/FilOzone/synapse-sdk/blob/5e9df029417d95928e523b01a29bf523e42db418/packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts#L44)

Options for one chunked AES-256-GCM STREAM encryption using a direct CEK.

## Properties

### appMetadata?

> `optional` **appMetadata?**: [`AppMetadata`](/reference/filoz/filecoin-encryption-envelope/type-aliases/appmetadata/)

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts:54](https://github.com/FilOzone/synapse-sdk/blob/5e9df029417d95928e523b01a29bf523e42db418/packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts#L54)

Authenticated application metadata carried without interpretation.

***

### cek

> **cek**: [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts:46](https://github.com/FilOzone/synapse-sdk/blob/5e9df029417d95928e523b01a29bf523e42db418/packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts#L46)

Exactly 32 bytes and not all-zero. The caller owns its lifecycle and reuse policy.

***

### chunkSize?

> `optional` **chunkSize?**: `number`

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts:49](https://github.com/FilOzone/synapse-sdk/blob/5e9df029417d95928e523b01a29bf523e42db418/packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts#L49)

Plaintext bytes per chunk. Defaults to `DEFAULT_CHUNK_SIZE`.

***

### contentLength?

> `optional` **contentLength?**: `number`

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts:64](https://github.com/FilOzone/synapse-sdk/blob/5e9df029417d95928e523b01a29bf523e42db418/packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts#L64)

Exact plaintext length, if known up front.

Stored in the authenticated `plaintext_length` header. Exceeding it fails
the write; closing before reaching it fails the close. In either case, no
final chunk is emitted and earlier output must be discarded. Omit if the
length is not guaranteed.

***

### contentType?

> `optional` **contentType?**: `string` \| `number`

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts:51](https://github.com/FilOzone/synapse-sdk/blob/5e9df029417d95928e523b01a29bf523e42db418/packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts#L51)

***

### recipients?

> `optional` **recipients?**: readonly [`A256KWRecipient`](/reference/filoz/filecoin-encryption-envelope/namespaces/recipients/interfaces/a256kwrecipient/)[]

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts:70](https://github.com/FilOzone/synapse-sdk/blob/5e9df029417d95928e523b01a29bf523e42db418/packages/filecoin-encryption-envelope/src/aes-gcm-stream.ts#L70)

Recipients for CEK wrapping. When present, produces `COSE_Encrypt` (tag 96);
when omitted, produces `COSE_Encrypt0` (tag 16). An empty array is invalid.