Skip to content

UserVerificationStatus

Defined in: src/crypto-api/index.ts:869

Represents the ways in which we trust a user

readonly known: boolean

Defined in: src/crypto-api/index.ts:887

Indicates if we have saved a known identity for this user. Typically, this means that we share a room with them (or have done in the past).

If this is false, then the other flags (isCrossSigningVerified, wasCrossSigningVerified, needsUserApproval) will also be false. This means that we haven’t seen this user before.

If this is true, then there are further possibilities:

  • If isCrossSigningVerified returns true, then we have cryptographically verified the current identity of this user: that is the highest form of trust we have.

  • If needsUserApproval is true, that means that the user has changed their identity.

  • Otherwise, the user is “TOFU trusted”: we have a record of their identity, and, typically, will share encrypted content with them as long as they retain that identity.


readonly needsUserApproval: boolean

Defined in: src/crypto-api/index.ts:902

Indicates if the identity has changed in a way that needs user approval.

This happens if the identity has changed since we first saw it, unless the new identity has also been verified by our user (eg via an interactive verification).

To rectify this, either:

true if the identity has changed in a way that needs user approval.

isCrossSigningVerified(): boolean

Defined in: src/crypto-api/index.ts:925

boolean

true if this user is verified via cross signing


isTofu(): boolean

Defined in: src/crypto-api/index.ts:942

boolean

true if this user’s key is trusted on first use


isVerified(): boolean

Defined in: src/crypto-api/index.ts:918

boolean

true if this user is verified via any means


wasCrossSigningVerified(): boolean

Defined in: src/crypto-api/index.ts:933

boolean

true if we ever verified this user before (at least for the history of verifications observed by this device).