Table of Contents

Class SocureSettings

Namespace
SEBT.Portal.Core.AppSettings
Assembly
SEBT.Portal.Core.dll

Configuration for the Socure identity verification integration. In non-Development environments, WebhookSecret is required at startup.

public class SocureSettings : IHaveConfigSectionName
Inheritance
object
SocureSettings
Implements

Properties

ApiKey

Socure API key for authenticating backend requests.

public string? ApiKey { get; set; }

Property Value

string

ApiVersion

Socure API version header value.

public string ApiVersion { get; set; }

Property Value

string

BaseUrl

Base URL for the Socure API (sandbox or production).

public string BaseUrl { get; set; }

Property Value

string

ChallengeExpirationMinutes

How long a challenge remains valid before expiring, in minutes.

[Range(1, 1440, ErrorMessage = "ChallengeExpirationMinutes must be between 1 and 1440.")]
public int ChallengeExpirationMinutes { get; set; }

Property Value

int

DiSessionToken

Device Intelligence session token to include in evaluation requests. In sandbox, any value works (e.g., "ABC"). In production, this should come from the Socure DI SDK on the frontend (not yet integrated).

public string? DiSessionToken { get; set; }

Property Value

string

DocvEgregiousReasonCooldown

Legacy configuration key from the DC-475 cooldown iteration. When DocvEgregiousReasonRejection is not enabled, values from this section are merged at startup validation. Prefer DocvEgregiousReasonRejection in new config.

public SocureDocvEgregiousReasonRejectionSettings? DocvEgregiousReasonCooldown { get; set; }

Property Value

SocureDocvEgregiousReasonRejectionSettings

DocvEgregiousReasonRejection

Immediate-rejection policy for known egregious Socure DocV reason codes. Disabled by default; DC enables this in appsettings.dc.json.

public SocureDocvEgregiousReasonRejectionSettings DocvEgregiousReasonRejection { get; set; }

Property Value

SocureDocvEgregiousReasonRejectionSettings

DocvEnrichmentName

Identifier used to locate the DocV enrichment in the evaluation response. Matched against the enrichment_provider field — not enrichment_name, which varies by workflow (e.g. "Socure Document Request - Default Flow" in sandbox).

public string DocvEnrichmentName { get; set; }

Property Value

string

DocvStepupWorkflow

Socure workflow name for DocV step-up retries (DC-301). Used when a user clicks "try again" from a Resubmit prompt. The step-up workflow only emits ACCEPT/REJECT, so retries are structurally capped at one attempt.

public string DocvStepupWorkflow { get; set; }

Property Value

string

DocvTransactionTokenTtlMinutes

How long a Socure DocV transaction token is treated as valid after issuance, in minutes. When exceeded, StartChallenge runs a new evaluation to obtain a fresh token for the same user.

[Range(1, 120, ErrorMessage = "DocvTransactionTokenTtlMinutes must be between 1 and 120.")]
public int DocvTransactionTokenTtlMinutes { get; set; }

Property Value

int

Enabled

When false, Socure integration is disabled entirely — validation is skipped and a no-op client is registered. States that don't use Socure leave this false.

public bool Enabled { get; set; }

Property Value

bool

SandboxPhoneOverride

When set, overrides the user's phone number in Socure evaluation requests. Use this in sandbox to receive DocV SMS links on a real phone without storing personal phone numbers in the database. Leave null in production.

public string? SandboxPhoneOverride { get; set; }

Property Value

string

SectionName

public static string SectionName { get; }

Property Value

string

UseStub

When true, uses the StubSocureClient instead of the real HTTP client. Automatically true in Development when no API key is configured.

public bool UseStub { get; set; }

Property Value

bool

WebhookSecret

Secret used to validate incoming webhook signatures. Required in non-Development environments.

public string? WebhookSecret { get; set; }

Property Value

string

Workflow

Socure workflow name for evaluation requests. Configurable per environment — may differ between sandbox and production.

public string Workflow { get; set; }

Property Value

string