Class MultiTenancyGovernanceOptions
Namespace: Cephalon.MultiTenancy.Governance.Configuration
Assembly: Cephalon.MultiTenancy.Governance.dll
Configures the tenant-governance companion package.
public sealed class MultiTenancyGovernanceOptionsInheritance
Section titled “Inheritance”object ← MultiTenancyGovernanceOptions
Inherited Members
Section titled “Inherited Members”object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()
Remarks
Section titled “Remarks”These options seed the host-owned governance baseline. Installed modules can still contribute additional memberships, invitations, domain ownership descriptors, and governance actions through contributor contracts.
Constructors
Section titled “Constructors”MultiTenancyGovernanceOptions()
Section titled “ MultiTenancyGovernanceOptions()”Initializes a new instance of the
public MultiTenancyGovernanceOptions()Properties
Section titled “Properties”AllowInsecureDomainOwnershipHttpProofCollection
Section titled “ AllowInsecureDomainOwnershipHttpProofCollection”Gets or sets a value indicating whether HTTP proof collection may use non-HTTPS URLs.
public bool AllowInsecureDomainOwnershipHttpProofCollection { get; set; }Property Value
Section titled “Property Value”DomainOwnershipDnsTxtProofCollectionMaxResponseBytes
Section titled “ DomainOwnershipDnsTxtProofCollectionMaxResponseBytes”Gets or sets the maximum response body size, in bytes, accepted by DNS TXT proof collection.
public int DomainOwnershipDnsTxtProofCollectionMaxResponseBytes { get; set; }Property Value
Section titled “Property Value”DomainOwnershipDnsTxtProofCollectionTimeoutSeconds
Section titled “ DomainOwnershipDnsTxtProofCollectionTimeoutSeconds”Gets or sets the default timeout, in seconds, used by DNS TXT proof collection.
public int DomainOwnershipDnsTxtProofCollectionTimeoutSeconds { get; set; }Property Value
Section titled “Property Value”DomainOwnershipDnsTxtProofResolverEndpoint
Section titled “ DomainOwnershipDnsTxtProofResolverEndpoint”Gets or sets the optional DNS-over-HTTPS resolver endpoint used by DNS TXT proof collection.
public Uri? DomainOwnershipDnsTxtProofResolverEndpoint { get; set; }Property Value
Section titled “Property Value”Uri?
Remarks
Section titled “Remarks”When omitted, callers can still provide a per-request resolver endpoint. Cephalon does not use a hidden public resolver by default.
DomainOwnershipHttpProofCollectionMaxResponseBytes
Section titled “ DomainOwnershipHttpProofCollectionMaxResponseBytes”Gets or sets the maximum response body size, in bytes, accepted by HTTP proof collection.
public int DomainOwnershipHttpProofCollectionMaxResponseBytes { get; set; }Property Value
Section titled “Property Value”DomainOwnershipHttpProofCollectionTimeoutSeconds
Section titled “ DomainOwnershipHttpProofCollectionTimeoutSeconds”Gets or sets the default timeout, in seconds, used by HTTP proof collection.
public int DomainOwnershipHttpProofCollectionTimeoutSeconds { get; set; }Property Value
Section titled “Property Value”DomainOwnershipProofBackgroundPollingIntervalSeconds
Section titled “ DomainOwnershipProofBackgroundPollingIntervalSeconds”Gets or sets the proof background polling interval, in seconds.
public int DomainOwnershipProofBackgroundPollingIntervalSeconds { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Values less than one are coerced to the default interval.
DomainOwnershipProofBackgroundPollingRunOnStartup
Section titled “ DomainOwnershipProofBackgroundPollingRunOnStartup”Gets or sets a value indicating whether proof background polling should run once during hosted-service startup.
public bool DomainOwnershipProofBackgroundPollingRunOnStartup { get; set; }Property Value
Section titled “Property Value”DomainOwnershipProofBackgroundPollingSource
Section titled “ DomainOwnershipProofBackgroundPollingSource”Gets or sets the source recorded on proof polling requests created by the background polling hosted service.
public string DomainOwnershipProofBackgroundPollingSource { get; set; }Property Value
Section titled “Property Value”DomainOwnershipProofChallengeDnsTxtRecordPrefix
Section titled “ DomainOwnershipProofChallengeDnsTxtRecordPrefix”Gets or sets the default DNS TXT record prefix used by proof challenge issuance.
public string DomainOwnershipProofChallengeDnsTxtRecordPrefix { get; set; }Property Value
Section titled “Property Value”DomainOwnershipProofChallengeHttpFilePath
Section titled “ DomainOwnershipProofChallengeHttpFilePath”Gets or sets the default HTTP path used by proof challenge issuance.
public string DomainOwnershipProofChallengeHttpFilePath { get; set; }Property Value
Section titled “Property Value”DomainOwnershipProofPollingMaxItems
Section titled “ DomainOwnershipProofPollingMaxItems”Gets or sets the default maximum number of tenant-domain ownership declarations polled in one runner pass.
public int DomainOwnershipProofPollingMaxItems { get; set; }Property Value
Section titled “Property Value”DomainOwnershipStoreFilePath
Section titled “ DomainOwnershipStoreFilePath”Gets or sets the optional JSON file path used for Cephalon-managed durable tenant-domain ownership state.
public string? DomainOwnershipStoreFilePath { get; set; }Property Value
Section titled “Property Value”DomainOwnerships
Section titled “ DomainOwnerships”Gets the host-defined tenant-domain ownership descriptors available to the governance runtime.
public IList<TenantDomainOwnershipDescriptor> DomainOwnerships { get; }Property Value
Section titled “Property Value”IList<TenantDomainOwnershipDescriptor>
EnableDomainOwnershipDnsTxtProofCollection
Section titled “ EnableDomainOwnershipDnsTxtProofCollection”Gets or sets a value indicating whether the built-in tenant-domain ownership DNS TXT proof collector is active.
public bool EnableDomainOwnershipDnsTxtProofCollection { get; set; }Property Value
Section titled “Property Value”EnableDomainOwnershipHttpProofCollection
Section titled “ EnableDomainOwnershipHttpProofCollection”Gets or sets a value indicating whether the built-in tenant-domain ownership HTTP proof collector is active.
public bool EnableDomainOwnershipHttpProofCollection { get; set; }Property Value
Section titled “Property Value”EnableDomainOwnershipHttpProofPublication
Section titled “ EnableDomainOwnershipHttpProofPublication”Gets or sets a value indicating whether the built-in tenant-domain ownership HTTP proof publisher is active.
public bool EnableDomainOwnershipHttpProofPublication { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”The governance package materializes and records HTTP proof-file publication state. It does not map an ASP.NET Core endpoint by itself; HTTP serving stays in the ASP.NET Core adapter so the core package remains host-agnostic. DNS records and provider control-plane mutations remain outside this option.
EnableDomainOwnershipProofBackgroundPolling
Section titled “ EnableDomainOwnershipProofBackgroundPolling”Gets or sets a value indicating whether the built-in tenant-domain ownership proof polling hosted service is active.
public bool EnableDomainOwnershipProofBackgroundPolling { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”This option is disabled by default so installing the governance package never starts recurring HTTP or DNS proof checks without an explicit host decision. When enabled, the hosted service schedules the bounded proof polling runner; it still does not publish DNS records, host HTTP proof files, or mutate provider control planes.
EnableDomainOwnershipProofChallengeIssuance
Section titled “ EnableDomainOwnershipProofChallengeIssuance”Gets or sets a value indicating whether the built-in tenant-domain ownership proof challenge issuer is active.
public bool EnableDomainOwnershipProofChallengeIssuance { get; set; }Property Value
Section titled “Property Value”EnableDomainOwnershipProofEvaluation
Section titled “ EnableDomainOwnershipProofEvaluation”Gets or sets a value indicating whether the built-in tenant-domain ownership proof evaluator is active.
public bool EnableDomainOwnershipProofEvaluation { get; set; }Property Value
Section titled “Property Value”EnableDomainOwnershipProofPollingRunner
Section titled “ EnableDomainOwnershipProofPollingRunner”Gets or sets a value indicating whether the built-in bounded tenant-domain ownership proof polling runner is active.
public bool EnableDomainOwnershipProofPollingRunner { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”The polling runner owns one on-demand scan over pending or rejected declarations and delegates each attempt to the proof verification runner. It does not schedule background polling or publish DNS/HTTP proof values.
EnableDomainOwnershipProofPublicationPlanning
Section titled “ EnableDomainOwnershipProofPublicationPlanning”Gets or sets a value indicating whether the built-in tenant-domain ownership proof publication planner is active.
public bool EnableDomainOwnershipProofPublicationPlanning { get; set; }Property Value
Section titled “Property Value”EnableDomainOwnershipProofVerificationRunner
Section titled “ EnableDomainOwnershipProofVerificationRunner”Gets or sets a value indicating whether the built-in tenant-domain ownership proof verification runner is active.
public bool EnableDomainOwnershipProofVerificationRunner { get; set; }Property Value
Section titled “Property Value”EnableDomainOwnershipValidation
Section titled “ EnableDomainOwnershipValidation”Gets or sets a value indicating whether the built-in tenant-domain ownership validator is active.
public bool EnableDomainOwnershipValidation { get; set; }Property Value
Section titled “Property Value”EnableDomainOwnershipVerificationWorkflow
Section titled “ EnableDomainOwnershipVerificationWorkflow”Gets or sets a value indicating whether the built-in tenant-domain ownership verification workflow executor is active.
public bool EnableDomainOwnershipVerificationWorkflow { get; set; }Property Value
Section titled “Property Value”EnableGovernanceActionDecision
Section titled “ EnableGovernanceActionDecision”Gets or sets a value indicating whether the built-in tenant-governance action decider is active.
public bool EnableGovernanceActionDecision { get; set; }Property Value
Section titled “Property Value”EnableGovernanceActionWorkflow
Section titled “ EnableGovernanceActionWorkflow”Gets or sets a value indicating whether the built-in tenant-governance action workflow executor is active.
public bool EnableGovernanceActionWorkflow { get; set; }Property Value
Section titled “Property Value”EnableInvitationDeliveryDispatch
Section titled “ EnableInvitationDeliveryDispatch”Gets or sets a value indicating whether the built-in invitation delivery dispatcher is active.
public bool EnableInvitationDeliveryDispatch { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”The dispatcher owns invitation lookup, pending/expiry checks, runtime reporting, and outcome persistence. It
requires a registered
EnableInvitationDeliveryRetryBackgroundScheduling
Section titled “ EnableInvitationDeliveryRetryBackgroundScheduling”Gets or sets a value indicating whether the built-in invitation delivery retry hosted service is active.
public bool EnableInvitationDeliveryRetryBackgroundScheduling { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”This option is disabled by default so installing the governance package never starts recurring delivery attempts without an explicit host decision. When enabled, the hosted service schedules the bounded retry runner; it still does not provide distributed queues, cross-node leases, exactly-once delivery, or provider-specific senders.
EnableInvitationDeliveryRetryExecutionCoordination
Section titled “ EnableInvitationDeliveryRetryExecutionCoordination”Gets or sets a value indicating whether concurrent invitation delivery retry runner passes are coordinated in-process.
public bool EnableInvitationDeliveryRetryExecutionCoordination { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Process-local coordination prevents overlapping manual and background retry passes inside the same host process. It does not provide distributed queues, cross-node leases, or exactly-once delivery across multiple running nodes.
EnableInvitationDeliveryRetryQueue
Section titled “ EnableInvitationDeliveryRetryQueue”Gets or sets a value indicating whether sender-failed invitation delivery attempts are queued for explicit retry.
public bool EnableInvitationDeliveryRetryQueue { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”This queue is enabled deliberately because it can cause later delivery attempts. It stores retry intent and exposes a bounded manual runner; it does not start background delivery unless retry background scheduling is explicitly enabled, provide distributed leases, or guarantee exactly-once delivery.
EnableInvitationDeliveryStatusObservationStore
Section titled “ EnableInvitationDeliveryStatusObservationStore”Gets or sets a value indicating whether delivery status reconciliation observations are recorded.
public bool EnableInvitationDeliveryStatusObservationStore { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Observation storage records normalized reconciliation outcomes for audit and operator review. It does not provide provider-specific callback translation, provider polling, cross-node replay protection, or distributed exactly-once delivery.
EnableInvitationDeliveryStatusReconciliation
Section titled “ EnableInvitationDeliveryStatusReconciliation”Gets or sets a value indicating whether the built-in invitation delivery status reconciler is active.
public bool EnableInvitationDeliveryStatusReconciliation { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”The reconciler owns host-agnostic status matching, metadata normalization, and persistence after a provider or receiver reports delivery status. It does not map webhooks or poll provider APIs by itself.
EnableInvitationValidation
Section titled “ EnableInvitationValidation”Gets or sets a value indicating whether the built-in invitation validator is active.
public bool EnableInvitationValidation { get; set; }Property Value
Section titled “Property Value”EnableMembershipEvaluation
Section titled “ EnableMembershipEvaluation”Gets or sets a value indicating whether the built-in membership evaluator is active.
public bool EnableMembershipEvaluation { get; set; }Property Value
Section titled “Property Value”EnableTenantAdministrationWorkflow
Section titled “ EnableTenantAdministrationWorkflow”Gets or sets a value indicating whether the built-in tenant-administration workflow executor is active.
public bool EnableTenantAdministrationWorkflow { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”The workflow mutates Cephalon-managed membership and invitation stores through explicit host-driven commands. It does not provide public onboarding screens, tenant-admin HTTP endpoints, provider-specific delivery senders, or identity-provider sync.
GovernanceActionStoreFilePath
Section titled “ GovernanceActionStoreFilePath”Gets or sets the optional JSON file path used for Cephalon-managed durable governance-action workflow state.
public string? GovernanceActionStoreFilePath { get; set; }Property Value
Section titled “Property Value”GovernanceActions
Section titled “ GovernanceActions”Gets the host-defined approval and remediation actions available to the governance runtime.
public IList<TenantGovernanceActionDescriptor> GovernanceActions { get; }Property Value
Section titled “Property Value”IList<TenantGovernanceActionDescriptor>
InvitationDeliveryRetryBackgroundIntervalSeconds
Section titled “ InvitationDeliveryRetryBackgroundIntervalSeconds”Gets or sets the invitation delivery retry background scheduling interval, in seconds.
public int InvitationDeliveryRetryBackgroundIntervalSeconds { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Values less than one are coerced to the default interval.
InvitationDeliveryRetryBackgroundRunOnStartup
Section titled “ InvitationDeliveryRetryBackgroundRunOnStartup”Gets or sets a value indicating whether invitation delivery retry background scheduling should run once during hosted-service startup.
public bool InvitationDeliveryRetryBackgroundRunOnStartup { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryRetryBackgroundSource
Section titled “ InvitationDeliveryRetryBackgroundSource”Gets or sets the source recorded on retry requests created by the background retry hosted service.
public string InvitationDeliveryRetryBackgroundSource { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryRetryDelaySeconds
Section titled “ InvitationDeliveryRetryDelaySeconds”Gets or sets the delay, in seconds, before a failed retry entry is due again.
public int InvitationDeliveryRetryDelaySeconds { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryRetryMaxAttempts
Section titled “ InvitationDeliveryRetryMaxAttempts”Gets or sets the maximum dispatch attempts retained for one retry entry, including the original failed attempt.
public int InvitationDeliveryRetryMaxAttempts { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryRetryMaxItems
Section titled “ InvitationDeliveryRetryMaxItems”Gets or sets the default maximum number of retry entries attempted by one retry runner pass.
public int InvitationDeliveryRetryMaxItems { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryRetryQueueFilePath
Section titled “ InvitationDeliveryRetryQueueFilePath”Gets or sets the optional JSON file path used for Cephalon-managed durable invitation delivery retry entries.
public string? InvitationDeliveryRetryQueueFilePath { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryRunHistoryLimit
Section titled “ InvitationDeliveryRunHistoryLimit”Gets or sets the maximum number of invitation delivery dispatch attempts retained in the runtime catalog.
public int InvitationDeliveryRunHistoryLimit { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryStatusObservationHistoryLimit
Section titled “ InvitationDeliveryStatusObservationHistoryLimit”Gets or sets the maximum number of delivery status observations retained by the built-in observation store.
public int InvitationDeliveryStatusObservationHistoryLimit { get; set; }Property Value
Section titled “Property Value”InvitationDeliveryStatusObservationStoreFilePath
Section titled “ InvitationDeliveryStatusObservationStoreFilePath”Gets or sets the optional JSON file path used for Cephalon-managed durable delivery status observations.
public string? InvitationDeliveryStatusObservationStoreFilePath { get; set; }Property Value
Section titled “Property Value”InvitationStoreFilePath
Section titled “ InvitationStoreFilePath”Gets or sets the optional JSON file path used for Cephalon-managed durable tenant-invitation state.
public string? InvitationStoreFilePath { get; set; }Property Value
Section titled “Property Value”Invitations
Section titled “ Invitations”Gets the host-defined tenant invitations available to the governance runtime.
public IList<TenantInvitationDescriptor> Invitations { get; }Property Value
Section titled “Property Value”IList<TenantInvitationDescriptor>
MembershipStoreFilePath
Section titled “ MembershipStoreFilePath”Gets or sets the optional JSON file path used for Cephalon-managed durable tenant-membership state.
public string? MembershipStoreFilePath { get; set; }Property Value
Section titled “Property Value”Memberships
Section titled “ Memberships”Gets the host-defined tenant memberships available to the governance runtime.
public IList<TenantMembershipDescriptor> Memberships { get; }