Skip to content

GroupSecurityProvider

Defined in: packages/core/src/group-security-provider.ts:302

Stateful protocol adapter. A provider owns at most one active group and crosses the persistence boundary only through encrypted export/import. Returned records must expose finite own data properties, and returned byte fields must be genuine unshared Uint8Array snapshots; coordinators detach them before authentication, comparison, or persistence.

readonly optional lifecycleIdentity?: object

Defined in: packages/core/src/group-security-provider.ts:309

Stable lifecycle identity shared by every forwarding wrapper over the same mutable provider. When omitted, the provider object itself is used. The token must never change for one provider instance.


readonly protocol: GroupSecurityProtocol

Defined in: packages/core/src/group-security-provider.ts:303

applyCommit(commit): Promise<GroupSecurityApplyResult>

Defined in: packages/core/src/group-security-provider.ts:362

Received Add/Update credentials must be authenticated before applying.

GroupSecurityCommit

Promise<GroupSecurityApplyResult>


authenticateKeyPackageMember(keyPackage): Promise<Uint8Array<ArrayBufferLike>>

Defined in: packages/core/src/group-security-provider.ts:328

Validate the protocol credential carried by a public KeyPackage and derive its authenticated application member identity. This operation must be read-only and must derive the result from provider-validated package contents, never from unauthenticated caller metadata.

GroupKeyPackage

Promise<Uint8Array<ArrayBufferLike>>


authenticateKeyPackageRequestCommitment(keyPackage): Promise<Uint8Array<ArrayBufferLike>>

Defined in: packages/core/src/group-security-provider.ts:332

Derive the request commitment authenticated by the public KeyPackage.

GroupKeyPackage

Promise<Uint8Array<ArrayBufferLike>>


optional clearGroupState(): Promise<void>

Defined in: packages/core/src/group-security-provider.ts:378

Optionally and securely discards an active or partially-created group. Coordinators use this when a fresh provider cannot be checkpointed before bootstrap/restore. Without it, callers must discard that provider instance after an initialization failure.

Promise<void>


optional clearKeyPackageState(reference): Promise<void>

Defined in: packages/core/src/group-security-provider.ts:353

Optionally and securely discard one pending KeyPackage after a failed persistence attempt. Without it, callers must discard the provider.

Uint8Array

Promise<void>


createCommit(input): Promise<GroupSecurityCommitResult>

Defined in: packages/core/src/group-security-provider.ts:358

Add/Update packages must authenticate to their matching memberId.

CreateGroupCommitInput

Promise<GroupSecurityCommitResult>


createGroup(input): Promise<GroupSecurityCreateResult>

Defined in: packages/core/src/group-security-provider.ts:355

Create a group and report the credential-authenticated creator identity.

CreateGroupInput

Promise<GroupSecurityCreateResult>


createKeyPackage(input): Promise<GroupKeyPackage>

Defined in: packages/core/src/group-security-provider.ts:321

Create a globally one-time reference bound irreversibly to input.groupId. The same private package must never be exported or consumed for another group, including after provider restart.

CreateKeyPackageInput

Promise<GroupKeyPackage>


exportEncryptedKeyPackage(reference, protector): Promise<EncryptedKeyPackageState>

Defined in: packages/core/src/group-security-provider.ts:340

Export the one-time private state for a previously created KeyPackage. Repeated exports of an unconsumed reference must return a byte-identical envelope, allowing an ambiguous durable-write retry to compare safely.

Uint8Array

GroupStateProtector

Promise<EncryptedKeyPackageState>


exportEncryptedState(protector): Promise<EncryptedGroupState>

Defined in: packages/core/src/group-security-provider.ts:365

GroupStateProtector

Promise<EncryptedGroupState>


exportSecret(input): Promise<Uint8Array<ArrayBufferLike>>

Defined in: packages/core/src/group-security-provider.ts:363

ExportGroupSecretInput

Promise<Uint8Array<ArrayBufferLike>>


getPublicState(): Promise<GroupSecurityPublicState>

Defined in: packages/core/src/group-security-provider.ts:364

Promise<GroupSecurityPublicState>


hasActiveGroup(): Promise<boolean>

Defined in: packages/core/src/group-security-provider.ts:315

Report whether this provider currently owns an active group. This check must be authoritative: lifecycle uncertainty or storage failure must reject rather than report false.

Promise<boolean>


importEncryptedKeyPackage(state, protector): Promise<GroupKeyPackage>

Defined in: packages/core/src/group-security-provider.ts:345

Restore a pending, not-yet-consumed KeyPackage after restart.

EncryptedKeyPackageState

GroupStateProtector

Promise<GroupKeyPackage>


importEncryptedState(state, protector): Promise<GroupSecurityPublicState>

Defined in: packages/core/src/group-security-provider.ts:368

EncryptedGroupState

GroupStateProtector

Promise<GroupSecurityPublicState>


joinGroup(input): Promise<GroupSecurityPublicState>

Defined in: packages/core/src/group-security-provider.ts:356

JoinGroupInput

Promise<GroupSecurityPublicState>