Table of Contents

Class UserEntity

Namespace
SEBT.Portal.Infrastructure.Data.Entities
Assembly
SEBT.Portal.Infrastructure.dll

Entity model for tracking user IAL level.

public class UserEntity
Inheritance
object
UserEntity

Properties

CoLoadedLastUpdated

The date and time when the co-loaded status was last updated from the source system.

public DateTime? CoLoadedLastUpdated { get; set; }

Property Value

DateTime?

CreatedAt

The date and time when the user was first created.

public DateTime CreatedAt { get; set; }

Property Value

DateTime

DateOfBirth

Encrypted yyyy-MM-dd payload (or transitional ISO plaintext during migration/backfill).

public string? DateOfBirth { get; set; }

Property Value

string

Email

AES-GCM ciphertext for the canonical (lowercase) email. Equality lookup uses EmailHash.

public string? Email { get; set; }

Property Value

string

EmailHash

HMAC-derived lookup fingerprint for canonical email equality in SQL.

public string? EmailHash { get; set; }

Property Value

string

ExternalProviderId

The subject identifier from the external identity provider (e.g., PingOne sub claim). Null for OTP-authenticated users.

public string? ExternalProviderId { get; set; }

Property Value

string

IalLevel

The Identity Assurance Level (IAL) this user has achieved. Stored as int for enum valid values: 0 = None, 1 = IAL1, 2 = IAL1plus, 3 = IAL2

public int IalLevel { get; set; }

Property Value

int

Id

The unique identifier for the user (primary key).

public Guid Id { get; set; }

Property Value

Guid

IdProofingAttemptCount

Number of times this user has submitted ID proofing to Socure.

public int IdProofingAttemptCount { get; set; }

Property Value

int

IdProofingCompletedAt

The date and time when ID proofing was completed.

public DateTime? IdProofingCompletedAt { get; set; }

Property Value

DateTime?

IdProofingSessionId

The session ID from the ID proofing provider (e.g., Socure).

public string? IdProofingSessionId { get; set; }

Property Value

string

IdProofingStatus

Workflow state of ID proofing (NotStarted, InProgress, Completed, Failed, Expired)

public int IdProofingStatus { get; set; }

Property Value

int

IsCoLoaded

Indicates whether the user's record was co-loaded from an external system. This value is populated from external systems via batch processes or database queries.

public bool IsCoLoaded { get; set; }

Property Value

bool

Phone

Phone number when used as household identifier.

public string? Phone { get; set; }

Property Value

string

SnapId

SNAP case/client ID when used as household identifier.

public string? SnapId { get; set; }

Property Value

string

Ssn

SSN or last-4 when used as household identifier (per state policy).

public string? Ssn { get; set; }

Property Value

string

TanfId

TANF case/client ID when used as household identifier.

public string? TanfId { get; set; }

Property Value

string

UpdatedAt

The date and time when the user record was last updated.

public DateTime UpdatedAt { get; set; }

Property Value

DateTime